diff options
904 files changed, 166568 insertions, 0 deletions
diff --git a/cpp/DESIGN b/cpp/DESIGN new file mode 100644 index 0000000000..476fd42bfa --- /dev/null +++ b/cpp/DESIGN @@ -0,0 +1,89 @@ +Qpid C++ AMQP implementation +============================= + +The following is a brief description of the logical design of the +Qpid C++ code. + +Layout + +There are three top level modules. The first two, client and broker, +containi the code required for an AMQP client and an AMQP broker +respectively. The third, common, contains code that is common to both +client and broker implementations. [Note that at present only the +client has been started]. + +Within the common module there are currently four sub-modules. The +largest of these is framing, containing the definitions of classes +corresponding to key AMQP concepts such as frames, content & header +bodies, particular method bodies etc as well as some interfaces and +utilities used in the encoding and decoding of the wire protocol. + +Two of the other sub-modules in common, io and concurrent, provide +abstractions of core io and concurrency constructs used in the client +and broker code. The intention is to allow these to be implemented in +different ways.interaction with the wire protocol. At present the +implementation of the io and concurrency abstractions is based on APR +(Apache Portable Runtime). [Note: the io module currently only +contains the abstractions as seen from the client - the Connector. It +will in due time likely have the analogous broker-side abstraction - +the Acceptor]. + +The final common sub-module is error, containing a simple exception +definition used in all the error handling. + +Client Design + +The client module is primarily concerned with presenting the +functionality offered by AMQP to users through a simple API that +nevertheless allows all the protocol functionality to be exploited. +[Note: it is currently nothing like complete in this regard!] + +The code in the client module is concerned with the logic of the AMQP +protocol and interacts with the lower level transport issues through +the InputHandler and OutputHandler abstractions defined in +common/framing. It uses these in conjunction with the Connector +interface, defined in common/io, for establishing a connection to the +broker and interacting with it through the sending and receiving of +messages represented by AMQFrame (defined in common/framing). + +The Connector implementation is responsible for connection set up, +threading strategy and getting data on and off the wire. It delegates +to the framing module for encode/decode operations. The interface +between the io and the framing modules is primarily through the Buffer +and AMQFrame classes. + +A Buffer allows 'raw' data to be read or written in terms of the AMQP +defined 'types' (octet, short, long, long long, short string, long +string, field table etc.). AMQP is defined in terms frames with +specific bodies and the frame (as well as these different bodies) are +defined in terms of these 'types'. The AMQFrame class allows a frame +to be decoded by reading from the supplied buffer, or it allows a +particular frame to be constructed and then encoded by writing to the +supplied buffer. The io layer can then access the raw data that +'backs' the buffer to either out it on the wire or to populate it from +the wire. + +One minor exception to this is the protocol initiation. AMQP defines +a protocol 'header', that is not a frame, and is sent by a client to +intiate a connection. The Connector allows (indeed requires) such a +frame to be passed in to initialise the connection (the Acceptor, when +defined, will allow an InitiationHandler to be set allowing the broker +to hook into the connection initiation). In order to remove +duplication, the ProtocolInitiation class and the AMQFrame class both +implement a AMQDataBlock class that defines the encode and decode +methods. This allows both types to be treated generically for the +purposes of encoding. In decoding, the context determines which type +is expected and should be used for decoding (this is only relevant to +the broker). + + + + + --------api-------- + Client Impl ...............uses..... +input handler --> --------- --------- <-- output handler . + A | . + | | framing utils + | V . + ------------------- <-- connector . + IO Layer ................uses.... diff --git a/cpp/Makefile b/cpp/Makefile new file mode 100644 index 0000000000..7f83847b04 --- /dev/null +++ b/cpp/Makefile @@ -0,0 +1,53 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# Master make file for c++ Qpid project (AMQP) +# +# Calls the makefiles in the various subdirectories in order to +# build them in the correct sequence. +# + +include options.mk + +UNITTESTS=$(wildcard common/*/test/*.so broker/test/*.so) + +.PHONY: all clean doxygen + +test: all + @$(MAKE) -C common test + @$(MAKE) -C broker test + @$(MAKE) -C client test + @$(MAKE) runtests + +runtests: + $(CPPUNIT_HOME)/bin/DllPlugInTester -t -b $(UNITTESTS) + bin/qpidd >> qpidd.log & + cd ../python ; ./run-tests -v -I cpp_failing.txt + +all: + @$(MAKE) -C common all + @$(MAKE) -C broker all + @$(MAKE) -C client all + +clean: + @$(MAKE) -C common clean + @$(MAKE) -C broker clean + @$(MAKE) -C client clean + @$(MAKE) -C doxygen clean + -@rm qpidd.log + +doxygen: + @$(MAKE) -C doxygen all diff --git a/cpp/README b/cpp/README new file mode 100644 index 0000000000..427a0c15c8 --- /dev/null +++ b/cpp/README @@ -0,0 +1,48 @@ += Developer guide to C++ codebase = + +== Prerequisites == + +Apache Portable Runtime 1.2.7: http://apr.apache.org/ +Install in /usr/local/apr or update options.mk if installed elsewhere. + +CppUnit: http://cppunit.sourceforge.net + +Optional: to generate source code documentation you need: + * doxygen: http://sourceforge.net/projects/doxygen/ + * graphviz - http://www.graphviz.org/ + +== Build and test == + +make + +Default target builds and tests everything, see Makefile for other +targets. + +=== Unit tests === +Unit tests are built as .so files containing CppUnit plugins. + +DllPlugInTester is provided as part of cppunit. You can use it to run +any subset of the unit tests. See Makefile for examples. + +=== System tests === + +The Python test suite ../python/run_tests is the main set of broker +system tests. + +There are some C++ client test executables built under client/test. + +== Doxygen == + +Doxygen generates documentation in several formats from source code +using special comments. You can use javadoc style comments if you know +javadoc, if you don't or want to know the fully story on doxygen +markup see http://www.stack.nl/~dimitri/doxygen/ + +Even even if the code is completely uncommented, doxygen generates +UML-esque dependency diagrams that are ''extremely'' useful in navigating +around the code, especially for newcomers. + +To try it out "make doxygen" then open doxygen/html/index.html + + + diff --git a/cpp/broker/Makefile b/cpp/broker/Makefile new file mode 100644 index 0000000000..58ba3a41b5 --- /dev/null +++ b/cpp/broker/Makefile @@ -0,0 +1,47 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Build broker library and executable. +# + +QPID_HOME = ../.. +include ${QPID_HOME}/cpp/options.mk + +SOURCES= $(wildcard src/*.cpp) +OBJECTS= $(subst .cpp,.o,$(SOURCES)) +LIB_OBJECTS= $(subst src/Broker.o,,$(OBJECTS)) +EXE_OBJECTS= src/Broker.o + + +.PHONY: all clean test + +all: $(BROKER) + +test: + @$(MAKE) -C test all + +clean: + -@rm -f ${OBJECTS} src/*.d ${BROKER} $(BROKER_LIB) + @$(MAKE) -C test clean + +$(BROKER): $(BROKER_LIB) $(EXE_OBJECTS) + ${CXX} -o $@ $(EXE_OBJECTS) $(LDFLAGS) -lapr-1 $(COMMON_LIB) $(BROKER_LIB) + +$(BROKER_LIB): $(LIB_OBJECTS) + $(CXX) -shared -o $@ $(LDFLAGS) $(LIB_OBJECTS) -lapr-1 $(COMMON_LIB) $(LIBDIR) + +-include $(SOURCES:.cpp=.d) diff --git a/cpp/broker/inc/AutoDelete.h b/cpp/broker/inc/AutoDelete.h new file mode 100644 index 0000000000..864d68358f --- /dev/null +++ b/cpp/broker/inc/AutoDelete.h @@ -0,0 +1,54 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _AutoDelete_ +#define _AutoDelete_ + +#include <iostream> +#include <queue> +#include "MonitorImpl.h" +#include "Queue.h" +#include "QueueRegistry.h" +#include "ThreadFactoryImpl.h" + +namespace qpid { + namespace broker{ + class AutoDelete : private virtual qpid::concurrent::Runnable{ + qpid::concurrent::ThreadFactoryImpl factory; + qpid::concurrent::MonitorImpl lock; + qpid::concurrent::MonitorImpl monitor; + std::queue<Queue::shared_ptr> queues; + QueueRegistry* const registry; + const u_int32_t period; + volatile bool stopped; + qpid::concurrent::Thread* runner; + + Queue::shared_ptr const pop(); + void process(); + virtual void run(); + + public: + AutoDelete(QueueRegistry* const registry, u_int32_t period); + void add(Queue::shared_ptr const); + void start(); + void stop(); + }; + } +} + + +#endif diff --git a/cpp/broker/inc/Binding.h b/cpp/broker/inc/Binding.h new file mode 100644 index 0000000000..b11419e92c --- /dev/null +++ b/cpp/broker/inc/Binding.h @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Binding_ +#define _Binding_ + +#include "FieldTable.h" + +namespace qpid { + namespace broker { + class Binding{ + public: + virtual void cancel() = 0; + virtual ~Binding(){} + }; + } +} + + +#endif + diff --git a/cpp/broker/inc/Channel.h b/cpp/broker/inc/Channel.h new file mode 100644 index 0000000000..aaf2ce569b --- /dev/null +++ b/cpp/broker/inc/Channel.h @@ -0,0 +1,87 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Channel_ +#define _Channel_ + +#include <map> +#include "AMQContentBody.h" +#include "AMQHeaderBody.h" +#include "BasicPublishBody.h" +#include "Binding.h" +#include "Consumer.h" +#include "Message.h" +#include "MonitorImpl.h" +#include "NameGenerator.h" +#include "OutputHandler.h" +#include "Queue.h" + +namespace qpid { + namespace broker { + class Channel{ + private: + class ConsumerImpl : public virtual Consumer{ + ConnectionToken* const connection; + Channel* parent; + string tag; + Queue::shared_ptr queue; + public: + ConsumerImpl(Channel* parent, string& tag, Queue::shared_ptr queue, ConnectionToken* const connection); + virtual bool deliver(Message::shared_ptr& msg); + void cancel(); + }; + + typedef std::map<string,ConsumerImpl*>::iterator consumer_iterator; + + const int id; + qpid::framing::OutputHandler* out; + u_int64_t deliveryTag; + Queue::shared_ptr defaultQueue; + bool transactional; + std::map<string, ConsumerImpl*> consumers; + u_int32_t prefetchSize; + u_int16_t prefetchCount; + u_int32_t framesize; + Message::shared_ptr message; + NameGenerator tagGenerator; + + void deliver(Message::shared_ptr& msg, string& tag); + void publish(ExchangeRegistry* exchanges); + + public: + Channel(qpid::framing::OutputHandler* out, int id, u_int32_t framesize); + ~Channel(); + inline void setDefaultQueue(Queue::shared_ptr queue){ defaultQueue = queue; } + inline Queue::shared_ptr getDefaultQueue(){ return defaultQueue; } + inline u_int32_t setPrefetchSize(u_int32_t size){ prefetchSize = size; } + inline u_int16_t setPrefetchCount(u_int16_t count){ prefetchCount = count; } + void handlePublish(Message* msg); + void handleHeader(qpid::framing::AMQHeaderBody::shared_ptr header, ExchangeRegistry* exchanges); + void handleContent(qpid::framing::AMQContentBody::shared_ptr content, ExchangeRegistry* exchanges); + bool exists(string& consumerTag); + void consume(string& tag, Queue::shared_ptr queue, bool acks, bool exclusive, ConnectionToken* const connection = 0); + void cancel(string& tag); + void begin(); + void close(); + void commit(); + void rollback(); + }; + } +} + + +#endif diff --git a/cpp/broker/inc/Configuration.h b/cpp/broker/inc/Configuration.h new file mode 100644 index 0000000000..5ec70a839b --- /dev/null +++ b/cpp/broker/inc/Configuration.h @@ -0,0 +1,125 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Configuration_ +#define _Configuration_ + +#include <cstdlib> +#include <iostream> +#include <vector> + +namespace qpid { + namespace broker { + class Configuration{ + class Option{ + const std::string flag; + const std::string name; + const std::string desc; + + bool match(const std::string& arg); + + protected: + virtual bool needsValue() const = 0; + virtual void setValue(const std::string& value) = 0; + + public: + Option(const char flag, const std::string& name, const std::string& desc); + Option(const std::string& name, const std::string& desc); + virtual ~Option(); + + bool parse(int& i, char** argv, int argc); + void print(std::ostream& out) const; + }; + + class IntOption : public Option{ + const int defaultValue; + int value; + public: + IntOption(char flag, const std::string& name, const std::string& desc, const int value = 0); + IntOption(const std::string& name, const std::string& desc, const int value = 0); + virtual ~IntOption(); + + int getValue() const; + virtual bool needsValue() const; + virtual void setValue(const std::string& value); + }; + + class StringOption : public Option{ + const std::string defaultValue; + std::string value; + public: + StringOption(char flag, const std::string& name, const std::string& desc, const std::string value = ""); + StringOption(const std::string& name, const std::string& desc, const std::string value = ""); + virtual ~StringOption(); + + const std::string& getValue() const; + virtual bool needsValue() const; + virtual void setValue(const std::string& value); + }; + + class BoolOption : public Option{ + const bool defaultValue; + bool value; + public: + BoolOption(char flag, const std::string& name, const std::string& desc, const bool value = 0); + BoolOption(const std::string& name, const std::string& desc, const bool value = 0); + virtual ~BoolOption(); + + bool getValue() const; + virtual bool needsValue() const; + virtual void setValue(const std::string& value); + }; + + BoolOption trace; + IntOption port; + IntOption workerThreads; + IntOption maxConnections; + IntOption connectionBacklog; + StringOption acceptor; + BoolOption help; + + typedef std::vector<Option*>::iterator op_iterator; + std::vector<Option*> options; + + public: + class ParseException{ + public: + const std::string& error; + ParseException(const std::string& _error) : error(_error) {} + }; + + + Configuration(); + ~Configuration(); + + void parse(int argc, char** argv); + + bool isHelp(); + bool isTrace(); + int getPort(); + int getWorkerThreads(); + int getMaxConnections(); + int getConnectionBacklog(); + const std::string& getAcceptor(); + + void usage(); + }; + } +} + + +#endif diff --git a/cpp/broker/inc/ConnectionToken.h b/cpp/broker/inc/ConnectionToken.h new file mode 100644 index 0000000000..1faefec2cc --- /dev/null +++ b/cpp/broker/inc/ConnectionToken.h @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _ConnectionToken_ +#define _ConnectionToken_ + +namespace qpid { + namespace broker { + /** + * An empty interface allowing opaque implementations of some + * form of token to identify a connection. + */ + class ConnectionToken{ + public: + virtual ~ConnectionToken(){} + }; + } +} + + +#endif diff --git a/cpp/broker/inc/Consumer.h b/cpp/broker/inc/Consumer.h new file mode 100644 index 0000000000..af2d5d7812 --- /dev/null +++ b/cpp/broker/inc/Consumer.h @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Consumer_ +#define _Consumer_ + +#include "Message.h" + +namespace qpid { + namespace broker { + class Consumer{ + public: + virtual bool deliver(Message::shared_ptr& msg) = 0; + virtual ~Consumer(){} + }; + } +} + + +#endif diff --git a/cpp/broker/inc/DirectExchange.h b/cpp/broker/inc/DirectExchange.h new file mode 100644 index 0000000000..bf8c5f0b37 --- /dev/null +++ b/cpp/broker/inc/DirectExchange.h @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _DirectExchange_ +#define _DirectExchange_ + +#include <map> +#include <vector> +#include "Exchange.h" +#include "FieldTable.h" +#include "Message.h" +#include "MonitorImpl.h" +#include "Queue.h" + +namespace qpid { +namespace broker { + class DirectExchange : public virtual Exchange{ + const string name; + std::map<string, std::vector<Queue::shared_ptr> > bindings; + qpid::concurrent::MonitorImpl lock; + + public: + static const std::string typeName; + + DirectExchange(const string& name); + + inline virtual const string& getName(){ return name; } + + virtual void bind(Queue::shared_ptr queue, const string& routingKey, qpid::framing::FieldTable* args); + + virtual void unbind(Queue::shared_ptr queue, const string& routingKey, qpid::framing::FieldTable* args); + + virtual void route(Message::shared_ptr& msg, const string& routingKey, qpid::framing::FieldTable* args); + + virtual ~DirectExchange(); + }; +} +} + + +#endif diff --git a/cpp/broker/inc/Exchange.h b/cpp/broker/inc/Exchange.h new file mode 100644 index 0000000000..5f5dc5ce71 --- /dev/null +++ b/cpp/broker/inc/Exchange.h @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Exchange_ +#define _Exchange_ + +#include "FieldTable.h" +#include "Message.h" +#include "Queue.h" + +namespace qpid { +namespace broker { + class Exchange{ + public: + virtual const string& getName() = 0; + virtual void bind(Queue::shared_ptr queue, const string& routingKey, qpid::framing::FieldTable* args) = 0; + virtual void unbind(Queue::shared_ptr queue, const string& routingKey, qpid::framing::FieldTable* args) = 0; + virtual void route(Message::shared_ptr& msg, const string& routingKey, qpid::framing::FieldTable* args) = 0; + virtual ~Exchange(){} + }; +} +} + + +#endif diff --git a/cpp/broker/inc/ExchangeBinding.h b/cpp/broker/inc/ExchangeBinding.h new file mode 100644 index 0000000000..4cbb73acbf --- /dev/null +++ b/cpp/broker/inc/ExchangeBinding.h @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _ExchangeBinding_ +#define _ExchangeBinding_ + +#include "Binding.h" +#include "FieldTable.h" +#include "Queue.h" + +namespace qpid { + namespace broker { + class Exchange; + class Queue; + + class ExchangeBinding : public virtual Binding{ + Exchange* e; + Queue::shared_ptr q; + const string key; + qpid::framing::FieldTable* args; + public: + ExchangeBinding(Exchange* _e, Queue::shared_ptr _q, const string& _key, qpid::framing::FieldTable* _args); + virtual void cancel(); + virtual ~ExchangeBinding(); + }; + } +} + + +#endif + diff --git a/cpp/broker/inc/ExchangeRegistry.h b/cpp/broker/inc/ExchangeRegistry.h new file mode 100644 index 0000000000..0f0eaae0d0 --- /dev/null +++ b/cpp/broker/inc/ExchangeRegistry.h @@ -0,0 +1,42 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _ExchangeRegistry_ +#define _ExchangeRegistry_ + +#include <map> +#include "Exchange.h" +#include "Monitor.h" + +namespace qpid { +namespace broker { + class ExchangeRegistry{ + std::map<string, Exchange*> exchanges; + qpid::concurrent::Monitor* lock; + public: + ExchangeRegistry(); + void declare(Exchange* exchange); + void destroy(const string& name); + Exchange* get(const string& name); + inline qpid::concurrent::Monitor* getLock(){ return lock; } + ~ExchangeRegistry(); + }; +} +} + + +#endif diff --git a/cpp/broker/inc/FanOutExchange.h b/cpp/broker/inc/FanOutExchange.h new file mode 100644 index 0000000000..9d0d32bbf8 --- /dev/null +++ b/cpp/broker/inc/FanOutExchange.h @@ -0,0 +1,58 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _FanOutExchange_ +#define _FanOutExchange_ + +#include <map> +#include <vector> +#include "Exchange.h" +#include "FieldTable.h" +#include "Message.h" +#include "MonitorImpl.h" +#include "Queue.h" + +namespace qpid { +namespace broker { + +class FanOutExchange : public virtual Exchange { + const string name; + std::vector<Queue::shared_ptr> bindings; + qpid::concurrent::MonitorImpl lock; + + public: + static const std::string typeName; + + FanOutExchange(const string& name); + + inline virtual const string& getName(){ return name; } + + virtual void bind(Queue::shared_ptr queue, const string& routingKey, qpid::framing::FieldTable* args); + + virtual void unbind(Queue::shared_ptr queue, const string& routingKey, qpid::framing::FieldTable* args); + + virtual void route(Message::shared_ptr& msg, const string& routingKey, qpid::framing::FieldTable* args); + + virtual ~FanOutExchange(); +}; + +} +} + + + +#endif diff --git a/cpp/broker/inc/Message.h b/cpp/broker/inc/Message.h new file mode 100644 index 0000000000..37a0c9b2c8 --- /dev/null +++ b/cpp/broker/inc/Message.h @@ -0,0 +1,73 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Message_ +#define _Message_ + +#include "memory.h" +#include "AMQContentBody.h" +#include "AMQHeaderBody.h" +#include "BasicHeaderProperties.h" +#include "BasicPublishBody.h" +#include "ConnectionToken.h" +#include "OutputHandler.h" + +namespace qpid { + namespace broker { + class ExchangeRegistry; + + class Message{ + typedef std::vector<qpid::framing::AMQContentBody::shared_ptr> content_list; + typedef content_list::iterator content_iterator; + + const ConnectionToken* const publisher; + string exchange; + string routingKey; + const bool mandatory; + const bool immediate; + qpid::framing::AMQHeaderBody::shared_ptr header; + content_list content; + + u_int64_t contentSize(); + qpid::framing::BasicHeaderProperties* getHeaderProperties(); + + + public: + typedef std::tr1::shared_ptr<Message> shared_ptr; + + Message(const ConnectionToken* const publisher, + const string& exchange, const string& routingKey, + bool mandatory, bool immediate); + ~Message(); + void setHeader(qpid::framing::AMQHeaderBody::shared_ptr header); + void addContent(qpid::framing::AMQContentBody::shared_ptr data); + bool isComplete(); + const ConnectionToken* const getPublisher(); + + void deliver(qpid::framing::OutputHandler* out, int channel, + string& consumerTag, u_int64_t deliveryTag, + u_int32_t framesize); + + friend bool route(Message::shared_ptr& msg, ExchangeRegistry* registry); + + }; + bool route(Message::shared_ptr& msg, ExchangeRegistry* registry); + } +} + + +#endif diff --git a/cpp/broker/inc/NameGenerator.h b/cpp/broker/inc/NameGenerator.h new file mode 100644 index 0000000000..6e6e0acf28 --- /dev/null +++ b/cpp/broker/inc/NameGenerator.h @@ -0,0 +1,36 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _NameGenerator_ +#define _NameGenerator_ + +#include "Message.h" + +namespace qpid { + namespace broker { + class NameGenerator{ + const std::string base; + unsigned int counter; + public: + NameGenerator(const std::string& base); + std::string generate(); + }; + } +} + + +#endif diff --git a/cpp/broker/inc/Queue.h b/cpp/broker/inc/Queue.h new file mode 100644 index 0000000000..2229ba6235 --- /dev/null +++ b/cpp/broker/inc/Queue.h @@ -0,0 +1,106 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Queue_ +#define _Queue_ + +#include <vector> +#include <queue> +#include "memory.h" +#include "apr_time.h" +#include "amqp_types.h" +#include "Binding.h" +#include "ConnectionToken.h" +#include "Consumer.h" +#include "Message.h" +#include "MonitorImpl.h" + +namespace qpid { + namespace broker { + + /** + * Thrown when exclusive access would be violated. + */ + struct ExclusiveAccessException{}; + + /** + * The brokers representation of an amqp queue. Messages are + * delivered to a queue from where they can be dispatched to + * registered consumers or be stored until dequeued or until one + * or more consumers registers. + */ + class Queue{ + const string name; + const u_int32_t autodelete; + const bool durable; + const ConnectionToken* const owner; + std::vector<Consumer*> consumers; + std::queue<Binding*> bindings; + std::queue<Message::shared_ptr> messages; + bool queueing; + bool dispatching; + int next; + mutable qpid::concurrent::MonitorImpl lock; + apr_time_t lastUsed; + Consumer* exclusive; + + bool startDispatching(); + bool dispatch(Message::shared_ptr& msg); + + public: + + typedef std::tr1::shared_ptr<Queue> shared_ptr; + + typedef std::vector<shared_ptr> vector; + + Queue(const string& name, bool durable = false, u_int32_t autodelete = 0, const ConnectionToken* const owner = 0); + ~Queue(); + /** + * Informs the queue of a binding that should be cancelled on + * destruction of the queue. + */ + void bound(Binding* b); + /** + * Delivers a message to the queue from where it will be + * dispatched to immediately to a consumer if one is + * available or stored for dequeue or later dispatch if + * not. + */ + void deliver(Message::shared_ptr& msg); + /** + * Dispatch any queued messages providing there are + * consumers for them. Only one thread can be dispatching + * at any time, but this method (rather than the caller) + * is responsible for ensuring that. + */ + void dispatch(); + void consume(Consumer* c, bool exclusive = false); + void cancel(Consumer* c); + Message::shared_ptr dequeue(); + u_int32_t purge(); + u_int32_t getMessageCount() const; + u_int32_t getConsumerCount() const; + inline const string& getName() const { return name; } + inline const bool isExclusiveOwner(const ConnectionToken* const o) const { return o == owner; } + inline bool hasExclusiveConsumer() const { return exclusive; } + bool canAutoDelete() const; + }; + } +} + + +#endif diff --git a/cpp/broker/inc/QueueRegistry.h b/cpp/broker/inc/QueueRegistry.h new file mode 100644 index 0000000000..ac12aa8f88 --- /dev/null +++ b/cpp/broker/inc/QueueRegistry.h @@ -0,0 +1,88 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _QueueRegistry_ +#define _QueueRegistry_ + +#include <map> +#include "MonitorImpl.h" +#include "Queue.h" + +namespace qpid { +namespace broker { + +class SessionHandlerImpl; + +/** + * A registry of queues indexed by queue name. + * + * Queues are reference counted using shared_ptr to ensure that they + * are deleted when and only when they are no longer in use. + * + */ +class QueueRegistry{ + + public: + QueueRegistry(); + ~QueueRegistry(); + + /** + * Declare a queue. + * + * @return The queue and a boolean flag which is true if the queue + * was created by this declare call false if it already existed. + */ + std::pair<Queue::shared_ptr, bool> declare(const string& name, bool durable = false, u_int32_t autodelete = 0, const ConnectionToken* const owner = 0); + + /** + * Destroy the named queue. + * + * Note: if the queue is in use it is not actually destroyed until + * all shared_ptrs to it are destroyed. During that time it is + * possible that a new queue with the same name may be + * created. This should not create any problems as the new and + * old queues exist independently. The registry has + * forgotten the old queue so there can be no confusion for + * subsequent calls to find or declare with the same name. + * + */ + void destroy(const string& name); + + /** + * Find the named queue. Return 0 if not found. + */ + Queue::shared_ptr find(const string& name); + + /** + * Generate unique queue name. + */ + string generateName(); + + private: + typedef std::map<string, Queue::shared_ptr> QueueMap; + QueueMap queues; + qpid::concurrent::MonitorImpl lock; + int counter; + +}; + + +} +} + + +#endif diff --git a/cpp/broker/inc/SessionHandlerFactoryImpl.h b/cpp/broker/inc/SessionHandlerFactoryImpl.h new file mode 100644 index 0000000000..2317a6667b --- /dev/null +++ b/cpp/broker/inc/SessionHandlerFactoryImpl.h @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _SessionHandlerFactoryImpl_ +#define _SessionHandlerFactoryImpl_ + +#include "AMQFrame.h" +#include "AutoDelete.h" +#include "DirectExchange.h" +#include "ExchangeRegistry.h" +#include "ProtocolInitiation.h" +#include "QueueRegistry.h" +#include "SessionHandlerFactory.h" +#include "TimeoutHandler.h" + +namespace qpid { + namespace broker { + + class SessionHandlerFactoryImpl : public virtual qpid::io::SessionHandlerFactory + { + QueueRegistry queues; + ExchangeRegistry exchanges; + const u_int32_t timeout;//timeout for auto-deleted queues (in ms) + AutoDelete cleaner; + public: + SessionHandlerFactoryImpl(u_int32_t timeout = 30000); + virtual qpid::io::SessionHandler* create(qpid::io::SessionContext* ctxt); + virtual ~SessionHandlerFactoryImpl(); + }; + + } +} + + +#endif diff --git a/cpp/broker/inc/SessionHandlerImpl.h b/cpp/broker/inc/SessionHandlerImpl.h new file mode 100644 index 0000000000..14a6404c78 --- /dev/null +++ b/cpp/broker/inc/SessionHandlerImpl.h @@ -0,0 +1,230 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _SessionHandlerImpl_ +#define _SessionHandlerImpl_ + +#include <map> +#include <sstream> +#include <vector> +#include <exception> +#include "AMQFrame.h" +#include "AMQP_ServerOperations.h" +#include "AutoDelete.h" +#include "ExchangeRegistry.h" +#include "Channel.h" +#include "ConnectionToken.h" +#include "DirectExchange.h" +#include "OutputHandler.h" +#include "ProtocolInitiation.h" +#include "QueueRegistry.h" +#include "SessionContext.h" +#include "SessionHandler.h" +#include "TimeoutHandler.h" +#include "TopicExchange.h" + +namespace qpid { +namespace broker { + +struct ChannelException : public std::exception { + u_int16_t code; + string text; + ChannelException(u_int16_t _code, string _text) : code(_code), text(_text) {} + ~ChannelException() throw() {} + const char* what() const throw() { return text.c_str(); } +}; + +struct ConnectionException : public std::exception { + u_int16_t code; + string text; + ConnectionException(u_int16_t _code, string _text) : code(_code), text(_text) {} + ~ConnectionException() throw() {} + const char* what() const throw() { return text.c_str(); } +}; + +class SessionHandlerImpl : public virtual qpid::io::SessionHandler, + public virtual qpid::framing::AMQP_ServerOperations, + public virtual ConnectionToken +{ + typedef std::map<u_int16_t, Channel*>::iterator channel_iterator; + typedef std::vector<Queue::shared_ptr>::iterator queue_iterator; + + qpid::io::SessionContext* context; + QueueRegistry* queues; + ExchangeRegistry* const exchanges; + AutoDelete* const cleaner; + const u_int32_t timeout;//timeout for auto-deleted queues (in ms) + + ConnectionHandler* connectionHandler; + ChannelHandler* channelHandler; + BasicHandler* basicHandler; + ExchangeHandler* exchangeHandler; + QueueHandler* queueHandler; + + std::map<u_int16_t, Channel*> channels; + std::vector<Queue::shared_ptr> exclusiveQueues; + + u_int32_t framemax; + u_int16_t heartbeat; + + void handleHeader(u_int16_t channel, qpid::framing::AMQHeaderBody::shared_ptr body); + void handleContent(u_int16_t channel, qpid::framing::AMQContentBody::shared_ptr body); + void handleHeartbeat(qpid::framing::AMQHeartbeatBody::shared_ptr body); + + /** + * Get named queue, never returns 0. + * @return: named queue or default queue for channel if name="" + * @exception: ChannelException if no queue of that name is found. + * @exception: ConnectionException if no queue specified and channel has not declared one. + */ + Queue::shared_ptr getQueue(const string& name, u_int16_t channel); + + Exchange* findExchange(const string& name); + + public: + SessionHandlerImpl(qpid::io::SessionContext* context, QueueRegistry* queues, + ExchangeRegistry* exchanges, AutoDelete* cleaner, const u_int32_t timeout); + virtual void received(qpid::framing::AMQFrame* frame); + virtual void initiated(qpid::framing::ProtocolInitiation* header); + virtual void idleOut(); + virtual void idleIn(); + virtual void closed(); + virtual ~SessionHandlerImpl(); + + class ConnectionHandlerImpl : public virtual ConnectionHandler{ + SessionHandlerImpl* parent; + public: + inline ConnectionHandlerImpl(SessionHandlerImpl* _parent) : parent(_parent) {} + + virtual void startOk(u_int16_t channel, qpid::framing::FieldTable& clientProperties, string& mechanism, + string& response, string& locale); + + virtual void secureOk(u_int16_t channel, string& response); + + virtual void tuneOk(u_int16_t channel, u_int16_t channelMax, u_int32_t frameMax, u_int16_t heartbeat); + + virtual void open(u_int16_t channel, string& virtualHost, string& capabilities, bool insist); + + virtual void close(u_int16_t channel, u_int16_t replyCode, string& replyText, u_int16_t classId, + u_int16_t methodId); + + virtual void closeOk(u_int16_t channel); + + virtual ~ConnectionHandlerImpl(){} + }; + + class ChannelHandlerImpl : public virtual ChannelHandler{ + SessionHandlerImpl* parent; + public: + inline ChannelHandlerImpl(SessionHandlerImpl* _parent) : parent(_parent) {} + + virtual void open(u_int16_t channel, string& outOfBand); + + virtual void flow(u_int16_t channel, bool active); + + virtual void flowOk(u_int16_t channel, bool active); + + virtual void close(u_int16_t channel, u_int16_t replyCode, string& replyText, + u_int16_t classId, u_int16_t methodId); + + virtual void closeOk(u_int16_t channel); + + virtual ~ChannelHandlerImpl(){} + }; + + class ExchangeHandlerImpl : public virtual ExchangeHandler{ + SessionHandlerImpl* parent; + public: + inline ExchangeHandlerImpl(SessionHandlerImpl* _parent) : parent(_parent) {} + + virtual void declare(u_int16_t channel, u_int16_t ticket, string& exchange, string& type, + bool passive, bool durable, bool autoDelete, bool internal, bool nowait, + qpid::framing::FieldTable& arguments); + + virtual void delete_(u_int16_t channel, u_int16_t ticket, string& exchange, bool ifUnused, bool nowait); + + virtual ~ExchangeHandlerImpl(){} + }; + + + class QueueHandlerImpl : public virtual QueueHandler{ + SessionHandlerImpl* parent; + public: + inline QueueHandlerImpl(SessionHandlerImpl* _parent) : parent(_parent) {} + + virtual void declare(u_int16_t channel, u_int16_t ticket, string& queue, + bool passive, bool durable, bool exclusive, + bool autoDelete, bool nowait, qpid::framing::FieldTable& arguments); + + virtual void bind(u_int16_t channel, u_int16_t ticket, string& queue, + string& exchange, string& routingKey, bool nowait, + qpid::framing::FieldTable& arguments); + + virtual void purge(u_int16_t channel, u_int16_t ticket, string& queue, + bool nowait); + + virtual void delete_(u_int16_t channel, u_int16_t ticket, string& queue, bool ifUnused, bool ifEmpty, + bool nowait); + + virtual ~QueueHandlerImpl(){} + }; + + class BasicHandlerImpl : public virtual BasicHandler{ + SessionHandlerImpl* parent; + public: + inline BasicHandlerImpl(SessionHandlerImpl* _parent) : parent(_parent) {} + + virtual void qos(u_int16_t channel, u_int32_t prefetchSize, u_int16_t prefetchCount, bool global); + + virtual void consume(u_int16_t channel, u_int16_t ticket, string& queue, string& consumerTag, + bool noLocal, bool noAck, bool exclusive, bool nowait); + + virtual void cancel(u_int16_t channel, string& consumerTag, bool nowait); + + virtual void publish(u_int16_t channel, u_int16_t ticket, string& exchange, string& routingKey, + bool mandatory, bool immediate); + + virtual void get(u_int16_t channel, u_int16_t ticket, string& queue, bool noAck); + + virtual void ack(u_int16_t channel, u_int64_t deliveryTag, bool multiple); + + virtual void reject(u_int16_t channel, u_int64_t deliveryTag, bool requeue); + + virtual void recover(u_int16_t channel, bool requeue); + + virtual ~BasicHandlerImpl(){} + }; + + inline virtual ChannelHandler* getChannelHandler(){ return channelHandler; } + inline virtual ConnectionHandler* getConnectionHandler(){ return connectionHandler; } + inline virtual BasicHandler* getBasicHandler(){ return basicHandler; } + inline virtual ExchangeHandler* getExchangeHandler(){ return exchangeHandler; } + inline virtual QueueHandler* getQueueHandler(){ return queueHandler; } + + inline virtual AccessHandler* getAccessHandler(){ return 0; } + inline virtual FileHandler* getFileHandler(){ return 0; } + inline virtual StreamHandler* getStreamHandler(){ return 0; } + inline virtual TxHandler* getTxHandler(){ return 0; } + inline virtual DtxHandler* getDtxHandler(){ return 0; } + inline virtual TunnelHandler* getTunnelHandler(){ return 0; } +}; + +} +} + + +#endif diff --git a/cpp/broker/inc/TopicExchange.h b/cpp/broker/inc/TopicExchange.h new file mode 100644 index 0000000000..d9ff62ecc6 --- /dev/null +++ b/cpp/broker/inc/TopicExchange.h @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _TopicExchange_ +#define _TopicExchange_ + +#include <map> +#include <vector> +#include "Exchange.h" +#include "FieldTable.h" +#include "Message.h" +#include "MonitorImpl.h" +#include "Queue.h" + +namespace qpid { +namespace broker { + class TopicExchange : public virtual Exchange{ + const string name; + std::map<string, std::vector<Queue::shared_ptr> > bindings;//NOTE: pattern matching not yet supported + qpid::concurrent::MonitorImpl lock; + + public: + static const std::string typeName; + + TopicExchange(const string& name); + + inline virtual const string& getName(){ return name; } + + virtual void bind(Queue::shared_ptr queue, const string& routingKey, qpid::framing::FieldTable* args); + + virtual void unbind(Queue::shared_ptr queue, const string& routingKey, qpid::framing::FieldTable* args); + + virtual void route(Message::shared_ptr& msg, const string& routingKey, qpid::framing::FieldTable* args); + + virtual ~TopicExchange(); + }; +} +} + + +#endif diff --git a/cpp/broker/src/AutoDelete.cpp b/cpp/broker/src/AutoDelete.cpp new file mode 100644 index 0000000000..6793ec449d --- /dev/null +++ b/cpp/broker/src/AutoDelete.cpp @@ -0,0 +1,93 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "AutoDelete.h" + +using namespace qpid::broker; + +AutoDelete::AutoDelete(QueueRegistry* const _registry, u_int32_t _period) : registry(_registry), + period(_period), + stopped(true), + runner(0){} + +void AutoDelete::add(Queue::shared_ptr const queue){ + lock.acquire(); + queues.push(queue); + lock.release(); +} + +Queue::shared_ptr const AutoDelete::pop(){ + Queue::shared_ptr next; + lock.acquire(); + if(!queues.empty()){ + next = queues.front(); + queues.pop(); + } + lock.release(); + return next; +} + +void AutoDelete::process(){ + Queue::shared_ptr seen; + for(Queue::shared_ptr q = pop(); q; q = pop()){ + if(seen == q){ + add(q); + break; + }else if(q->canAutoDelete()){ + std::string name(q->getName()); + registry->destroy(name); + std::cout << "INFO: Auto-deleted queue named " << name << std::endl; + }else{ + add(q); + if(!seen) seen = q; + } + } +} + +void AutoDelete::run(){ + monitor.acquire(); + while(!stopped){ + process(); + monitor.wait(period); + } + monitor.release(); +} + +void AutoDelete::start(){ + monitor.acquire(); + if(stopped){ + runner = factory.create(this); + stopped = false; + monitor.release(); + runner->start(); + }else{ + monitor.release(); + } +} + +void AutoDelete::stop(){ + monitor.acquire(); + if(!stopped){ + stopped = true; + monitor.notify(); + monitor.release(); + runner->join(); + delete runner; + }else{ + monitor.release(); + } +} diff --git a/cpp/broker/src/Broker.cpp b/cpp/broker/src/Broker.cpp new file mode 100644 index 0000000000..5d59b63622 --- /dev/null +++ b/cpp/broker/src/Broker.cpp @@ -0,0 +1,92 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include <memory> +#include "apr_signal.h" + +#include "Acceptor.h" +#include "Configuration.h" +#include "QpidError.h" +#include "SessionHandlerFactoryImpl.h" + +//optional includes: +#ifdef _USE_APR_IO_ + +#include "BlockingAPRAcceptor.h" +#include "LFAcceptor.h" + +#endif + +using namespace qpid::broker; +using namespace qpid::io; + +void handle_signal(int signal); + +Acceptor* createAcceptor(Configuration& config); + +int main(int argc, char** argv) +{ + SessionHandlerFactoryImpl factory; + Configuration config; + try{ + + config.parse(argc, argv); + if(config.isHelp()){ + config.usage(); + }else{ +#ifdef _USE_APR_IO_ + apr_signal(SIGINT, handle_signal); +#endif + try{ + std::auto_ptr<Acceptor> acceptor(createAcceptor(config)); + try{ + acceptor->bind(config.getPort(), &factory); + }catch(qpid::QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } + }catch(qpid::QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } + } + }catch(Configuration::ParseException error){ + std::cout << "Error: " << error.error << std::endl; + } + + return 1; +} + +Acceptor* createAcceptor(Configuration& config){ + const string type(config.getAcceptor()); +#ifdef _USE_APR_IO_ + if("blocking" == type){ + std::cout << "Using blocking acceptor " << std::endl; + return new BlockingAPRAcceptor(config.isTrace(), config.getConnectionBacklog()); + }else if("non-blocking" == type){ + std::cout << "Using non-blocking acceptor " << std::endl; + return new LFAcceptor(config.isTrace(), + config.getConnectionBacklog(), + config.getWorkerThreads(), + config.getMaxConnections()); + } +#endif + throw Configuration::ParseException("Unrecognised acceptor: " + type); +} + +void handle_signal(int signal){ + std::cout << "Shutting down..." << std::endl; +} diff --git a/cpp/broker/src/Channel.cpp b/cpp/broker/src/Channel.cpp new file mode 100644 index 0000000000..6980fe5a1b --- /dev/null +++ b/cpp/broker/src/Channel.cpp @@ -0,0 +1,148 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Channel.h" +#include "QpidError.h" +#include <iostream> +#include <sstream> +#include <assert.h> + +using namespace qpid::broker; +using namespace qpid::framing; +using namespace qpid::concurrent; + +Channel::Channel(OutputHandler* _out, int _id, u_int32_t _framesize) : out(_out), + id(_id), + framesize(_framesize), + transactional(false), + deliveryTag(1), + tagGenerator("sgen"){} + +Channel::~Channel(){ + for(consumer_iterator i = consumers.begin(); i != consumers.end(); i = consumers.begin() ){ + std::cout << "ERROR: Channel consumer appears not to have been cancelled before channel was destroyed." << std::endl; + delete (i->second); + } +} + +bool Channel::exists(string& consumerTag){ + return consumers.find(consumerTag) != consumers.end(); +} + +void Channel::consume(string& tag, Queue::shared_ptr queue, bool acks, bool exclusive, ConnectionToken* const connection){ + if(tag.empty()) tag = tagGenerator.generate(); + + ConsumerImpl* c(new ConsumerImpl(this, tag, queue, connection)); + try{ + queue->consume(c, exclusive);//may throw exception + consumers[tag] = c; + }catch(ExclusiveAccessException& e){ + delete c; + throw e; + } +} + +void Channel::cancel(string& tag){ + ConsumerImpl* c = consumers[tag]; + if(c){ + c->cancel(); + consumers.erase(tag); + delete c; + } +} + +void Channel::close(){ + //cancel all consumers + for(consumer_iterator i = consumers.begin(); i != consumers.end(); i = consumers.begin() ){ + ConsumerImpl* c = i->second; + c->cancel(); + consumers.erase(i); + delete c; + } +} + +void Channel::begin(){ + transactional = true; +} + +void Channel::commit(){ + +} + +void Channel::rollback(){ + +} + +void Channel::deliver(Message::shared_ptr& msg, string& consumerTag){ + //send deliver method, header and content(s) + msg->deliver(out, id, consumerTag, deliveryTag++, framesize); +} + +Channel::ConsumerImpl::ConsumerImpl(Channel* _parent, string& _tag, + Queue::shared_ptr _queue, + ConnectionToken* const _connection) : parent(_parent), + tag(_tag), + queue(_queue), + connection(_connection){ +} + +bool Channel::ConsumerImpl::deliver(Message::shared_ptr& msg){ + if(connection != msg->getPublisher()){ + parent->deliver(msg, tag); + return true; + }else{ + return false; + } +} + +void Channel::ConsumerImpl::cancel(){ + if(queue) queue->cancel(this); +} + +void Channel::handlePublish(Message* msg){ + if(message.get()){ + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Invalid message sequence: got publish before previous content was completed."); + } + message = Message::shared_ptr(msg); +} + +void Channel::handleHeader(AMQHeaderBody::shared_ptr header, ExchangeRegistry* exchanges){ + if(!message.get()){ + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Invalid message sequence: got header before publish."); + } + message->setHeader(header); + if(message->isComplete()){ + publish(exchanges); + } +} + +void Channel::handleContent(AMQContentBody::shared_ptr content, ExchangeRegistry* exchanges){ + if(!message.get()){ + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Invalid message sequence: got content before publish."); + } + message->addContent(content); + if(message->isComplete()){ + publish(exchanges); + } +} + +void Channel::publish(ExchangeRegistry* exchanges){ + if(!route(message, exchanges)){ + std::cout << "WARNING: Could not route message." << std::endl; + } + message.reset(); +} diff --git a/cpp/broker/src/Configuration.cpp b/cpp/broker/src/Configuration.cpp new file mode 100644 index 0000000000..aceb35bc87 --- /dev/null +++ b/cpp/broker/src/Configuration.cpp @@ -0,0 +1,195 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Configuration.h" + +using namespace qpid::broker; +using namespace std; + +Configuration::Configuration() : + trace('t', "trace", "Print incoming & outgoing frames to the console (default=false)", false), + port('p', "port", "Sets the port to listen on (default=5672)", 5672), + workerThreads("worker-threads", "Sets the number of worker threads to use (default=5). Only valid for non-blocking acceptor.", 5), + maxConnections("max-connections", "Sets the maximum number of connections the broker can accept (default=500). Only valid for non-blocking acceptor.", 500), + connectionBacklog("connection-backlog", "Sets the connection backlog for the servers socket (default=10)", 10), + acceptor('a', "acceptor", "Sets the acceptor to use. Currently only two values are recognised, blocking and non-blocking (which is the default)", "non-blocking"), + help("help", "Prints usage information", false) +{ + options.push_back(&trace); + options.push_back(&port); + options.push_back(&workerThreads); + options.push_back(&maxConnections); + options.push_back(&connectionBacklog); + options.push_back(&acceptor); + options.push_back(&help); +} + +Configuration::~Configuration(){} + +void Configuration::parse(int argc, char** argv){ + int position = 1; + while(position < argc){ + bool matched(false); + for(op_iterator i = options.begin(); i < options.end() && !matched; i++){ + matched = (*i)->parse(position, argv, argc); + } + if(!matched){ + std::cout << "Warning: skipping unrecognised option " << argv[position] << std::endl; + position++; + } + } +} + +void Configuration::usage(){ + for(op_iterator i = options.begin(); i < options.end(); i++){ + (*i)->print(std::cout); + } +} + +bool Configuration::isHelp(){ + return help.getValue(); +} + +bool Configuration::isTrace(){ + return trace.getValue(); +} + +int Configuration::getPort(){ + return port.getValue(); +} + +int Configuration::getWorkerThreads(){ + return workerThreads.getValue(); +} + +int Configuration::getMaxConnections(){ + return maxConnections.getValue(); +} + +int Configuration::getConnectionBacklog(){ + return connectionBacklog.getValue(); +} + +const string& Configuration::getAcceptor(){ + return acceptor.getValue(); +} + +Configuration::Option::Option(const char _flag, const string& _name, const string& _desc) : + flag(string("-") + _flag), name("--" +_name), desc(_desc) {} + +Configuration::Option::Option(const string& _name, const string& _desc) : + flag(""), name("--" + _name), desc(_desc) {} + +Configuration::Option::~Option(){} + +bool Configuration::Option::match(const string& arg){ + return flag == arg || name == arg; +} + +bool Configuration::Option::parse(int& i, char** argv, int argc){ + const string arg(argv[i]); + if(match(arg)){ + if(needsValue()){ + if(++i < argc) setValue(argv[i]); + else throw ParseException("Argument " + arg + " requires a value!"); + }else{ + setValue(""); + } + i++; + return true; + }else{ + return false; + } +} + +void Configuration::Option::print(ostream& out) const { + out << " "; + if(flag.length() > 0){ + out << flag << " or "; + } + out << name; + if(needsValue()) out << "<value>"; + out << std::endl; + out << " " << desc << std::endl; +} + + +// String Option: + +Configuration::StringOption::StringOption(const char _flag, const string& _name, const string& _desc, const string _value) : + Option(_flag,_name,_desc), defaultValue(_value), value(_value) {} + +Configuration::StringOption::StringOption(const string& _name, const string& _desc, const string _value) : + Option(_name,_desc), defaultValue(_value), value(_value) {} + +Configuration::StringOption::~StringOption(){} + +const string& Configuration::StringOption::getValue() const { + return value; +} + +bool Configuration::StringOption::needsValue() const { + return true; +} + +void Configuration::StringOption::setValue(const std::string& _value){ + value = _value; +} + +// Int Option: + +Configuration::IntOption::IntOption(const char _flag, const string& _name, const string& _desc, const int _value) : + Option(_flag,_name,_desc), defaultValue(_value), value(_value) {} + +Configuration::IntOption::IntOption(const string& _name, const string& _desc, const int _value) : + Option(_name,_desc), defaultValue(_value), value(_value) {} + +Configuration::IntOption::~IntOption(){} + +int Configuration::IntOption::getValue() const { + return value; +} + +bool Configuration::IntOption::needsValue() const { + return true; +} + +void Configuration::IntOption::setValue(const std::string& _value){ + value = atoi(_value.c_str()); +} + +// Bool Option: + +Configuration::BoolOption::BoolOption(const char _flag, const string& _name, const string& _desc, const bool _value) : + Option(_flag,_name,_desc), defaultValue(_value), value(_value) {} + +Configuration::BoolOption::BoolOption(const string& _name, const string& _desc, const bool _value) : + Option(_name,_desc), defaultValue(_value), value(_value) {} + +Configuration::BoolOption::~BoolOption(){} + +bool Configuration::BoolOption::getValue() const { + return value; +} + +bool Configuration::BoolOption::needsValue() const { + return false; +} + +void Configuration::BoolOption::setValue(const std::string& _value){ + value = true; +} diff --git a/cpp/broker/src/DirectExchange.cpp b/cpp/broker/src/DirectExchange.cpp new file mode 100644 index 0000000000..70f7ee838f --- /dev/null +++ b/cpp/broker/src/DirectExchange.cpp @@ -0,0 +1,72 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "DirectExchange.h" +#include "ExchangeBinding.h" +#include <iostream> + +using namespace qpid::broker; +using namespace qpid::framing; + +DirectExchange::DirectExchange(const string& _name) : name(_name) { + +} + +void DirectExchange::bind(Queue::shared_ptr queue, const string& routingKey, FieldTable* args){ + lock.acquire(); + std::vector<Queue::shared_ptr>& queues(bindings[routingKey]); + std::vector<Queue::shared_ptr>::iterator i = find(queues.begin(), queues.end(), queue); + if(i == queues.end()){ + bindings[routingKey].push_back(queue); + queue->bound(new ExchangeBinding(this, queue, routingKey, args)); + } + lock.release(); +} + +void DirectExchange::unbind(Queue::shared_ptr queue, const string& routingKey, FieldTable* args){ + lock.acquire(); + std::vector<Queue::shared_ptr>& queues(bindings[routingKey]); + + std::vector<Queue::shared_ptr>::iterator i = find(queues.begin(), queues.end(), queue); + if(i < queues.end()){ + queues.erase(i); + if(queues.empty()){ + bindings.erase(routingKey); + } + } + lock.release(); +} + +void DirectExchange::route(Message::shared_ptr& msg, const string& routingKey, FieldTable* args){ + lock.acquire(); + std::vector<Queue::shared_ptr>& queues(bindings[routingKey]); + int count(0); + for(std::vector<Queue::shared_ptr>::iterator i = queues.begin(); i != queues.end(); i++, count++){ + (*i)->deliver(msg); + } + if(!count){ + std::cout << "WARNING: DirectExchange " << name << " could not route message with key " << routingKey << std::endl; + } + lock.release(); +} + +DirectExchange::~DirectExchange(){ + +} + + +const std::string DirectExchange::typeName("direct"); diff --git a/cpp/broker/src/ExchangeBinding.cpp b/cpp/broker/src/ExchangeBinding.cpp new file mode 100644 index 0000000000..6160a67fd3 --- /dev/null +++ b/cpp/broker/src/ExchangeBinding.cpp @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "ExchangeBinding.h" +#include "Exchange.h" + +using namespace qpid::broker; +using namespace qpid::framing; + +ExchangeBinding::ExchangeBinding(Exchange* _e, Queue::shared_ptr _q, const string& _key, FieldTable* _args) : e(_e), q(_q), key(_key), args(_args){} + +void ExchangeBinding::cancel(){ + e->unbind(q, key, args); + delete this; +} + +ExchangeBinding::~ExchangeBinding(){ +} diff --git a/cpp/broker/src/ExchangeRegistry.cpp b/cpp/broker/src/ExchangeRegistry.cpp new file mode 100644 index 0000000000..0ee581af2f --- /dev/null +++ b/cpp/broker/src/ExchangeRegistry.cpp @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "ExchangeRegistry.h" +#include "MonitorImpl.h" + +using namespace qpid::broker; +using namespace qpid::concurrent; + +ExchangeRegistry::ExchangeRegistry() : lock(new MonitorImpl()){} + +ExchangeRegistry::~ExchangeRegistry(){ + delete lock; +} + +void ExchangeRegistry::declare(Exchange* exchange){ + exchanges[exchange->getName()] = exchange; +} + +void ExchangeRegistry::destroy(const string& name){ + if(exchanges[name]){ + delete exchanges[name]; + exchanges.erase(name); + } +} + +Exchange* ExchangeRegistry::get(const string& name){ + return exchanges[name]; +} diff --git a/cpp/broker/src/FanOutExchange.cpp b/cpp/broker/src/FanOutExchange.cpp new file mode 100644 index 0000000000..7f261d5eda --- /dev/null +++ b/cpp/broker/src/FanOutExchange.cpp @@ -0,0 +1,56 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "FanOutExchange.h" +#include "ExchangeBinding.h" +#include <algorithm> + +using namespace qpid::broker; +using namespace qpid::framing; +using namespace qpid::concurrent; + +FanOutExchange::FanOutExchange(const string& _name) : name(_name) {} + +void FanOutExchange::bind(Queue::shared_ptr queue, const string& routingKey, FieldTable* args){ + Locker locker(lock); + // Add if not already present. + Queue::vector::iterator i = std::find(bindings.begin(), bindings.end(), queue); + if (i == bindings.end()) { + bindings.push_back(queue); + queue->bound(new ExchangeBinding(this, queue, routingKey, args)); + } +} + +void FanOutExchange::unbind(Queue::shared_ptr queue, const string& routingKey, FieldTable* args){ + Locker locker(lock); + Queue::vector::iterator i = std::find(bindings.begin(), bindings.end(), queue); + if (i != bindings.end()) { + bindings.erase(i); + // TODO aconway 2006-09-14: What about the ExchangeBinding object? Don't we have to verify routingKey/args match? + } +} + +void FanOutExchange::route(Message::shared_ptr& msg, const string& routingKey, FieldTable* args){ + Locker locker(lock); + for(Queue::vector::iterator i = bindings.begin(); i != bindings.end(); ++i){ + (*i)->deliver(msg); + } +} + +FanOutExchange::~FanOutExchange() {} + +const std::string FanOutExchange::typeName("fanout"); diff --git a/cpp/broker/src/Message.cpp b/cpp/broker/src/Message.cpp new file mode 100644 index 0000000000..7afcd97934 --- /dev/null +++ b/cpp/broker/src/Message.cpp @@ -0,0 +1,97 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "MonitorImpl.h" +#include "Message.h" +#include "ExchangeRegistry.h" +#include <iostream> + +using namespace std::tr1;//for *_pointer_cast methods +using namespace qpid::broker; +using namespace qpid::framing; +using namespace qpid::concurrent; + + +Message::Message(const ConnectionToken* const _publisher, + const string& _exchange, const string& _routingKey, + bool _mandatory, bool _immediate) : publisher(_publisher), + exchange(_exchange), + routingKey(_routingKey), + mandatory(_mandatory), + immediate(_immediate){ + +} + +Message::~Message(){ +} + +void Message::setHeader(AMQHeaderBody::shared_ptr header){ + this->header = header; +} + +void Message::addContent(AMQContentBody::shared_ptr data){ + content.push_back(data); +} + +bool Message::isComplete(){ + return header.get() && (header->getContentSize() == contentSize()); +} + +void Message::deliver(OutputHandler* out, int channel, + string& consumerTag, u_int64_t deliveryTag, + u_int32_t framesize){ + + out->send(new AMQFrame(channel, new BasicDeliverBody(consumerTag, deliveryTag, false, exchange, routingKey))); + AMQBody::shared_ptr headerBody = static_pointer_cast<AMQBody, AMQHeaderBody>(header); + out->send(new AMQFrame(channel, headerBody)); + for(content_iterator i = content.begin(); i != content.end(); i++){ + if((*i)->size() > framesize){ + //TODO: need to split it + std::cout << "WARNING: Dropped message. Re-fragmentation not yet implemented." << std::endl; + }else{ + AMQBody::shared_ptr contentBody = static_pointer_cast<AMQBody, AMQContentBody>(*i); + out->send(new AMQFrame(channel, contentBody)); + } + } +} + +BasicHeaderProperties* Message::getHeaderProperties(){ + return dynamic_cast<BasicHeaderProperties*>(header->getProperties()); +} + +u_int64_t Message::contentSize(){ + u_int64_t size(0); + for(content_iterator i = content.begin(); i != content.end(); i++){ + size += (*i)->size(); + } + return size; +} + +const ConnectionToken* const Message::getPublisher(){ + return publisher; +} + +bool qpid::broker::route(Message::shared_ptr& msg, ExchangeRegistry* registry){ + Exchange* exchange = registry->get(msg->exchange); + if(exchange){ + exchange->route(msg, msg->routingKey, &(msg->getHeaderProperties()->getHeaders())); + return true; + }else{ + return false; + } +} + diff --git a/cpp/broker/src/NameGenerator.cpp b/cpp/broker/src/NameGenerator.cpp new file mode 100644 index 0000000000..46aa385a7e --- /dev/null +++ b/cpp/broker/src/NameGenerator.cpp @@ -0,0 +1,29 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "NameGenerator.h" +#include <sstream> + +using namespace qpid::broker; + +NameGenerator::NameGenerator(const std::string& _base) : base(_base), counter(1) {} + +std::string NameGenerator::generate(){ + std::stringstream ss; + ss << base << counter++; + return ss.str(); +} diff --git a/cpp/broker/src/Queue.cpp b/cpp/broker/src/Queue.cpp new file mode 100644 index 0000000000..f7b8605b03 --- /dev/null +++ b/cpp/broker/src/Queue.cpp @@ -0,0 +1,148 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Queue.h" +#include "MonitorImpl.h" +#include <iostream> + +using namespace qpid::broker; +using namespace qpid::concurrent; + +Queue::Queue(const string& _name, bool _durable, u_int32_t _autodelete, const ConnectionToken* const _owner) : name(_name), + durable(_durable), + autodelete(_autodelete), + owner(_owner), + queueing(false), + dispatching(false), + next(0), + lastUsed(0), + exclusive(0){ + + if(autodelete) lastUsed = apr_time_as_msec(apr_time_now()); +} + +Queue::~Queue(){ + for(Binding* b = bindings.front(); !bindings.empty(); b = bindings.front()){ + b->cancel(); + bindings.pop(); + } +} + +void Queue::bound(Binding* b){ + bindings.push(b); +} + +void Queue::deliver(Message::shared_ptr& msg){ + Locker locker(lock); + if(queueing || !dispatch(msg)){ + queueing = true; + messages.push(msg); + } +} + +bool Queue::dispatch(Message::shared_ptr& msg){ + if(consumers.empty()){ + return false; + }else if(exclusive){ + if(!exclusive->deliver(msg)){ + std::cout << "WARNING: Dropping undeliverable message from queue with exclusive consumer." << std::endl; + } + return true; + }else{ + //deliver to next consumer + next = next % consumers.size(); + Consumer* c = consumers[next]; + int start = next; + while(c){ + next++; + if(c->deliver(msg)) return true; + + next = next % consumers.size(); + c = next == start ? 0 : consumers[next]; + } + return false; + } +} + +bool Queue::startDispatching(){ + Locker locker(lock); + if(queueing && !dispatching){ + dispatching = true; + return true; + }else{ + return false; + } +} + +void Queue::dispatch(){ + bool proceed = startDispatching(); + while(proceed){ + Locker locker(lock); + if(!messages.empty() && dispatch(messages.front())){ + messages.pop(); + }else{ + dispatching = false; + proceed = false; + queueing = !messages.empty(); + } + } +} + +void Queue::consume(Consumer* c, bool requestExclusive){ + Locker locker(lock); + if(exclusive) throw ExclusiveAccessException(); + if(requestExclusive){ + if(!consumers.empty()) throw ExclusiveAccessException(); + exclusive = c; + } + + if(autodelete && consumers.empty()) lastUsed = 0; + consumers.push_back(c); +} + +void Queue::cancel(Consumer* c){ + Locker locker(lock); + consumers.erase(find(consumers.begin(), consumers.end(), c)); + if(autodelete && consumers.empty()) lastUsed = apr_time_as_msec(apr_time_now()); + if(exclusive == c) exclusive = 0; +} + +Message::shared_ptr Queue::dequeue(){ + +} + +u_int32_t Queue::purge(){ + Locker locker(lock); + int count = messages.size(); + while(!messages.empty()) messages.pop(); + return count; +} + +u_int32_t Queue::getMessageCount() const{ + Locker locker(lock); + return messages.size(); +} + +u_int32_t Queue::getConsumerCount() const{ + Locker locker(lock); + return consumers.size(); +} + +bool Queue::canAutoDelete() const{ + Locker locker(lock); + return lastUsed && ((apr_time_as_msec(apr_time_now()) - lastUsed) > autodelete); +} diff --git a/cpp/broker/src/QueueRegistry.cpp b/cpp/broker/src/QueueRegistry.cpp new file mode 100644 index 0000000000..f807415314 --- /dev/null +++ b/cpp/broker/src/QueueRegistry.cpp @@ -0,0 +1,72 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "QueueRegistry.h" +#include "MonitorImpl.h" +#include "SessionHandlerImpl.h" +#include <sstream> +#include <assert.h> + +using namespace qpid::broker; +using namespace qpid::concurrent; + +QueueRegistry::QueueRegistry() : counter(1){} + +QueueRegistry::~QueueRegistry(){} + +std::pair<Queue::shared_ptr, bool> +QueueRegistry::declare(const string& declareName, bool durable, u_int32_t autoDelete, const ConnectionToken* owner) +{ + Locker locker(lock); + string name = declareName.empty() ? generateName() : declareName; + assert(!name.empty()); + QueueMap::iterator i = queues.find(name); + if (i == queues.end()) { + Queue::shared_ptr queue(new Queue(name, durable, autoDelete, owner)); + queues[name] = queue; + return std::pair<Queue::shared_ptr, bool>(queue, true); + } else { + return std::pair<Queue::shared_ptr, bool>(i->second, false); + } +} + +void QueueRegistry::destroy(const string& name){ + Locker locker(lock); + queues.erase(name); +} + +Queue::shared_ptr QueueRegistry::find(const string& name){ + Locker locker(lock); + QueueMap::iterator i = queues.find(name); + if (i == queues.end()) { + return Queue::shared_ptr(); + } else { + return i->second; + } +} + +string QueueRegistry::generateName(){ + string name; + do { + std::stringstream ss; + ss << "tmp_" << counter++; + name = ss.str(); + // Thread safety: Private function, only called with lock held + // so this is OK. + } while(queues.find(name) != queues.end()); + return name; +} diff --git a/cpp/broker/src/SessionHandlerFactoryImpl.cpp b/cpp/broker/src/SessionHandlerFactoryImpl.cpp new file mode 100644 index 0000000000..661cb4ef81 --- /dev/null +++ b/cpp/broker/src/SessionHandlerFactoryImpl.cpp @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "SessionHandlerFactoryImpl.h" +#include "SessionHandlerImpl.h" +#include "FanOutExchange.h" + +using namespace qpid::broker; +using namespace qpid::io; + +SessionHandlerFactoryImpl::SessionHandlerFactoryImpl(u_int32_t _timeout) : timeout(_timeout), cleaner(&queues, timeout/10){ + exchanges.declare(new DirectExchange("amq.direct")); + exchanges.declare(new TopicExchange("amq.topic")); + exchanges.declare(new FanOutExchange("amq.fanout")); + cleaner.start(); +} + +SessionHandler* SessionHandlerFactoryImpl::create(SessionContext* ctxt){ + return new SessionHandlerImpl(ctxt, &queues, &exchanges, &cleaner, timeout); +} + +SessionHandlerFactoryImpl::~SessionHandlerFactoryImpl(){ + cleaner.stop(); + exchanges.destroy("amq.direct"); + exchanges.destroy("amq.topic"); +} diff --git a/cpp/broker/src/SessionHandlerImpl.cpp b/cpp/broker/src/SessionHandlerImpl.cpp new file mode 100644 index 0000000000..19e243a01b --- /dev/null +++ b/cpp/broker/src/SessionHandlerImpl.cpp @@ -0,0 +1,378 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "SessionHandlerImpl.h" +#include "FanOutExchange.h" +#include "assert.h" + +using namespace std::tr1; +using namespace qpid::broker; +using namespace qpid::io; +using namespace qpid::framing; +using namespace qpid::concurrent; + +SessionHandlerImpl::SessionHandlerImpl(SessionContext* _context, + QueueRegistry* _queues, + ExchangeRegistry* _exchanges, + AutoDelete* _cleaner, + const u_int32_t _timeout) : context(_context), + queues(_queues), + exchanges(_exchanges), + cleaner(_cleaner), + timeout(_timeout), + channelHandler(new ChannelHandlerImpl(this)), + connectionHandler(new ConnectionHandlerImpl(this)), + basicHandler(new BasicHandlerImpl(this)), + exchangeHandler(new ExchangeHandlerImpl(this)), + queueHandler(new QueueHandlerImpl(this)), + framemax(65536), + heartbeat(0){ + +} + +SessionHandlerImpl::~SessionHandlerImpl(){ + // TODO aconway 2006-09-07: Should be auto_ptr or plain members. + delete channelHandler; + delete connectionHandler; + delete basicHandler; + delete exchangeHandler; + delete queueHandler; +} + +Queue::shared_ptr SessionHandlerImpl::getQueue(const string& name, u_int16_t channel){ + Queue::shared_ptr queue; + if (name.empty()) { + queue = channels[channel]->getDefaultQueue(); + if (!queue) throw ConnectionException( 530, "Queue must be specified or previously declared" ); + } else { + queue = queues->find(name); + if (queue == 0) { + throw ChannelException( 404, "Queue not found: " + name); + } + } + return queue; +} + + +Exchange* SessionHandlerImpl::findExchange(const string& name){ + exchanges->getLock()->acquire(); + Exchange* exchange(exchanges->get(name)); + exchanges->getLock()->release(); + return exchange; +} + +void SessionHandlerImpl::received(qpid::framing::AMQFrame* frame){ + u_int16_t channel = frame->getChannel(); + AMQBody::shared_ptr body = frame->getBody(); + AMQMethodBody::shared_ptr method; + + switch(body->type()) + { + case METHOD_BODY: + method = dynamic_pointer_cast<AMQMethodBody, AMQBody>(body); + try{ + method->invoke(*this, channel); + }catch(ChannelException& e){ + channels[channel]->close(); + channels.erase(channel); + context->send(new AMQFrame(channel, new ChannelCloseBody(e.code, e.text, method->amqpClassId(), method->amqpMethodId()))); + }catch(ConnectionException& e){ + context->send(new AMQFrame(0, new ConnectionCloseBody(e.code, e.text, method->amqpClassId(), method->amqpMethodId()))); + } + break; + + case HEADER_BODY: + this->handleHeader(channel, dynamic_pointer_cast<AMQHeaderBody, AMQBody>(body)); + break; + + case CONTENT_BODY: + this->handleContent(channel, dynamic_pointer_cast<AMQContentBody, AMQBody>(body)); + break; + + case HEARTBEAT_BODY: + //channel must be 0 + this->handleHeartbeat(dynamic_pointer_cast<AMQHeartbeatBody, AMQBody>(body)); + break; + } +} + +void SessionHandlerImpl::initiated(qpid::framing::ProtocolInitiation* header){ + //send connection start + FieldTable properties; + string mechanisms("PLAIN"); + string locales("en_US"); + context->send(new AMQFrame(0, new ConnectionStartBody(8, 0, properties, mechanisms, locales))); +} + +void SessionHandlerImpl::idleOut(){ + +} + +void SessionHandlerImpl::idleIn(){ + +} + +void SessionHandlerImpl::closed(){ + for(channel_iterator i = channels.begin(); i != channels.end(); i = channels.begin()){ + Channel* c = i->second; + channels.erase(i); + c->close(); + delete c; + } + for(queue_iterator i = exclusiveQueues.begin(); i < exclusiveQueues.end(); i = exclusiveQueues.begin()){ + string name = (*i)->getName(); + queues->destroy(name); + exclusiveQueues.erase(i); + } +} + +void SessionHandlerImpl::handleHeader(u_int16_t channel, AMQHeaderBody::shared_ptr body){ + channels[channel]->handleHeader(body, exchanges); +} + +void SessionHandlerImpl::handleContent(u_int16_t channel, AMQContentBody::shared_ptr body){ + channels[channel]->handleContent(body, exchanges); +} + +void SessionHandlerImpl::handleHeartbeat(AMQHeartbeatBody::shared_ptr body){ + std::cout << "SessionHandlerImpl::handleHeartbeat()" << std::endl; +} + +void SessionHandlerImpl::ConnectionHandlerImpl::startOk(u_int16_t channel, FieldTable& clientProperties, string& mechanism, + string& response, string& locale){ + + parent->context->send(new AMQFrame(0, new ConnectionTuneBody(100, parent->framemax, parent->heartbeat))); +} + +void SessionHandlerImpl::ConnectionHandlerImpl::secureOk(u_int16_t channel, string& response){} + +void SessionHandlerImpl::ConnectionHandlerImpl::tuneOk(u_int16_t channel, u_int16_t channelmax, u_int32_t framemax, u_int16_t heartbeat){ + parent->framemax = framemax; + parent->heartbeat = heartbeat; +} + +void SessionHandlerImpl::ConnectionHandlerImpl::open(u_int16_t channel, string& virtualHost, string& capabilities, bool insist){ + string knownhosts; + parent->context->send(new AMQFrame(0, new ConnectionOpenOkBody(knownhosts))); +} + +void SessionHandlerImpl::ConnectionHandlerImpl::close(u_int16_t channel, u_int16_t replyCode, string& replyText, + u_int16_t classId, u_int16_t methodId){ + + parent->context->send(new AMQFrame(0, new ConnectionCloseOkBody())); + parent->context->close(); +} + +void SessionHandlerImpl::ConnectionHandlerImpl::closeOk(u_int16_t channel){ + parent->context->close(); +} + + + +void SessionHandlerImpl::ChannelHandlerImpl::open(u_int16_t channel, string& outOfBand){ + parent->channels[channel] = new Channel(parent->context, channel, parent->framemax); + parent->context->send(new AMQFrame(channel, new ChannelOpenOkBody())); +} + +void SessionHandlerImpl::ChannelHandlerImpl::flow(u_int16_t channel, bool active){} +void SessionHandlerImpl::ChannelHandlerImpl::flowOk(u_int16_t channel, bool active){} + +void SessionHandlerImpl::ChannelHandlerImpl::close(u_int16_t channel, u_int16_t replyCode, string& replyText, + u_int16_t classId, u_int16_t methodId){ + Channel* c = parent->channels[channel]; + parent->channels.erase(channel); + c->close(); + delete c; + parent->context->send(new AMQFrame(channel, new ChannelCloseOkBody())); +} + +void SessionHandlerImpl::ChannelHandlerImpl::closeOk(u_int16_t channel){} + + + +void SessionHandlerImpl::ExchangeHandlerImpl::declare(u_int16_t channel, u_int16_t ticket, string& exchange, string& type, + bool passive, bool durable, bool autoDelete, bool internal, bool nowait, + FieldTable& arguments){ + + if(!passive && ( + type != TopicExchange::typeName && + type != DirectExchange::typeName && + type != FanOutExchange::typeName) + ) + { + throw ChannelException(540, "Exchange type not implemented: " + type); + } + + parent->exchanges->getLock()->acquire(); + if(!parent->exchanges->get(exchange)){ + if(type == TopicExchange::typeName){ + parent->exchanges->declare(new TopicExchange(exchange)); + }else if(type == DirectExchange::typeName){ + parent->exchanges->declare(new DirectExchange(exchange)); + }else if(type == FanOutExchange::typeName){ + parent->exchanges->declare(new DirectExchange(exchange)); + } + } + parent->exchanges->getLock()->release(); + if(!nowait){ + parent->context->send(new AMQFrame(channel, new ExchangeDeclareOkBody())); + } +} + +void SessionHandlerImpl::ExchangeHandlerImpl::delete_(u_int16_t channel, u_int16_t ticket, string& exchange, bool ifUnused, bool nowait){ + //TODO: implement unused + parent->exchanges->getLock()->acquire(); + parent->exchanges->destroy(exchange); + parent->exchanges->getLock()->release(); + if(!nowait) parent->context->send(new AMQFrame(channel, new ExchangeDeleteOkBody())); +} + + + + +void SessionHandlerImpl::QueueHandlerImpl::declare(u_int16_t channel, u_int16_t ticket, string& name, + bool passive, bool durable, bool exclusive, + bool autoDelete, bool nowait, FieldTable& arguments){ + Queue::shared_ptr queue; + if (passive && !name.empty()) { + queue = parent->getQueue(name, channel); + } else { + std::pair<Queue::shared_ptr, bool> queue_created = parent->queues->declare(name, durable, autoDelete ? parent->timeout : 0, exclusive ? parent : 0); + queue = queue_created.first; + assert(queue); + if (queue_created.second) { // This is a new queue + parent->channels[channel]->setDefaultQueue(queue); + //add default binding: + parent->exchanges->get("amq.direct")->bind(queue, name, 0); + if(exclusive){ + parent->exclusiveQueues.push_back(queue); + } else if(autoDelete){ + parent->cleaner->add(queue); + } + } + } + if(exclusive && !queue->isExclusiveOwner(parent)){ + throw ChannelException(405, "Cannot grant exclusive access to queue"); + } + if(!nowait){ + name = queue->getName(); + QueueDeclareOkBody* response = new QueueDeclareOkBody(name, queue->getMessageCount(), queue->getConsumerCount()); + parent->context->send(new AMQFrame(channel, response)); + } +} + +void SessionHandlerImpl::QueueHandlerImpl::bind(u_int16_t channel, u_int16_t ticket, string& queueName, + string& exchangeName, string& routingKey, bool nowait, + FieldTable& arguments){ + + Queue::shared_ptr queue = parent->getQueue(queueName, channel); + Exchange* exchange = parent->exchanges->get(exchangeName); + if(exchange){ + if(routingKey.size() == 0 && queueName.size() == 0) routingKey = queue->getName(); + exchange->bind(queue, routingKey, &arguments); + if(!nowait) parent->context->send(new AMQFrame(channel, new QueueBindOkBody())); + }else{ + throw ChannelException(404, "Bind failed. No such exchange: " + exchangeName); + } +} + +void SessionHandlerImpl::QueueHandlerImpl::purge(u_int16_t channel, u_int16_t ticket, string& queueName, bool nowait){ + + Queue::shared_ptr queue = parent->getQueue(queueName, channel); + int count = queue->purge(); + if(!nowait) parent->context->send(new AMQFrame(channel, new QueuePurgeOkBody(count))); +} + +void SessionHandlerImpl::QueueHandlerImpl::delete_(u_int16_t channel, u_int16_t ticket, string& queue, + bool ifUnused, bool ifEmpty, bool nowait){ + ChannelException error(0, ""); + int count(0); + Queue::shared_ptr q = parent->getQueue(queue, channel); + if(ifEmpty && q->getMessageCount() > 0){ + throw ChannelException(406, "Queue not empty."); + }else if(ifUnused && q->getConsumerCount() > 0){ + throw ChannelException(406, "Queue in use."); + }else{ + //remove the queue from the list of exclusive queues if necessary + if(q->isExclusiveOwner(parent)){ + queue_iterator i = find(parent->exclusiveQueues.begin(), parent->exclusiveQueues.end(), q); + if(i < parent->exclusiveQueues.end()) parent->exclusiveQueues.erase(i); + } + count = q->getMessageCount(); + parent->queues->destroy(queue); + } + if(!nowait) parent->context->send(new AMQFrame(channel, new QueueDeleteOkBody(count))); +} + + + + +void SessionHandlerImpl::BasicHandlerImpl::qos(u_int16_t channel, u_int32_t prefetchSize, u_int16_t prefetchCount, bool global){ + //TODO: handle global + //TODO: channel doesn't do anything with these qos parameters yet + parent->channels[channel]->setPrefetchSize(prefetchSize); + parent->channels[channel]->setPrefetchCount(prefetchCount); + parent->context->send(new AMQFrame(channel, new BasicQosOkBody())); +} + +void SessionHandlerImpl::BasicHandlerImpl::consume(u_int16_t channelId, u_int16_t ticket, + string& queueName, string& consumerTag, + bool noLocal, bool noAck, bool exclusive, + bool nowait){ + + //TODO: implement nolocal + Queue::shared_ptr queue = parent->getQueue(queueName, channelId); + Channel* channel = parent->channels[channelId]; + if(!consumerTag.empty() && channel->exists(consumerTag)){ + throw ConnectionException(530, "Consumer tags must be unique"); + } + + try{ + channel->consume(consumerTag, queue, !noAck, exclusive, noLocal ? parent : 0); + if(!nowait) parent->context->send(new AMQFrame(channelId, new BasicConsumeOkBody(consumerTag))); + + //allow messages to be dispatched if required as there is now a consumer: + queue->dispatch(); + }catch(ExclusiveAccessException& e){ + if(exclusive) throw ChannelException(403, "Exclusive access cannot be granted"); + else throw ChannelException(403, "Access would violate previously granted exclusivity"); + } + +} + +void SessionHandlerImpl::BasicHandlerImpl::cancel(u_int16_t channel, string& consumerTag, bool nowait){ + parent->channels[channel]->cancel(consumerTag); + if(!nowait) parent->context->send(new AMQFrame(channel, new BasicCancelOkBody(consumerTag))); +} + +void SessionHandlerImpl::BasicHandlerImpl::publish(u_int16_t channel, u_int16_t ticket, + string& exchange, string& routingKey, + bool mandatory, bool immediate){ + + Message* msg = new Message(parent, exchange.length() ? exchange : "amq.direct", routingKey, mandatory, immediate); + parent->channels[channel]->handlePublish(msg); +} + +void SessionHandlerImpl::BasicHandlerImpl::get(u_int16_t channel, u_int16_t ticket, string& queue, bool noAck){} + +void SessionHandlerImpl::BasicHandlerImpl::ack(u_int16_t channel, u_int64_t deliveryTag, bool multiple){} + +void SessionHandlerImpl::BasicHandlerImpl::reject(u_int16_t channel, u_int64_t deliveryTag, bool requeue){} + +void SessionHandlerImpl::BasicHandlerImpl::recover(u_int16_t channel, bool requeue){} + diff --git a/cpp/broker/src/TopicExchange.cpp b/cpp/broker/src/TopicExchange.cpp new file mode 100644 index 0000000000..e0248958f9 --- /dev/null +++ b/cpp/broker/src/TopicExchange.cpp @@ -0,0 +1,62 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "TopicExchange.h" +#include "ExchangeBinding.h" + +using namespace qpid::broker; +using namespace qpid::framing; + +TopicExchange::TopicExchange(const string& _name) : name(_name) { + +} + +void TopicExchange::bind(Queue::shared_ptr queue, const string& routingKey, FieldTable* args){ + lock.acquire(); + bindings[routingKey].push_back(queue); + queue->bound(new ExchangeBinding(this, queue, routingKey, args)); + lock.release(); +} + +void TopicExchange::unbind(Queue::shared_ptr queue, const string& routingKey, FieldTable* args){ + lock.acquire(); + std::vector<Queue::shared_ptr>& queues(bindings[routingKey]); + + std::vector<Queue::shared_ptr>::iterator i = find(queues.begin(), queues.end(), queue); + if(i < queues.end()){ + queues.erase(i); + if(queues.empty()){ + bindings.erase(routingKey); + } + } + lock.release(); +} + +void TopicExchange::route(Message::shared_ptr& msg, const string& routingKey, FieldTable* args){ + lock.acquire(); + std::vector<Queue::shared_ptr>& queues(bindings[routingKey]); + for(std::vector<Queue::shared_ptr>::iterator i = queues.begin(); i != queues.end(); i++){ + (*i)->deliver(msg); + } + lock.release(); +} + +TopicExchange::~TopicExchange(){ + +} + +const std::string TopicExchange::typeName("topic"); diff --git a/cpp/broker/test/Makefile b/cpp/broker/test/Makefile new file mode 100644 index 0000000000..172ce564bf --- /dev/null +++ b/cpp/broker/test/Makefile @@ -0,0 +1,20 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +QPID_HOME = ../../.. +LDLIBS=-lapr-1 -lcppunit $(COMMON_LIB) $(BROKER_LIB) +include ${QPID_HOME}/cpp/test_plugins.mk + diff --git a/cpp/broker/test/QueueRegistryTest.cpp b/cpp/broker/test/QueueRegistryTest.cpp new file mode 100644 index 0000000000..c4ad40b5cd --- /dev/null +++ b/cpp/broker/test/QueueRegistryTest.cpp @@ -0,0 +1,79 @@ +#include "QueueRegistry.h" +#include <cppunit/TestCase.h> +#include <cppunit/TextTestRunner.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> +#include <string> + +using namespace qpid::broker; + +class QueueRegistryTest : public CppUnit::TestCase +{ + CPPUNIT_TEST_SUITE(QueueRegistryTest); + CPPUNIT_TEST(testDeclare); + CPPUNIT_TEST(testDeclareTmp); + CPPUNIT_TEST(testFind); + CPPUNIT_TEST(testDestroy); + CPPUNIT_TEST_SUITE_END(); + + private: + std::string foo, bar; + QueueRegistry reg; + std::pair<Queue::shared_ptr, bool> qc; + + public: + void setUp() { + foo = "foo"; + bar = "bar"; + } + + void testDeclare() { + qc = reg.declare(foo, false, 0, 0); + Queue::shared_ptr q = qc.first; + CPPUNIT_ASSERT(q); + CPPUNIT_ASSERT(qc.second); // New queue + CPPUNIT_ASSERT_EQUAL(foo, q->getName()); + + qc = reg.declare(foo, false, 0, 0); + CPPUNIT_ASSERT_EQUAL(q, qc.first); + CPPUNIT_ASSERT(!qc.second); + + qc = reg.declare(bar, false, 0, 0); + q = qc.first; + CPPUNIT_ASSERT(q); + CPPUNIT_ASSERT_EQUAL(true, qc.second); + CPPUNIT_ASSERT_EQUAL(bar, q->getName()); + } + + void testDeclareTmp() + { + qc = reg.declare(std::string(), false, 0, 0); + CPPUNIT_ASSERT(qc.second); + CPPUNIT_ASSERT_EQUAL(std::string("tmp_1"), qc.first->getName()); + } + + void testFind() { + CPPUNIT_ASSERT(reg.find(foo) == 0); + + reg.declare(foo, false, 0, 0); + reg.declare(bar, false, 0, 0); + Queue::shared_ptr q = reg.find(bar); + CPPUNIT_ASSERT(q); + CPPUNIT_ASSERT_EQUAL(bar, q->getName()); + } + + void testDestroy() { + qc = reg.declare(foo, false, 0, 0); + reg.destroy(foo); + // Queue is gone from the registry. + CPPUNIT_ASSERT(reg.find(foo) == 0); + // Queue is not actually destroyed till we drop our reference. + CPPUNIT_ASSERT_EQUAL(foo, qc.first->getName()); + // We shoud be the only reference. + CPPUNIT_ASSERT_EQUAL(1L, qc.first.use_count()); + } +}; + +// Make this test suite a plugin. +CPPUNIT_PLUGIN_IMPLEMENT(); +CPPUNIT_TEST_SUITE_REGISTRATION(QueueRegistryTest); diff --git a/cpp/broker/test/exchange_test.cpp b/cpp/broker/test/exchange_test.cpp new file mode 100644 index 0000000000..6605f2685b --- /dev/null +++ b/cpp/broker/test/exchange_test.cpp @@ -0,0 +1,68 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "DirectExchange.h" +#include "Exchange.h" +#include "Queue.h" +#include "TopicExchange.h" +#include <cppunit/TestCase.h> +#include <cppunit/TextTestRunner.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> +#include <iostream> + +using namespace qpid::broker; +using namespace qpid::concurrent; + +class ExchangeTest : public CppUnit::TestCase +{ + CPPUNIT_TEST_SUITE(ExchangeTest); + CPPUNIT_TEST(testMe); + CPPUNIT_TEST_SUITE_END(); + + public: + + // TODO aconway 2006-09-12: Need more detailed tests. + + void testMe() + { + Queue::shared_ptr queue(new Queue("queue", true, true)); + Queue::shared_ptr queue2(new Queue("queue2", true, true)); + + TopicExchange topic("topic"); + topic.bind(queue, "abc", 0); + topic.bind(queue2, "abc", 0); + + DirectExchange direct("direct"); + direct.bind(queue, "abc", 0); + direct.bind(queue2, "abc", 0); + + queue.reset(); + queue2.reset(); + + Message::shared_ptr msg = Message::shared_ptr(new Message(0, "e", "A", true, true)); + topic.route(msg, "abc", 0); + direct.route(msg, "abc", 0); + + // TODO aconway 2006-09-12: TODO Why no assertions? + } +}; + +// Make this test suite a plugin. +CPPUNIT_PLUGIN_IMPLEMENT(); +CPPUNIT_TEST_SUITE_REGISTRATION(ExchangeTest); diff --git a/cpp/broker/test/message_test.cpp b/cpp/broker/test/message_test.cpp new file mode 100644 index 0000000000..94d25a831e --- /dev/null +++ b/cpp/broker/test/message_test.cpp @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "APRBase.h" +#include "Message.h" +#include <cppunit/TestCase.h> +#include <cppunit/TextTestRunner.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> +#include <iostream> + +using namespace qpid::broker; +using namespace qpid::framing; +using namespace qpid::concurrent; + +class MessageTest : public CppUnit::TestCase +{ + CPPUNIT_TEST_SUITE(MessageTest); + CPPUNIT_TEST(testMe); + CPPUNIT_TEST_SUITE_END(); + + public: + + // TODO aconway 2006-09-12: Need more detailed tests, + // need tests to assert something! + // + void testMe() + { + APRBase::increment(); + const int size(10); + for(int i = 0; i < size; i++){ + Message::shared_ptr msg = Message::shared_ptr(new Message(0, "A", "B", true, true)); + msg->setHeader(AMQHeaderBody::shared_ptr(new AMQHeaderBody())); + msg->addContent(AMQContentBody::shared_ptr(new AMQContentBody())); + msg.reset(); + } + } +}; + +// Make this test suite a plugin. +CPPUNIT_PLUGIN_IMPLEMENT(); +CPPUNIT_TEST_SUITE_REGISTRATION(MessageTest); + diff --git a/cpp/broker/test/queue_test.cpp b/cpp/broker/test/queue_test.cpp new file mode 100644 index 0000000000..aa423e7e08 --- /dev/null +++ b/cpp/broker/test/queue_test.cpp @@ -0,0 +1,138 @@ + /* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Queue.h" +#include "QueueRegistry.h" +#include <cppunit/TestCase.h> +#include <cppunit/TextTestRunner.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> +#include <iostream> + +using namespace qpid::broker; +using namespace qpid::concurrent; + + +class TestBinding : public virtual Binding{ + bool cancelled; + +public: + TestBinding(); + virtual void cancel(); + bool isCancelled(); +}; + +class TestConsumer : public virtual Consumer{ +public: + Message::shared_ptr last; + + virtual bool deliver(Message::shared_ptr& msg); +}; + + +class QueueTest : public CppUnit::TestCase +{ + CPPUNIT_TEST_SUITE(QueueTest); + CPPUNIT_TEST(testMe); + CPPUNIT_TEST_SUITE_END(); + + public: + void testMe() + { + Queue::shared_ptr queue(new Queue("my_queue", true, true)); + + //Test adding consumers: + TestConsumer c1; + TestConsumer c2; + queue->consume(&c1); + queue->consume(&c2); + + CPPUNIT_ASSERT_EQUAL(u_int32_t(2), queue->getConsumerCount()); + + //Test basic delivery: + Message::shared_ptr msg1 = Message::shared_ptr(new Message(0, "e", "A", true, true)); + Message::shared_ptr msg2 = Message::shared_ptr(new Message(0, "e", "B", true, true)); + Message::shared_ptr msg3 = Message::shared_ptr(new Message(0, "e", "C", true, true)); + + queue->deliver(msg1); + CPPUNIT_ASSERT_EQUAL(msg1.get(), c1.last.get()); + + queue->deliver(msg2); + CPPUNIT_ASSERT_EQUAL(msg2.get(), c2.last.get()); + + queue->deliver(msg3); + CPPUNIT_ASSERT_EQUAL(msg3.get(), c1.last.get()); + + //Test cancellation: + queue->cancel(&c1); + CPPUNIT_ASSERT_EQUAL(u_int32_t(1), queue->getConsumerCount()); + queue->cancel(&c2); + CPPUNIT_ASSERT_EQUAL(u_int32_t(0), queue->getConsumerCount()); + + //Test bindings: + TestBinding a; + TestBinding b; + queue->bound(&a); + queue->bound(&b); + + queue.reset(); + + CPPUNIT_ASSERT(a.isCancelled()); + CPPUNIT_ASSERT(b.isCancelled()); + + //Test use of queues in registry: + QueueRegistry registry; + registry.declare("queue1", true, true); + registry.declare("queue2", true, true); + registry.declare("queue3", true, true); + + CPPUNIT_ASSERT(registry.find("queue1")); + CPPUNIT_ASSERT(registry.find("queue2")); + CPPUNIT_ASSERT(registry.find("queue3")); + + registry.destroy("queue1"); + registry.destroy("queue2"); + registry.destroy("queue3"); + + CPPUNIT_ASSERT(!registry.find("queue1")); + CPPUNIT_ASSERT(!registry.find("queue2")); + CPPUNIT_ASSERT(!registry.find("queue3")); + } +}; + +// Make this test suite a plugin. +CPPUNIT_PLUGIN_IMPLEMENT(); +CPPUNIT_TEST_SUITE_REGISTRATION(QueueTest); + +//TestBinding +TestBinding::TestBinding() : cancelled(false) {} + +void TestBinding::cancel(){ + CPPUNIT_ASSERT(!cancelled); + cancelled = true; +} + +bool TestBinding::isCancelled(){ + return cancelled; +} + +//TestConsumer +bool TestConsumer::deliver(Message::shared_ptr& msg){ + last = msg; + return true; +} + diff --git a/cpp/client/Makefile b/cpp/client/Makefile new file mode 100644 index 0000000000..d08b92fe2b --- /dev/null +++ b/cpp/client/Makefile @@ -0,0 +1,43 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Build client library. +# + +QPID_HOME = ../.. +include ${QPID_HOME}/cpp/options.mk + +SOURCES := $(wildcard src/*.cpp) +OBJECTS := $(subst .cpp,.o,$(SOURCES)) +CLIENT_LIB=$(LIB_DIR)/libqpid_client.so.1.0 + +.PHONY: all test clean + +all: $(CLIENT_LIB) + +test: + @$(MAKE) -C test all + +clean: + -@rm -f $(CLIENT_LIB) $(OBJECTS) src/*.d + $(MAKE) -C test clean + +$(CLIENT_LIB): $(OBJECTS) + $(CXX) -shared -o $@ $^ $(LDFLAGS) $(COMMON_LIB) + +# Dependencies +-include $(SOURCES:.cpp=.d) diff --git a/cpp/client/inc/Channel.h b/cpp/client/inc/Channel.h new file mode 100644 index 0000000000..debecf922e --- /dev/null +++ b/cpp/client/inc/Channel.h @@ -0,0 +1,127 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <map> +#include <string> +#include <queue> +#include "sys/types.h" + +#ifndef _Channel_ +#define _Channel_ + +#include "amqp_framing.h" + +#include "ThreadFactory.h" + +#include "Connection.h" +#include "Exchange.h" +#include "IncomingMessage.h" +#include "Message.h" +#include "MessageListener.h" +#include "Queue.h" +#include "ResponseHandler.h" +#include "ReturnedMessageHandler.h" + +namespace qpid { +namespace client { + enum ack_modes {NO_ACK=0, AUTO_ACK=1, LAZY_ACK=2, CLIENT_ACK=3}; + + class Channel : private virtual qpid::framing::BodyHandler, public virtual qpid::concurrent::Runnable{ + struct Consumer{ + MessageListener* listener; + int ackMode; + int count; + u_int64_t lastDeliveryTag; + }; + typedef std::map<string,Consumer*>::iterator consumer_iterator; + + u_int16_t id; + Connection* con; + qpid::concurrent::ThreadFactory* threadFactory; + qpid::concurrent::Thread* dispatcher; + qpid::framing::OutputHandler* out; + IncomingMessage* incoming; + ResponseHandler responses; + std::queue<IncomingMessage*> messages;//holds returned messages or those delivered for a consume + IncomingMessage* retrieved;//holds response to basic.get + qpid::concurrent::Monitor* dispatchMonitor; + qpid::concurrent::Monitor* retrievalMonitor; + std::map<std::string, Consumer*> consumers; + ReturnedMessageHandler* returnsHandler; + bool closed; + + u_int16_t prefetch; + const bool transactional; + + void enqueue(); + void retrieve(Message& msg); + IncomingMessage* dequeue(); + void dispatch(); + void stop(); + void sendAndReceive(qpid::framing::AMQFrame* frame, const qpid::framing::AMQMethodBody& body); + void deliver(Consumer* consumer, Message& msg); + void setQos(); + void cancelAll(); + + virtual void handleMethod(qpid::framing::AMQMethodBody::shared_ptr body); + virtual void handleHeader(qpid::framing::AMQHeaderBody::shared_ptr body); + virtual void handleContent(qpid::framing::AMQContentBody::shared_ptr body); + virtual void handleHeartbeat(qpid::framing::AMQHeartbeatBody::shared_ptr body); + + public: + Channel(bool transactional = false, u_int16_t prefetch = 500); + ~Channel(); + + void declareExchange(Exchange& exchange, bool synch = true); + void deleteExchange(Exchange& exchange, bool synch = true); + void declareQueue(Queue& queue, bool synch = true); + void deleteQueue(Queue& queue, bool ifunused = false, bool ifempty = false, bool synch = true); + void bind(const Exchange& exchange, const Queue& queue, const std::string& key, + const qpid::framing::FieldTable& args, bool synch = true); + void consume(Queue& queue, std::string& tag, MessageListener* listener, + int ackMode = NO_ACK, bool noLocal = false, bool synch = true); + void cancel(std::string& tag, bool synch = true); + bool get(Message& msg, const Queue& queue, int ackMode = NO_ACK); + void publish(Message& msg, const Exchange& exchange, const std::string& routingKey, + bool mandatory = false, bool immediate = false); + + void commit(); + void rollback(); + + void setPrefetch(u_int16_t prefetch); + + /** + * Start message dispatching on a new thread + */ + void start(); + /** + * Do message dispatching on this thread + */ + void run(); + + void close(); + + void setReturnedMessageHandler(ReturnedMessageHandler* handler); + + friend class Connection; + }; + +} +} + + +#endif diff --git a/cpp/client/inc/Connection.h b/cpp/client/inc/Connection.h new file mode 100644 index 0000000000..89169e92b1 --- /dev/null +++ b/cpp/client/inc/Connection.h @@ -0,0 +1,105 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <map> +#include <string> + +#ifndef _Connection_ +#define _Connection_ + +#include "QpidError.h" +#include "Connector.h" +#include "ShutdownHandler.h" +#include "TimeoutHandler.h" + +#include "amqp_framing.h" +#include "Exchange.h" +#include "IncomingMessage.h" +#include "Message.h" +#include "MessageListener.h" +#include "Queue.h" +#include "ResponseHandler.h" + +namespace qpid { +namespace client { + + class Channel; + + class Connection : public virtual qpid::framing::InputHandler, + public virtual qpid::io::TimeoutHandler, + public virtual qpid::io::ShutdownHandler, + private virtual qpid::framing::BodyHandler{ + + typedef std::map<int, Channel*>::iterator iterator; + + static u_int16_t channelIdCounter; + + std::string host; + int port; + const u_int32_t max_frame_size; + std::map<int, Channel*> channels; + qpid::io::Connector* connector; + qpid::framing::OutputHandler* out; + ResponseHandler responses; + volatile bool closed; + + void channelException(Channel* channel, qpid::framing::AMQMethodBody* body, QpidError& e); + void error(int code, const string& msg, int classid = 0, int methodid = 0); + void closeChannel(Channel* channel, u_int16_t code, string& text, u_int16_t classId = 0, u_int16_t methodId = 0); + void sendAndReceive(qpid::framing::AMQFrame* frame, const qpid::framing::AMQMethodBody& body); + + virtual void handleMethod(qpid::framing::AMQMethodBody::shared_ptr body); + virtual void handleHeader(qpid::framing::AMQHeaderBody::shared_ptr body); + virtual void handleContent(qpid::framing::AMQContentBody::shared_ptr body); + virtual void handleHeartbeat(qpid::framing::AMQHeartbeatBody::shared_ptr body); + + public: + + Connection(bool debug = false, u_int32_t max_frame_size = 65536); + ~Connection(); + void open(const std::string& host, int port = 5672, + const std::string& uid = "guest", const std::string& pwd = "guest", + const std::string& virtualhost = "/"); + void close(); + void openChannel(Channel* channel); + /* + * Requests that the server close this channel, then removes + * the association to the channel from this connection + */ + void closeChannel(Channel* channel); + /* + * Removes the channel from association with this connection, + * without sending a close request to the server. + */ + void removeChannel(Channel* channel); + + virtual void received(qpid::framing::AMQFrame* frame); + + virtual void idleOut(); + virtual void idleIn(); + + virtual void shutdown(); + + inline u_int32_t getMaxFrameSize(){ return max_frame_size; } + }; + + +} +} + + +#endif diff --git a/cpp/client/inc/Exchange.h b/cpp/client/inc/Exchange.h new file mode 100644 index 0000000000..66593a41cc --- /dev/null +++ b/cpp/client/inc/Exchange.h @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef _Exchange_ +#define _Exchange_ + +namespace qpid { +namespace client { + + class Exchange{ + const std::string name; + const std::string type; + + public: + + static const std::string DIRECT_EXCHANGE; + static const std::string TOPIC_EXCHANGE; + static const std::string HEADERS_EXCHANGE; + + static const Exchange DEFAULT_DIRECT_EXCHANGE; + static const Exchange DEFAULT_TOPIC_EXCHANGE; + static const Exchange DEFAULT_HEADERS_EXCHANGE; + + Exchange(std::string name, std::string type = DIRECT_EXCHANGE); + const std::string& getName() const; + const std::string& getType() const; + }; + +} +} + + +#endif diff --git a/cpp/client/inc/IncomingMessage.h b/cpp/client/inc/IncomingMessage.h new file mode 100644 index 0000000000..1fee6af433 --- /dev/null +++ b/cpp/client/inc/IncomingMessage.h @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> +#include <vector> +#include "amqp_framing.h" + +#ifndef _IncomingMessage_ +#define _IncomingMessage_ + +#include "Message.h" + +namespace qpid { +namespace client { + + class IncomingMessage{ + //content will be preceded by one of these method frames + qpid::framing::BasicDeliverBody::shared_ptr delivered; + qpid::framing::BasicReturnBody::shared_ptr returned; + qpid::framing::BasicGetOkBody::shared_ptr response; + qpid::framing::AMQHeaderBody::shared_ptr header; + std::vector<qpid::framing::AMQContentBody::shared_ptr> content; + + long contentSize(); + public: + IncomingMessage(qpid::framing::BasicDeliverBody::shared_ptr intro); + IncomingMessage(qpid::framing::BasicReturnBody::shared_ptr intro); + IncomingMessage(qpid::framing::BasicGetOkBody::shared_ptr intro); + ~IncomingMessage(); + void setHeader(qpid::framing::AMQHeaderBody::shared_ptr header); + void addContent(qpid::framing::AMQContentBody::shared_ptr content); + bool isComplete(); + bool isReturn(); + bool isDelivery(); + bool isResponse(); + string& getConsumerTag();//only relevant if isDelivery() + qpid::framing::AMQHeaderBody::shared_ptr& getHeader(); + u_int64_t getDeliveryTag(); + void getData(string& data); + }; + +} +} + + +#endif diff --git a/cpp/client/inc/Message.h b/cpp/client/inc/Message.h new file mode 100644 index 0000000000..f8a5aef565 --- /dev/null +++ b/cpp/client/inc/Message.h @@ -0,0 +1,86 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> +#include "amqp_framing.h" + +#ifndef _Message_ +#define _Message_ + + +namespace qpid { +namespace client { + + class Message{ + qpid::framing::AMQHeaderBody::shared_ptr header; + string data; + bool redelivered; + u_int64_t deliveryTag; + + qpid::framing::BasicHeaderProperties* getHeaderProperties(); + Message(qpid::framing::AMQHeaderBody::shared_ptr& header); + public: + Message(); + ~Message(); + + inline std::string getData(){ return data; } + inline void setData(const std::string& data){ this->data = data; } + + inline bool isRedelivered(){ return redelivered; } + inline void setRedelivered(bool redelivered){ this->redelivered = redelivered; } + + inline u_int64_t getDeliveryTag(){ return deliveryTag; } + + std::string& getContentType(); + std::string& getContentEncoding(); + qpid::framing::FieldTable& getHeaders(); + u_int8_t getDeliveryMode(); + u_int8_t getPriority(); + std::string& getCorrelationId(); + std::string& getReplyTo(); + std::string& getExpiration(); + std::string& getMessageId(); + u_int64_t getTimestamp(); + std::string& getType(); + std::string& getUserId(); + std::string& getAppId(); + std::string& getClusterId(); + + void setContentType(std::string& type); + void setContentEncoding(std::string& encoding); + void setHeaders(qpid::framing::FieldTable& headers); + void setDeliveryMode(u_int8_t mode); + void setPriority(u_int8_t priority); + void setCorrelationId(std::string& correlationId); + void setReplyTo(std::string& replyTo); + void setExpiration(std::string& expiration); + void setMessageId(std::string& messageId); + void setTimestamp(u_int64_t timestamp); + void setType(std::string& type); + void setUserId(std::string& userId); + void setAppId(std::string& appId); + void setClusterId(std::string& clusterId); + + + friend class Channel; + }; + +} +} + + +#endif diff --git a/cpp/client/inc/MessageListener.h b/cpp/client/inc/MessageListener.h new file mode 100644 index 0000000000..47307a4df5 --- /dev/null +++ b/cpp/client/inc/MessageListener.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef _MessageListener_ +#define _MessageListener_ + +#include "Message.h" + +namespace qpid { +namespace client { + + class MessageListener{ + public: + virtual void received(Message& msg) = 0; + }; + +} +} + + +#endif diff --git a/cpp/client/inc/Queue.h b/cpp/client/inc/Queue.h new file mode 100644 index 0000000000..e0964af774 --- /dev/null +++ b/cpp/client/inc/Queue.h @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef _Queue_ +#define _Queue_ + +namespace qpid { +namespace client { + + class Queue{ + std::string name; + const bool autodelete; + const bool exclusive; + + public: + + Queue(); + Queue(std::string name); + Queue(std::string name, bool temp); + Queue(std::string name, bool autodelete, bool exclusive); + const std::string& getName() const; + void setName(const std::string&); + bool isAutoDelete() const; + bool isExclusive() const; + }; + +} +} + + +#endif diff --git a/cpp/client/inc/ResponseHandler.h b/cpp/client/inc/ResponseHandler.h new file mode 100644 index 0000000000..f5392c954d --- /dev/null +++ b/cpp/client/inc/ResponseHandler.h @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> +#include "amqp_framing.h" +#include "Monitor.h" + +#ifndef _ResponseHandler_ +#define _ResponseHandler_ + +namespace qpid { + namespace client { + + class ResponseHandler{ + bool waiting; + qpid::framing::AMQMethodBody::shared_ptr response; + qpid::concurrent::Monitor* monitor; + + public: + ResponseHandler(); + ~ResponseHandler(); + inline bool isWaiting(){ return waiting; } + inline qpid::framing::AMQMethodBody::shared_ptr getResponse(){ return response; } + bool validate(const qpid::framing::AMQMethodBody& expected); + void waitForResponse(); + void signalResponse(qpid::framing::AMQMethodBody::shared_ptr response); + void receive(const qpid::framing::AMQMethodBody& expected); + void expect();//must be called before calling receive + }; + + } +} + + +#endif diff --git a/cpp/client/inc/ReturnedMessageHandler.h b/cpp/client/inc/ReturnedMessageHandler.h new file mode 100644 index 0000000000..0117778fde --- /dev/null +++ b/cpp/client/inc/ReturnedMessageHandler.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef _ReturnedMessageHandler_ +#define _ReturnedMessageHandler_ + +#include "Message.h" + +namespace qpid { +namespace client { + + class ReturnedMessageHandler{ + public: + virtual void returned(Message& msg) = 0; + }; + +} +} + + +#endif diff --git a/cpp/client/src/Channel.cpp b/cpp/client/src/Channel.cpp new file mode 100644 index 0000000000..e965f7e5dd --- /dev/null +++ b/cpp/client/src/Channel.cpp @@ -0,0 +1,432 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Channel.h" +#include "MonitorImpl.h" +#include "ThreadFactoryImpl.h" +#include "Message.h" +#include "QpidError.h" + +using namespace std::tr1;//to use dynamic_pointer_cast +using namespace qpid::client; +using namespace qpid::framing; +using namespace qpid::concurrent; + +Channel::Channel(bool _transactional, u_int16_t _prefetch) : id(0), incoming(0), con(0), out(0), + prefetch(_prefetch), + transactional(_transactional), + dispatcher(0), + closed(true){ + threadFactory = new ThreadFactoryImpl(); + dispatchMonitor = new MonitorImpl(); + retrievalMonitor = new MonitorImpl(); +} + +Channel::~Channel(){ + if(dispatcher){ + stop(); + delete dispatcher; + } + delete retrievalMonitor; + delete dispatchMonitor; + delete threadFactory; +} + +void Channel::setPrefetch(u_int16_t prefetch){ + this->prefetch = prefetch; + if(con != 0 && out != 0){ + setQos(); + } +} + +void Channel::setQos(){ + sendAndReceive(new AMQFrame(id, new BasicQosBody(0, prefetch, false)), basic_qos_ok); + if(transactional){ + sendAndReceive(new AMQFrame(id, new TxSelectBody()), tx_select_ok); + } +} + +void Channel::declareExchange(Exchange& exchange, bool synch){ + string name = exchange.getName(); + string type = exchange.getType(); + FieldTable args; + AMQFrame* frame = new AMQFrame(id, new ExchangeDeclareBody(0, name, type, false, false, false, false, !synch, args)); + if(synch){ + sendAndReceive(frame, exchange_declare_ok); + }else{ + out->send(frame); + } +} + +void Channel::deleteExchange(Exchange& exchange, bool synch){ + string name = exchange.getName(); + AMQFrame* frame = new AMQFrame(id, new ExchangeDeleteBody(0, name, false, !synch)); + if(synch){ + sendAndReceive(frame, exchange_delete_ok); + }else{ + out->send(frame); + } +} + +void Channel::declareQueue(Queue& queue, bool synch){ + string name = queue.getName(); + FieldTable args; + AMQFrame* frame = new AMQFrame(id, new QueueDeclareBody(0, name, false, false, + queue.isExclusive(), + queue.isAutoDelete(), !synch, args)); + if(synch){ + sendAndReceive(frame, queue_declare_ok); + if(queue.getName().length() == 0){ + QueueDeclareOkBody::shared_ptr response = + dynamic_pointer_cast<QueueDeclareOkBody, AMQMethodBody>(responses.getResponse()); + queue.setName(response->getQueue()); + } + }else{ + out->send(frame); + } +} + +void Channel::deleteQueue(Queue& queue, bool ifunused, bool ifempty, bool synch){ + //ticket, queue, ifunused, ifempty, nowait + string name = queue.getName(); + AMQFrame* frame = new AMQFrame(id, new QueueDeleteBody(0, name, ifunused, ifempty, !synch)); + if(synch){ + sendAndReceive(frame, queue_delete_ok); + }else{ + out->send(frame); + } +} + +void Channel::bind(const Exchange& exchange, const Queue& queue, const std::string& key, const FieldTable& args, bool synch){ + string e = exchange.getName(); + string q = queue.getName(); + AMQFrame* frame = new AMQFrame(id, new QueueBindBody(0, q, e, (string&) key,!synch, (FieldTable&) args)); + if(synch){ + sendAndReceive(frame, queue_bind_ok); + }else{ + out->send(frame); + } +} + +void Channel::consume(Queue& queue, std::string& tag, MessageListener* listener, + int ackMode, bool noLocal, bool synch){ + + string q = queue.getName(); + AMQFrame* frame = new AMQFrame(id, new BasicConsumeBody(0, q, (string&) tag, noLocal, ackMode == NO_ACK, false, !synch)); + if(synch){ + sendAndReceive(frame, basic_consume_ok); + BasicConsumeOkBody::shared_ptr response = dynamic_pointer_cast<BasicConsumeOkBody, AMQMethodBody>(responses.getResponse()); + tag = response->getConsumerTag(); + }else{ + out->send(frame); + } + Consumer* c = new Consumer(); + c->listener = listener; + c->ackMode = ackMode; + c->lastDeliveryTag = 0; + consumers[tag] = c; +} + +void Channel::cancel(std::string& tag, bool synch){ + Consumer* c = consumers[tag]; + if(c->ackMode == LAZY_ACK && c->lastDeliveryTag > 0){ + out->send(new AMQFrame(id, new BasicAckBody(c->lastDeliveryTag, true))); + } + + AMQFrame* frame = new AMQFrame(id, new BasicCancelBody((string&) tag, !synch)); + if(synch){ + sendAndReceive(frame, basic_cancel_ok); + }else{ + out->send(frame); + } + consumers.erase(tag); + if(c != 0){ + delete c; + } +} + +void Channel::cancelAll(){ + int count(consumers.size()); + for(consumer_iterator i = consumers.begin(); i != consumers.end(); i = consumers.begin()){ + Consumer* c = i->second; + if((c->ackMode == LAZY_ACK || c->ackMode == AUTO_ACK) && c->lastDeliveryTag > 0){ + out->send(new AMQFrame(id, new BasicAckBody(c->lastDeliveryTag, true))); + } + consumers.erase(i); + delete c; + } +} + +void Channel::retrieve(Message& msg){ + retrievalMonitor->acquire(); + while(retrieved == 0){ + retrievalMonitor->wait(); + } + + msg.header = retrieved->getHeader(); + msg.deliveryTag = retrieved->getDeliveryTag(); + retrieved->getData(msg.data); + delete retrieved; + retrieved = 0; + + retrievalMonitor->release(); +} + +bool Channel::get(Message& msg, const Queue& queue, int ackMode){ + string name = queue.getName(); + AMQFrame* frame = new AMQFrame(id, new BasicGetBody(0, name, ackMode)); + responses.expect(); + out->send(frame); + responses.waitForResponse(); + AMQMethodBody::shared_ptr response = responses.getResponse(); + if(basic_get_ok.match(response.get())){ + if(incoming != 0){ + std::cout << "Existing message not complete" << std::endl; + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Existing message not complete"); + }else{ + incoming = new IncomingMessage(dynamic_pointer_cast<BasicGetOkBody, AMQMethodBody>(response)); + } + retrieve(msg); + return true; + }if(basic_get_empty.match(response.get())){ + return false; + }else{ + THROW_QPID_ERROR(PROTOCOL_ERROR + 500, "Unexpected response to basic.get."); + } +} + + +void Channel::publish(Message& msg, const Exchange& exchange, const std::string& routingKey, bool mandatory, bool immediate){ + string e = exchange.getName(); + string key = routingKey; + + out->send(new AMQFrame(id, new BasicPublishBody(0, e, key, mandatory, immediate))); + //break msg up into header frame and content frame(s) and send these + string data = msg.getData(); + msg.header->setContentSize(data.length()); + AMQBody::shared_ptr body(static_pointer_cast<AMQBody, AMQHeaderBody>(msg.header)); + out->send(new AMQFrame(id, body)); + + int data_length = data.length(); + if(data_length > 0){ + //TODO fragmentation of messages, need to know max frame size for connection + int frag_size = con->getMaxFrameSize() - 4; + if(data_length < frag_size){ + out->send(new AMQFrame(id, new AMQContentBody(data))); + }else{ + int frag_count = data_length / frag_size; + for(int i = 0; i < frag_count; i++){ + int pos = i*frag_size; + int len = i < frag_count - 1 ? frag_size : data_length - pos; + string frag(data.substr(pos, len)); + out->send(new AMQFrame(id, new AMQContentBody(frag))); + } + } + } +} + +void Channel::commit(){ + AMQFrame* frame = new AMQFrame(id, new TxCommitBody()); + sendAndReceive(frame, tx_commit_ok); +} + +void Channel::rollback(){ + AMQFrame* frame = new AMQFrame(id, new TxRollbackBody()); + sendAndReceive(frame, tx_rollback_ok); +} + +void Channel::handleMethod(AMQMethodBody::shared_ptr body){ + //channel.flow, channel.close, basic.deliver, basic.return or a response to a synchronous request + if(responses.isWaiting()){ + responses.signalResponse(body); + }else if(basic_deliver.match(body.get())){ + if(incoming != 0){ + std::cout << "Existing message not complete [deliveryTag=" << incoming->getDeliveryTag() << "]" << std::endl; + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Existing message not complete"); + }else{ + incoming = new IncomingMessage(dynamic_pointer_cast<BasicDeliverBody, AMQMethodBody>(body)); + } + }else if(basic_return.match(body.get())){ + if(incoming != 0){ + std::cout << "Existing message not complete" << std::endl; + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Existing message not complete"); + }else{ + incoming = new IncomingMessage(dynamic_pointer_cast<BasicReturnBody, AMQMethodBody>(body)); + } + }else if(channel_close.match(body.get())){ + con->removeChannel(this); + //need to signal application that channel has been closed through exception + + }else if(channel_flow.match(body.get())){ + + }else{ + //signal error + std::cout << "Unhandled method: " << *body << std::endl; + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Unhandled method"); + } +} + +void Channel::handleHeader(AMQHeaderBody::shared_ptr body){ + if(incoming == 0){ + //handle invalid frame sequence + std::cout << "Invalid message sequence: got header before return or deliver." << std::endl; + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Invalid message sequence: got header before return or deliver."); + }else{ + incoming->setHeader(body); + if(incoming->isComplete()){ + enqueue(); + } + } +} + +void Channel::handleContent(AMQContentBody::shared_ptr body){ + if(incoming == 0){ + //handle invalid frame sequence + std::cout << "Invalid message sequence: got content before return or deliver." << std::endl; + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Invalid message sequence: got content before return or deliver."); + }else{ + incoming->addContent(body); + if(incoming->isComplete()){ + enqueue(); + } + } +} + +void Channel::handleHeartbeat(AMQHeartbeatBody::shared_ptr body){ + THROW_QPID_ERROR(PROTOCOL_ERROR + 504, "Channel received heartbeat"); +} + +void Channel::start(){ + dispatcher = threadFactory->create(this); + dispatcher->start(); +} + +void Channel::stop(){ + closed = true; + dispatchMonitor->acquire(); + dispatchMonitor->notify(); + dispatchMonitor->release(); + if(dispatcher){ + dispatcher->join(); + } +} + +void Channel::run(){ + dispatch(); +} + +void Channel::enqueue(){ + if(incoming->isResponse()){ + retrievalMonitor->acquire(); + retrieved = incoming; + retrievalMonitor->notify(); + retrievalMonitor->release(); + }else{ + dispatchMonitor->acquire(); + messages.push(incoming); + dispatchMonitor->notify(); + dispatchMonitor->release(); + } + incoming = 0; +} + +IncomingMessage* Channel::dequeue(){ + dispatchMonitor->acquire(); + while(messages.empty() && !closed){ + dispatchMonitor->wait(); + } + IncomingMessage* msg = 0; + if(!messages.empty()){ + msg = messages.front(); + messages.pop(); + } + dispatchMonitor->release(); + return msg; +} + +void Channel::deliver(Consumer* consumer, Message& msg){ + //record delivery tag: + consumer->lastDeliveryTag = msg.getDeliveryTag(); + + //allow registered listener to handle the message + consumer->listener->received(msg); + + //if the handler calls close on the channel or connection while + //handling this message, then consumer will now have been deleted. + if(!closed){ + bool multiple(false); + switch(consumer->ackMode){ + case LAZY_ACK: + multiple = true; + if(++(consumer->count) < prefetch) break; + //else drop-through + case AUTO_ACK: + out->send(new AMQFrame(id, new BasicAckBody(msg.getDeliveryTag(), multiple))); + consumer->lastDeliveryTag = 0; + } + } + + //as it stands, transactionality is entirely orthogonal to ack + //mode, though the acks will not be processed by the broker under + //a transaction until it commits. +} + +void Channel::dispatch(){ + while(!closed){ + IncomingMessage* incomingMsg = dequeue(); + if(incomingMsg){ + //Note: msg is currently only valid for duration of this call + Message msg(incomingMsg->getHeader()); + incomingMsg->getData(msg.data); + if(incomingMsg->isReturn()){ + if(returnsHandler == 0){ + //print warning to log/console + std::cout << "Message returned: " << msg.getData() << std::endl; + }else{ + returnsHandler->returned(msg); + } + }else{ + msg.deliveryTag = incomingMsg->getDeliveryTag(); + std::string tag = incomingMsg->getConsumerTag(); + + if(consumers[tag] == 0){ + //signal error + std::cout << "Unknown consumer: " << tag << std::endl; + }else{ + deliver(consumers[tag], msg); + } + } + delete incomingMsg; + } + } +} + +void Channel::setReturnedMessageHandler(ReturnedMessageHandler* handler){ + returnsHandler = handler; +} + +void Channel::sendAndReceive(AMQFrame* frame, const AMQMethodBody& body){ + responses.expect(); + out->send(frame); + responses.receive(body); +} + +void Channel::close(){ + if(con != 0){ + con->closeChannel(this); + } +} diff --git a/cpp/client/src/Connection.cpp b/cpp/client/src/Connection.cpp new file mode 100644 index 0000000000..eeb2330561 --- /dev/null +++ b/cpp/client/src/Connection.cpp @@ -0,0 +1,237 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Connection.h" +#include "Channel.h" +#include "ConnectorImpl.h" +#include "Message.h" +#include "QpidError.h" +#include <iostream> + +using namespace qpid::client; +using namespace qpid::framing; +using namespace qpid::io; +using namespace qpid::concurrent; + +u_int16_t Connection::channelIdCounter; + +Connection::Connection(bool debug, u_int32_t _max_frame_size) : max_frame_size(_max_frame_size), closed(true){ + connector = new ConnectorImpl(debug, _max_frame_size); +} + +Connection::~Connection(){ + delete connector; +} + +void Connection::open(const std::string& host, int port, const std::string& uid, const std::string& pwd, const std::string& virtualhost){ + this->host = host; + this->port = port; + connector->setInputHandler(this); + connector->setTimeoutHandler(this); + connector->setShutdownHandler(this); + out = connector->getOutputHandler(); + connector->connect(host, port); + + ProtocolInitiation* header = new ProtocolInitiation(8, 0); + responses.expect(); + connector->init(header); + responses.receive(connection_start); + + FieldTable props; + string mechanism("PLAIN"); + string response = ((char)0) + uid + ((char)0) + pwd; + string locale("en_US"); + responses.expect(); + out->send(new AMQFrame(0, new ConnectionStartOkBody(props, mechanism, response, locale))); + + /** + * Assume for now that further challenges will not be required + //receive connection.secure + responses.receive(connection_secure)); + //send connection.secure-ok + out->send(new AMQFrame(0, new ConnectionSecureOkBody(response))); + **/ + + responses.receive(connection_tune); + + ConnectionTuneBody::shared_ptr proposal = std::tr1::dynamic_pointer_cast<ConnectionTuneBody, AMQMethodBody>(responses.getResponse()); + out->send(new AMQFrame(0, new ConnectionTuneOkBody(proposal->getChannelMax(), max_frame_size, proposal->getHeartbeat()))); + + u_int16_t heartbeat = proposal->getHeartbeat(); + connector->setReadTimeout(heartbeat * 2); + connector->setWriteTimeout(heartbeat); + + //send connection.open + string capabilities; + string vhost = virtualhost; + responses.expect(); + out->send(new AMQFrame(0, new ConnectionOpenBody(vhost, capabilities, true))); + //receive connection.open-ok (or redirect, but ignore that for now esp. as using force=true). + responses.waitForResponse(); + if(responses.validate(connection_open_ok)){ + //ok + }else if(responses.validate(connection_redirect)){ + //ignore for now + ConnectionRedirectBody::shared_ptr redirect(std::tr1::dynamic_pointer_cast<ConnectionRedirectBody, AMQMethodBody>(responses.getResponse())); + std::cout << "Received redirection to " << redirect->getHost() << std::endl; + }else{ + THROW_QPID_ERROR(PROTOCOL_ERROR, "Bad response"); + } + +} + +void Connection::close(){ + if(!closed){ + u_int16_t code(200); + string text("Ok"); + u_int16_t classId(0); + u_int16_t methodId(0); + + sendAndReceive(new AMQFrame(0, new ConnectionCloseBody(code, text, classId, methodId)), connection_close_ok); + connector->close(); + } +} + +void Connection::openChannel(Channel* channel){ + channel->con = this; + channel->id = ++channelIdCounter; + channel->out = out; + channels[channel->id] = channel; + //now send frame to open channel and wait for response + string oob; + channel->sendAndReceive(new AMQFrame(channel->id, new ChannelOpenBody(oob)), channel_open_ok); + channel->setQos(); + channel->closed = false; +} + +void Connection::closeChannel(Channel* channel){ + //send frame to close channel + u_int16_t code(200); + string text("Ok"); + u_int16_t classId(0); + u_int16_t methodId(0); + closeChannel(channel, code, text, classId, methodId); +} + +void Connection::closeChannel(Channel* channel, u_int16_t code, string& text, u_int16_t classId, u_int16_t methodId){ + //send frame to close channel + channel->cancelAll(); + channel->closed = true; + channel->sendAndReceive(new AMQFrame(channel->id, new ChannelCloseBody(code, text, classId, methodId)), channel_close_ok); + channel->con = 0; + channel->out = 0; + removeChannel(channel); +} + +void Connection::removeChannel(Channel* channel){ + //send frame to close channel + + channels.erase(channel->id); + channel->out = 0; + channel->id = 0; + channel->con = 0; +} + +void Connection::received(AMQFrame* frame){ + u_int16_t channelId = frame->getChannel(); + + if(channelId == 0){ + this->handleBody(frame->getBody()); + }else{ + Channel* channel = channels[channelId]; + if(channel == 0){ + error(504, "Unknown channel"); + }else{ + try{ + channel->handleBody(frame->getBody()); + }catch(qpid::QpidError e){ + channelException(channel, dynamic_cast<AMQMethodBody*>(frame->getBody().get()), e); + } + } + } +} + +void Connection::handleMethod(AMQMethodBody::shared_ptr body){ + //connection.close, basic.deliver, basic.return or a response to a synchronous request + if(responses.isWaiting()){ + responses.signalResponse(body); + }else if(connection_close.match(body.get())){ + //send back close ok + //close socket + ConnectionCloseBody* request = dynamic_cast<ConnectionCloseBody*>(body.get()); + std::cout << "Connection closed by server: " << request->getReplyCode() << ":" << request->getReplyText() << std::endl; + connector->close(); + }else{ + std::cout << "Unhandled method for connection: " << *body << std::endl; + error(504, "Unrecognised method", body->amqpClassId(), body->amqpMethodId()); + } +} + +void Connection::handleHeader(AMQHeaderBody::shared_ptr body){ + error(504, "Channel error: received header body with channel 0."); +} + +void Connection::handleContent(AMQContentBody::shared_ptr body){ + error(504, "Channel error: received content body with channel 0."); +} + +void Connection::handleHeartbeat(AMQHeartbeatBody::shared_ptr body){ +} + +void Connection::sendAndReceive(AMQFrame* frame, const AMQMethodBody& body){ + responses.expect(); + out->send(frame); + responses.receive(body); +} + +void Connection::error(int code, const string& msg, int classid, int methodid){ + std::cout << "Connection exception generated: " << code << msg; + if(classid || methodid){ + std::cout << " [" << methodid << ":" << classid << "]"; + } + std::cout << std::endl; + sendAndReceive(new AMQFrame(0, new ConnectionCloseBody(code, (string&) msg, classid, methodid)), connection_close_ok); + connector->close(); +} + +void Connection::channelException(Channel* channel, AMQMethodBody* method, QpidError& e){ + std::cout << "Caught error from channel [" << e.code << "] " << e.msg << " (" << e.file << ":" << e.line << ")" << std::endl; + int code = e.code == PROTOCOL_ERROR ? e.code - PROTOCOL_ERROR : 500; + string msg = e.msg; + if(method == 0){ + closeChannel(channel, code, msg); + }else{ + closeChannel(channel, code, msg, method->amqpClassId(), method->amqpMethodId()); + } +} + +void Connection::idleIn(){ + std::cout << "Connection timed out due to abscence of heartbeat." << std::endl; + connector->close(); +} + +void Connection::idleOut(){ + out->send(new AMQFrame(0, new AMQHeartbeatBody())); +} + +void Connection::shutdown(){ + closed = true; + //close all channels + for(iterator i = channels.begin(); i != channels.end(); i++){ + i->second->stop(); + } +} diff --git a/cpp/client/src/Exchange.cpp b/cpp/client/src/Exchange.cpp new file mode 100644 index 0000000000..681068dc4c --- /dev/null +++ b/cpp/client/src/Exchange.cpp @@ -0,0 +1,30 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Exchange.h" + +qpid::client::Exchange::Exchange(std::string _name, std::string _type) : name(_name), type(_type){} +const std::string& qpid::client::Exchange::getName() const { return name; } +const std::string& qpid::client::Exchange::getType() const { return type; } + +const std::string qpid::client::Exchange::DIRECT_EXCHANGE = "direct"; +const std::string qpid::client::Exchange::TOPIC_EXCHANGE = "topic"; +const std::string qpid::client::Exchange::HEADERS_EXCHANGE = "headers"; + +const qpid::client::Exchange qpid::client::Exchange::DEFAULT_DIRECT_EXCHANGE("amq.direct", DIRECT_EXCHANGE); +const qpid::client::Exchange qpid::client::Exchange::DEFAULT_TOPIC_EXCHANGE("amq.topic", TOPIC_EXCHANGE); +const qpid::client::Exchange qpid::client::Exchange::DEFAULT_HEADERS_EXCHANGE("amq.headers", HEADERS_EXCHANGE); diff --git a/cpp/client/src/IncomingMessage.cpp b/cpp/client/src/IncomingMessage.cpp new file mode 100644 index 0000000000..8e2604c4cb --- /dev/null +++ b/cpp/client/src/IncomingMessage.cpp @@ -0,0 +1,85 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "IncomingMessage.h" +#include "QpidError.h" +#include <iostream> + +using namespace qpid::client; +using namespace qpid::framing; + +IncomingMessage::IncomingMessage(BasicDeliverBody::shared_ptr intro) : delivered(intro){} +IncomingMessage::IncomingMessage(BasicReturnBody::shared_ptr intro): returned(intro){} +IncomingMessage::IncomingMessage(BasicGetOkBody::shared_ptr intro): response(intro){} + +IncomingMessage::~IncomingMessage(){ +} + +void IncomingMessage::setHeader(AMQHeaderBody::shared_ptr header){ + this->header = header; +} + +void IncomingMessage::addContent(AMQContentBody::shared_ptr content){ + this->content.push_back(content); +} + +bool IncomingMessage::isComplete(){ + return header != 0 && header->getContentSize() == contentSize(); +} + +bool IncomingMessage::isReturn(){ + return returned; +} + +bool IncomingMessage::isDelivery(){ + return delivered; +} + +bool IncomingMessage::isResponse(){ + return response; +} + +string& IncomingMessage::getConsumerTag(){ + if(!isDelivery()) THROW_QPID_ERROR(CLIENT_ERROR, "Consumer tag only valid for delivery"); + return delivered->getConsumerTag(); +} + +u_int64_t IncomingMessage::getDeliveryTag(){ + if(!isDelivery()) THROW_QPID_ERROR(CLIENT_ERROR, "Delivery tag only valid for delivery"); + return delivered->getDeliveryTag(); +} + +AMQHeaderBody::shared_ptr& IncomingMessage::getHeader(){ + return header; +} + +void IncomingMessage::getData(string& s){ + int count(content.size()); + for(int i = 0; i < count; i++){ + if(i == 0) s = content[i]->getData(); + else s += content[i]->getData(); + } +} + +long IncomingMessage::contentSize(){ + long size(0); + int count(content.size()); + for(int i = 0; i < count; i++){ + size += content[i]->size(); + } + return size; +} diff --git a/cpp/client/src/Message.cpp b/cpp/client/src/Message.cpp new file mode 100644 index 0000000000..71befe57b1 --- /dev/null +++ b/cpp/client/src/Message.cpp @@ -0,0 +1,147 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Message.h" + +using namespace qpid::client; +using namespace qpid::framing; + +Message::Message(){ + header = AMQHeaderBody::shared_ptr(new AMQHeaderBody(BASIC)); +} + +Message::Message(AMQHeaderBody::shared_ptr& _header) : header(_header){ +} + +Message::~Message(){ +} + +BasicHeaderProperties* Message::getHeaderProperties(){ + return dynamic_cast<BasicHeaderProperties*>(header->getProperties()); +} + +std::string& Message::getContentType(){ + return getHeaderProperties()->getContentType(); +} + +std::string& Message::getContentEncoding(){ + return getHeaderProperties()->getContentEncoding(); +} + +FieldTable& Message::getHeaders(){ + return getHeaderProperties()->getHeaders(); +} + +u_int8_t Message::getDeliveryMode(){ + return getHeaderProperties()->getDeliveryMode(); +} + +u_int8_t Message::getPriority(){ + return getHeaderProperties()->getPriority(); +} + +std::string& Message::getCorrelationId(){ + return getHeaderProperties()->getCorrelationId(); +} + +std::string& Message::getReplyTo(){ + return getHeaderProperties()->getReplyTo(); +} + +std::string& Message::getExpiration(){ + return getHeaderProperties()->getExpiration(); +} + +std::string& Message::getMessageId(){ + return getHeaderProperties()->getMessageId(); +} + +u_int64_t Message::getTimestamp(){ + return getHeaderProperties()->getTimestamp(); +} + +std::string& Message::getType(){ + return getHeaderProperties()->getType(); +} + +std::string& Message::getUserId(){ + return getHeaderProperties()->getUserId(); +} + +std::string& Message::getAppId(){ + return getHeaderProperties()->getAppId(); +} + +std::string& Message::getClusterId(){ + return getHeaderProperties()->getClusterId(); +} + +void Message::setContentType(std::string& type){ + getHeaderProperties()->setContentType(type); +} + +void Message::setContentEncoding(std::string& encoding){ + getHeaderProperties()->setContentEncoding(encoding); +} + +void Message::setHeaders(FieldTable& headers){ + getHeaderProperties()->setHeaders(headers); +} + +void Message::setDeliveryMode(u_int8_t mode){ + getHeaderProperties()->setDeliveryMode(mode); +} + +void Message::setPriority(u_int8_t priority){ + getHeaderProperties()->setPriority(priority); +} + +void Message::setCorrelationId(std::string& correlationId){ + getHeaderProperties()->setCorrelationId(correlationId); +} + +void Message::setReplyTo(std::string& replyTo){ + getHeaderProperties()->setReplyTo(replyTo); +} + +void Message::setExpiration(std::string& expiration){ + getHeaderProperties()->setExpiration(expiration); +} + +void Message::setMessageId(std::string& messageId){ + getHeaderProperties()->setMessageId(messageId); +} + +void Message::setTimestamp(u_int64_t timestamp){ + getHeaderProperties()->setTimestamp(timestamp); +} + +void Message::setType(std::string& type){ + getHeaderProperties()->setType(type); +} + +void Message::setUserId(std::string& userId){ + getHeaderProperties()->setUserId(userId); +} + +void Message::setAppId(std::string& appId){ + getHeaderProperties()->setAppId(appId); +} + +void Message::setClusterId(std::string& clusterId){ + getHeaderProperties()->setClusterId(clusterId); +} diff --git a/cpp/client/src/Queue.cpp b/cpp/client/src/Queue.cpp new file mode 100644 index 0000000000..cb957dd993 --- /dev/null +++ b/cpp/client/src/Queue.cpp @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Queue.h" + +qpid::client::Queue::Queue() : name(""), autodelete(true), exclusive(true){} + +qpid::client::Queue::Queue(std::string _name) : name(_name), autodelete(false), exclusive(false){} + +qpid::client::Queue::Queue(std::string _name, bool temp) : name(_name), autodelete(temp), exclusive(temp){} + +qpid::client::Queue::Queue(std::string _name, bool _autodelete, bool _exclusive) + : name(_name), autodelete(_autodelete), exclusive(_exclusive){} + +const std::string& qpid::client::Queue::getName() const{ + return name; +} + +void qpid::client::Queue::setName(const std::string& name){ + this->name = name; +} + +bool qpid::client::Queue::isAutoDelete() const{ + return autodelete; +} + +bool qpid::client::Queue::isExclusive() const{ + return exclusive; +} + + + + diff --git a/cpp/client/src/ResponseHandler.cpp b/cpp/client/src/ResponseHandler.cpp new file mode 100644 index 0000000000..837bba37fd --- /dev/null +++ b/cpp/client/src/ResponseHandler.cpp @@ -0,0 +1,63 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "ResponseHandler.h" +#include "MonitorImpl.h" +#include "QpidError.h" + +qpid::client::ResponseHandler::ResponseHandler() : waiting(false){ + monitor = new qpid::concurrent::MonitorImpl(); +} + +qpid::client::ResponseHandler::~ResponseHandler(){ + delete monitor; +} + +bool qpid::client::ResponseHandler::validate(const qpid::framing::AMQMethodBody& expected){ + return expected.match(response.get()); +} + +void qpid::client::ResponseHandler::waitForResponse(){ + monitor->acquire(); + if(waiting){ + monitor->wait(); + } + monitor->release(); +} + +void qpid::client::ResponseHandler::signalResponse(qpid::framing::AMQMethodBody::shared_ptr response){ + this->response = response; + monitor->acquire(); + waiting = false; + monitor->notify(); + monitor->release(); +} + +void qpid::client::ResponseHandler::receive(const qpid::framing::AMQMethodBody& expected){ + monitor->acquire(); + if(waiting){ + monitor->wait(); + } + monitor->release(); + if(!validate(expected)){ + THROW_QPID_ERROR(PROTOCOL_ERROR, "Protocol Error"); + } +} + +void qpid::client::ResponseHandler::expect(){ + waiting = true; +} diff --git a/cpp/client/test/Makefile b/cpp/client/test/Makefile new file mode 100644 index 0000000000..f35aab3e17 --- /dev/null +++ b/cpp/client/test/Makefile @@ -0,0 +1,45 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +QPID_HOME = ../../.. +include ${QPID_HOME}/cpp/options.mk + +# TODO aconway 2006-09-12: These are system tests, not unit tests. +# We need client side unit tests. +# We should separate them from the system tets. +# We need an approach to automate the C++ client/server system tests. +# + +SOURCES=$(wildcard *.cpp) +TESTS=$(SOURCES:.cpp=) +DEPS= $(SOURCES:.cpp=.d) + +INCLUDES = $(TEST_INCLUDES) +LDLIBS= -lapr-1 $(COMMON_LIB) $(CLIENT_LIB) + +.PHONY: all clean + +all: $(TESTS) + +clean: + -@rm -f $(TESTS) $(DEPS) + +# Rule to build test programs. +%: %.cpp + $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS) $(LDLIBS) + +# Dependencies +-include $(DEPS) diff --git a/cpp/client/test/client_test.cpp b/cpp/client/test/client_test.cpp new file mode 100644 index 0000000000..e33beb3b67 --- /dev/null +++ b/cpp/client/test/client_test.cpp @@ -0,0 +1,97 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> + +#include "QpidError.h" +#include "Channel.h" +#include "Connection.h" +#include "FieldTable.h" +#include "Message.h" +#include "MessageListener.h" + +#include "MonitorImpl.h" + + +using namespace qpid::client; +using namespace qpid::concurrent; + +class SimpleListener : public virtual MessageListener{ + Monitor* monitor; + +public: + inline SimpleListener(Monitor* _monitor) : monitor(_monitor){} + + inline virtual void received(Message& msg){ + std::cout << "Received message " /**<< msg **/<< std::endl; + monitor->acquire(); + monitor->notify(); + monitor->release(); + } +}; + +int main(int argc, char** argv) +{ + try{ + Connection con(argc > 1); + Channel channel; + Exchange exchange("MyExchange", Exchange::TOPIC_EXCHANGE); + Queue queue("MyQueue", true); + + string host("localhost"); + + con.open(host); + std::cout << "Opened connection." << std::endl; + con.openChannel(&channel); + std::cout << "Opened channel." << std::endl; + channel.declareExchange(exchange); + std::cout << "Declared exchange." << std::endl; + channel.declareQueue(queue); + std::cout << "Declared queue." << std::endl; + qpid::framing::FieldTable args; + channel.bind(exchange, queue, "MyTopic", args); + std::cout << "Bound queue to exchange." << std::endl; + + //set up a message listener + MonitorImpl monitor; + SimpleListener listener(&monitor); + string tag("MyTag"); + channel.consume(queue, tag, &listener); + channel.start(); + std::cout << "Registered consumer." << std::endl; + + Message msg; + string data("MyMessage"); + msg.setData(data); + channel.publish(msg, exchange, "MyTopic"); + std::cout << "Published message." << std::endl; + + monitor.acquire(); + monitor.wait(); + monitor.release(); + + + con.closeChannel(&channel); + std::cout << "Closed channel." << std::endl; + con.close(); + std::cout << "Closed connection." << std::endl; + }catch(qpid::QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + return 1; + } + return 0; +} diff --git a/cpp/client/test/topic_listener.cpp b/cpp/client/test/topic_listener.cpp new file mode 100644 index 0000000000..707b3443a1 --- /dev/null +++ b/cpp/client/test/topic_listener.cpp @@ -0,0 +1,180 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include <sstream> +#include "apr_time.h" +#include "QpidError.h" +#include "Channel.h" +#include "Connection.h" +#include "Exchange.h" +#include "MessageListener.h" +#include "Queue.h" + +using namespace qpid::client; + +class Listener : public MessageListener{ + Channel* const channel; + const std::string responseQueue; + const bool transactional; + bool init; + int count; + apr_time_t start; + + void shutdown(); + void report(); +public: + Listener(Channel* channel, const std::string& reponseQueue, bool tx); + virtual void received(Message& msg); +}; + +class Args{ + string host; + int port; + int ackMode; + bool transactional; + int prefetch; + bool trace; + bool help; +public: + inline Args() : host("localhost"), port(5672), ackMode(NO_ACK), transactional(false), prefetch(1000), trace(false), help(false){} + void parse(int argc, char** argv); + void usage(); + + inline const string& getHost() const { return host;} + inline int getPort() const { return port; } + inline int getAckMode(){ return ackMode; } + inline bool getTransactional() const { return transactional; } + inline int getPrefetch(){ return prefetch; } + inline bool getTrace() const { return trace; } + inline bool getHelp() const { return help; } +}; + +int main(int argc, char** argv){ + Args args; + args.parse(argc, argv); + if(args.getHelp()){ + args.usage(); + }else{ + try{ + Connection connection(args.getTrace()); + connection.open(args.getHost(), args.getPort()); + Channel channel(args.getTransactional(), args.getPrefetch()); + connection.openChannel(&channel); + + //declare exchange, queue and bind them: + Queue response("response"); + channel.declareQueue(response); + + Queue control; + channel.declareQueue(control); + qpid::framing::FieldTable bindArgs; + channel.bind(Exchange::DEFAULT_TOPIC_EXCHANGE, control, "topic_control", bindArgs); + //set up listener + Listener listener(&channel, response.getName(), args.getTransactional()); + std::string tag; + channel.consume(control, tag, &listener, args.getAckMode()); + channel.run(); + connection.close(); + }catch(qpid::QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } + } +} + +Listener::Listener(Channel* _channel, const std::string& _responseq, bool tx) : + channel(_channel), responseQueue(_responseq), transactional(tx), init(false), count(0){} + +void Listener::received(Message& message){ + if(!init){ + start = apr_time_as_msec(apr_time_now()); + count = 0; + init = true; + } + std::string type(message.getHeaders().getString("TYPE")); + + if(type == "TERMINATION_REQUEST"){ + shutdown(); + }else if(type == "REPORT_REQUEST"){ + //send a report: + report(); + init = false; + }else if (++count % 100 == 0){ + std::cout <<"Received " << count << " messages." << std::endl; + } +} + +void Listener::shutdown(){ + channel->close(); +} + +void Listener::report(){ + apr_time_t finish = apr_time_as_msec(apr_time_now()); + apr_time_t time = finish - start; + std::stringstream report; + report << "Received " << count << " messages in " << time << " ms."; + Message msg; + msg.setData(report.str()); + channel->publish(msg, Exchange::DEFAULT_DIRECT_EXCHANGE, responseQueue); + if(transactional){ + channel->commit(); + } +} + + +void Args::parse(int argc, char** argv){ + for(int i = 1; i < argc; i++){ + string name(argv[i]); + if("-help" == name){ + help = true; + break; + }else if("-host" == name){ + host = argv[++i]; + }else if("-port" == name){ + port = atoi(argv[++i]); + }else if("-ack_mode" == name){ + ackMode = atoi(argv[++i]); + }else if("-transactional" == name){ + transactional = true; + }else if("-prefetch" == name){ + prefetch = atoi(argv[++i]); + }else if("-trace" == name){ + trace = true; + }else{ + std::cout << "Warning: unrecognised option " << name << std::endl; + } + } +} + +void Args::usage(){ + std::cout << "Options:" << std::endl; + std::cout << " -help" << std::endl; + std::cout << " Prints this usage message" << std::endl; + std::cout << " -host <host>" << std::endl; + std::cout << " Specifies host to connect to (default is localhost)" << std::endl; + std::cout << " -port <port>" << std::endl; + std::cout << " Specifies port to conect to (default is 5762)" << std::endl; + std::cout << " -ack_mode <mode>" << std::endl; + std::cout << " Sets the acknowledgement mode" << std::endl; + std::cout << " 0=NO_ACK (default), 1=AUTO_ACK, 2=LAZY_ACK" << std::endl; + std::cout << " -transactional" << std::endl; + std::cout << " Indicates the client should use transactions" << std::endl; + std::cout << " -prefetch <count>" << std::endl; + std::cout << " Specifies the prefetch count (default is 1000)" << std::endl; + std::cout << " -trace" << std::endl; + std::cout << " Indicates that the frames sent and received should be logged" << std::endl; +} diff --git a/cpp/client/test/topic_publisher.cpp b/cpp/client/test/topic_publisher.cpp new file mode 100644 index 0000000000..fc6b7f3b30 --- /dev/null +++ b/cpp/client/test/topic_publisher.cpp @@ -0,0 +1,253 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include <cstdlib> +#include "unistd.h" +#include "apr_time.h" +#include "MonitorImpl.h" +#include "QpidError.h" +#include "Channel.h" +#include "Connection.h" +#include "Exchange.h" +#include "MessageListener.h" +#include "Queue.h" + +using namespace qpid::client; +using namespace qpid::concurrent; + +class Publisher : public MessageListener{ + Channel* const channel; + const std::string controlTopic; + const bool transactional; + MonitorImpl monitor; + int count; + + void waitForCompletion(int msgs); + string generateData(int size); + +public: + Publisher(Channel* channel, const std::string& controlTopic, bool tx); + virtual void received(Message& msg); + apr_time_t publish(int msgs, int listeners, int size); + void terminate(); +}; + +class Args{ + string host; + int port; + int messages; + int subscribers; + int ackMode; + bool transactional; + int prefetch; + int batches; + int delay; + int size; + bool trace; + bool help; +public: + inline Args() : host("localhost"), port(5672), messages(1000), subscribers(1), + ackMode(NO_ACK), transactional(false), prefetch(1000), batches(1), + delay(0), size(256), trace(false), help(false){} + + void parse(int argc, char** argv); + void usage(); + + inline const string& getHost() const { return host;} + inline int getPort() const { return port; } + inline int getMessages() const { return messages; } + inline int getSubscribers() const { return subscribers; } + inline int getAckMode(){ return ackMode; } + inline bool getTransactional() const { return transactional; } + inline int getPrefetch(){ return prefetch; } + inline int getBatches(){ return batches; } + inline int getDelay(){ return delay; } + inline int getSize(){ return size; } + inline bool getTrace() const { return trace; } + inline bool getHelp() const { return help; } +}; + +int main(int argc, char** argv){ + Args args; + args.parse(argc, argv); + if(args.getHelp()){ + args.usage(); + }else{ + try{ + Connection connection(args.getTrace()); + connection.open(args.getHost(), args.getPort()); + Channel channel(args.getTransactional(), args.getPrefetch()); + connection.openChannel(&channel); + + //declare queue (relying on default binding): + Queue response("response"); + channel.declareQueue(response); + + //set up listener + Publisher publisher(&channel, "topic_control", args.getTransactional()); + std::string tag("mytag"); + channel.consume(response, tag, &publisher, args.getAckMode()); + channel.start(); + + int batchSize(args.getBatches()); + apr_time_t max(0); + apr_time_t min(0); + apr_time_t sum(0); + for(int i = 0; i < batchSize; i++){ + if(i > 0 && args.getDelay()) sleep(args.getDelay()); + apr_time_t time = publisher.publish(args.getMessages(), args.getSubscribers(), args.getSize()); + if(!max || time > max) max = time; + if(!min || time < min) min = time; + sum += time; + std::cout << "Completed " << (i+1) << " of " << batchSize << " in " << time << "ms" << std::endl; + } + publisher.terminate(); + apr_time_t avg = sum / batchSize; + if(batchSize > 1){ + std::cout << batchSize << " batches completed. avg=" << avg << + ", max=" << max << ", min=" << min << std::endl; + } + channel.close(); + connection.close(); + }catch(qpid::QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } + } +} + +Publisher::Publisher(Channel* _channel, const std::string& _controlTopic, bool tx) : + channel(_channel), controlTopic(_controlTopic), transactional(tx){} + +void Publisher::received(Message& msg){ + //count responses and when all are received end the current batch + monitor.acquire(); + if(--count == 0){ + monitor.notify(); + } + std::cout << "Received report: " << msg.getData() << " (" << count << " remaining)." << std::endl; + monitor.release(); +} + +void Publisher::waitForCompletion(int msgs){ + count = msgs; + monitor.wait(); +} + +apr_time_t Publisher::publish(int msgs, int listeners, int size){ + monitor.acquire(); + Message msg; + msg.setData(generateData(size)); + apr_time_t start(apr_time_as_msec(apr_time_now())); + for(int i = 0; i < msgs; i++){ + channel->publish(msg, Exchange::DEFAULT_TOPIC_EXCHANGE, controlTopic); + } + //send report request + Message reportRequest; + reportRequest.getHeaders().setString("TYPE", "REPORT_REQUEST"); + channel->publish(reportRequest, Exchange::DEFAULT_TOPIC_EXCHANGE, controlTopic); + if(transactional){ + channel->commit(); + } + + waitForCompletion(listeners); + monitor.release(); + apr_time_t finish(apr_time_as_msec(apr_time_now())); + + return finish - start; +} + +string Publisher::generateData(int size){ + string data; + for(int i = 0; i < size; i++){ + data += ('A' + (i / 26)); + } + return data; +} + +void Publisher::terminate(){ + //send termination request + Message terminationRequest; + terminationRequest.getHeaders().setString("TYPE", "TERMINATION_REQUEST"); + channel->publish(terminationRequest, Exchange::DEFAULT_TOPIC_EXCHANGE, controlTopic); + if(transactional){ + channel->commit(); + } +} + +void Args::parse(int argc, char** argv){ + for(int i = 1; i < argc; i++){ + string name(argv[i]); + if("-help" == name){ + help = true; + break; + }else if("-host" == name){ + host = argv[++i]; + }else if("-port" == name){ + port = atoi(argv[++i]); + }else if("-messages" == name){ + messages = atoi(argv[++i]); + }else if("-subscribers" == name){ + subscribers = atoi(argv[++i]); + }else if("-ack_mode" == name){ + ackMode = atoi(argv[++i]); + }else if("-transactional" == name){ + transactional = true; + }else if("-prefetch" == name){ + prefetch = atoi(argv[++i]); + }else if("-batches" == name){ + batches = atoi(argv[++i]); + }else if("-delay" == name){ + delay = atoi(argv[++i]); + }else if("-size" == name){ + size = atoi(argv[++i]); + }else if("-trace" == name){ + trace = true; + }else{ + std::cout << "Warning: unrecognised option " << name << std::endl; + } + } +} + +void Args::usage(){ + std::cout << "Options:" << std::endl; + std::cout << " -help" << std::endl; + std::cout << " Prints this usage message" << std::endl; + std::cout << " -host <host>" << std::endl; + std::cout << " Specifies host to connect to (default is localhost)" << std::endl; + std::cout << " -port <port>" << std::endl; + std::cout << " Specifies port to conect to (default is 5762)" << std::endl; + std::cout << " -messages <count>" << std::endl; + std::cout << " Specifies how many messages to send" << std::endl; + std::cout << " -subscribers <count>" << std::endl; + std::cout << " Specifies how many subscribers to expect reports from" << std::endl; + std::cout << " -ack_mode <mode>" << std::endl; + std::cout << " Sets the acknowledgement mode" << std::endl; + std::cout << " 0=NO_ACK (default), 1=AUTO_ACK, 2=LAZY_ACK" << std::endl; + std::cout << " -transactional" << std::endl; + std::cout << " Indicates the client should use transactions" << std::endl; + std::cout << " -prefetch <count>" << std::endl; + std::cout << " Specifies the prefetch count (default is 1000)" << std::endl; + std::cout << " -batches <count>" << std::endl; + std::cout << " Specifies how many batches to run" << std::endl; + std::cout << " -delay <seconds>" << std::endl; + std::cout << " Causes a delay between each batch" << std::endl; + std::cout << " -size <bytes>" << std::endl; + std::cout << " Sets the size of the published messages (default is 256 bytes)" << std::endl; + std::cout << " -trace" << std::endl; + std::cout << " Indicates that the frames sent and received should be logged" << std::endl; +} diff --git a/cpp/common/Makefile b/cpp/common/Makefile new file mode 100644 index 0000000000..5fe815b8da --- /dev/null +++ b/cpp/common/Makefile @@ -0,0 +1,51 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Make file to build qpid_common library. +# + +QPID_HOME=../.. +include $(QPID_HOME)/cpp/options.mk + +TARGET = $(LIB_DIR)/libqpid_common.so.1.0 + +CXXFLAGS = $(DEBUG) $(OPT) -MMD -fpic $(COMMON_INCLUDES) + +SOURCES = $(wildcard */src/*.cpp framing/generated/*.cpp) +OBJECTS = $(SOURCES:.cpp=.o) +DEPS = $(SOURCES:.cpp=.d) + +GENERATED_OBJECTS = framing/generated/amqp_methods.o + +.PHONY: all test clean + +# We have to do two separate makes to ensure we pick up all generated files. +all: + @$(MAKE) -C framing all + @make $(TARGET) + +test: + @$(MAKE) -C framing test + +clean: + @$(MAKE) -C framing clean + -@rm -f $(TARGET) $(OBJECTS) $(DEPS) + +$(TARGET): $(OBJECTS) + $(CXX) -shared -o $@ $(OBJECTS) $(LDFLAGS) -lapr-1 + +-include $(DEPS) diff --git a/cpp/common/concurrent/inc/APRBase.h b/cpp/common/concurrent/inc/APRBase.h new file mode 100644 index 0000000000..e0b526faa1 --- /dev/null +++ b/cpp/common/concurrent/inc/APRBase.h @@ -0,0 +1,63 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRBase_ +#define _APRBase_ + +#include <string> +#include "apr_thread_mutex.h" +#include "apr_errno.h" + +namespace qpid { +namespace concurrent { + + /** + * Use of APR libraries necessitates explicit init and terminate + * calls. Any class using APR libs should obtain the reference to + * this singleton and increment on construction, decrement on + * destruction. This class can then correctly initialise apr + * before the first use and terminate after the last use. + */ + class APRBase{ + static APRBase* instance; + apr_pool_t* pool; + apr_thread_mutex_t* mutex; + int count; + + APRBase(); + ~APRBase(); + static APRBase* getInstance(); + bool _increment(); + void _decrement(); + public: + static void increment(); + static void decrement(); + }; + + //this is also a convenient place for a helper function for error checking: + void check(apr_status_t status, const std::string& file, const int line); + std::string get_desc(apr_status_t status); + +#define CHECK_APR_SUCCESS(A) check(A, __FILE__, __LINE__); + +} +} + + + + +#endif diff --git a/cpp/common/concurrent/inc/APRMonitor.h b/cpp/common/concurrent/inc/APRMonitor.h new file mode 100644 index 0000000000..bf72596564 --- /dev/null +++ b/cpp/common/concurrent/inc/APRMonitor.h @@ -0,0 +1,48 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRMonitor_ +#define _APRMonitor_ + +#include "apr_thread_mutex.h" +#include "apr_thread_cond.h" +#include "Monitor.h" + +namespace qpid { +namespace concurrent { + + class APRMonitor : public virtual Monitor + { + apr_pool_t* pool; + apr_thread_mutex_t* mutex; + apr_thread_cond_t* condition; + + public: + APRMonitor(); + virtual ~APRMonitor(); + virtual void wait(); + virtual void wait(u_int64_t time); + virtual void notify(); + virtual void notifyAll(); + virtual void acquire(); + virtual void release(); + }; +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/APRThread.h b/cpp/common/concurrent/inc/APRThread.h new file mode 100644 index 0000000000..d5034ce3b7 --- /dev/null +++ b/cpp/common/concurrent/inc/APRThread.h @@ -0,0 +1,48 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRThread_ +#define _APRThread_ + +#include "apr_thread_proc.h" +#include "APRThread.h" +#include "Runnable.h" +#include "Thread.h" + +namespace qpid { +namespace concurrent { + + class APRThread : public virtual Thread + { + const Runnable* runnable; + apr_pool_t* pool; + apr_thread_t* runner; + + public: + APRThread(apr_pool_t* pool, Runnable* runnable); + virtual ~APRThread(); + virtual void start(); + virtual void join(); + virtual void interrupt(); + static unsigned int currentThread(); + }; + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/APRThreadFactory.h b/cpp/common/concurrent/inc/APRThreadFactory.h new file mode 100644 index 0000000000..87b240025d --- /dev/null +++ b/cpp/common/concurrent/inc/APRThreadFactory.h @@ -0,0 +1,44 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRThreadFactory_ +#define _APRThreadFactory_ + +#include "apr_thread_proc.h" + +#include "APRThread.h" +#include "Thread.h" +#include "ThreadFactory.h" +#include "Runnable.h" + +namespace qpid { +namespace concurrent { + + class APRThreadFactory : public virtual ThreadFactory + { + apr_pool_t* pool; + public: + APRThreadFactory(); + virtual ~APRThreadFactory(); + virtual Thread* create(Runnable* runnable); + }; + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/APRThreadPool.h b/cpp/common/concurrent/inc/APRThreadPool.h new file mode 100644 index 0000000000..cf6d30774c --- /dev/null +++ b/cpp/common/concurrent/inc/APRThreadPool.h @@ -0,0 +1,67 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRThreadPool_ +#define _APRThreadPool_ + +#include <queue> +#include <vector> +#include "APRMonitor.h" +#include "Thread.h" +#include "ThreadFactory.h" +#include "ThreadPool.h" +#include "Runnable.h" + +namespace qpid { +namespace concurrent { + + class APRThreadPool : public virtual ThreadPool + { + class Worker : public virtual Runnable{ + APRThreadPool* pool; + public: + inline Worker(APRThreadPool* _pool) : pool(_pool){} + inline virtual void run(){ + while(pool->running){ + pool->runTask(); + } + } + }; + const bool deleteFactory; + const int size; + ThreadFactory* factory; + APRMonitor lock; + std::vector<Thread*> threads; + std::queue<Runnable*> tasks; + Worker* worker; + volatile bool running; + + void runTask(); + public: + APRThreadPool(int size); + APRThreadPool(int size, ThreadFactory* factory); + virtual void start(); + virtual void stop(); + virtual void addTask(Runnable* task); + virtual ~APRThreadPool(); + }; + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/LMonitor.h b/cpp/common/concurrent/inc/LMonitor.h new file mode 100644 index 0000000000..8e2569921d --- /dev/null +++ b/cpp/common/concurrent/inc/LMonitor.h @@ -0,0 +1,44 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _LMonitor_ +#define _LMonitor_ + +/* Native Linux Monitor - Based of Kernel patch 19/20 */ + +#include "Monitor.h" + +namespace qpid { +namespace concurrent { + + class LMonitor : public virtual Monitor + { + + public: + LMonitor(); + virtual ~LMonitor(); + virtual void wait(); + virtual void notify(); + virtual void notifyAll(); + virtual void acquire(); + virtual void release(); + }; +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/LThreadFactory.h b/cpp/common/concurrent/inc/LThreadFactory.h new file mode 100644 index 0000000000..4a573d1bd1 --- /dev/null +++ b/cpp/common/concurrent/inc/LThreadFactory.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _LAPRThreadFactory_ +#define _LAPRThreadFactory_ + + +namespace qpid { +namespace concurrent { + + class LThreadFactory + { + public: + LThreadFactory(); + virtual ~LThreadFactory(); + virtual Thread* create(Runnable* runnable); + }; + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/LockedQueue.h b/cpp/common/concurrent/inc/LockedQueue.h new file mode 100644 index 0000000000..ef3f0b8381 --- /dev/null +++ b/cpp/common/concurrent/inc/LockedQueue.h @@ -0,0 +1,68 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _LockedQueue_ +#define _LockedQueue_ + +#include <queue> +#include "Monitor.h" + +/** + * A threadsafe queue abstraction + */ +namespace qpid { +namespace concurrent { + template<class T, class L> class LockedQueue + { + L lock; + std::queue<T*> queue; + + public: + void put(T* item); + T* take(); + bool empty(); + }; + + template<class T, class L> void LockedQueue<T, L>::put(T* item){ + lock.acquire(); + queue.push(item); + lock.release(); + } + + template<class T, class L> T* LockedQueue<T, L>::take(){ + lock.acquire(); + T* item = 0; + if(!queue.empty()){ + item = queue.front(); + queue.pop(); + } + lock.release(); + return item; + } + + template<class T, class L> bool LockedQueue<T, L>::empty(){ + lock.acquire(); + bool result = queue.empty(); + lock.release(); + return result; + } + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/Monitor.h b/cpp/common/concurrent/inc/Monitor.h new file mode 100644 index 0000000000..7f1a299c6a --- /dev/null +++ b/cpp/common/concurrent/inc/Monitor.h @@ -0,0 +1,59 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Monitor_ +#define _Monitor_ + +#include "amqp_types.h" + +namespace qpid { +namespace concurrent { + +class Monitor +{ + public: + virtual ~Monitor(){} + virtual void wait() = 0; + virtual void wait(u_int64_t time) = 0; + virtual void notify() = 0; + virtual void notifyAll() = 0; + virtual void acquire() = 0; + virtual void release() = 0; +}; + +/** + * Scoped locker for a monitor. + */ +class Locker +{ + public: + Locker(Monitor& lock_) : lock(lock_) { lock.acquire(); } + ~Locker() { lock.release(); } + + private: + Monitor& lock; + + // private and unimplemented to prevent copying + Locker(const Locker&); + void operator=(const Locker&); +}; + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/MonitorImpl.h b/cpp/common/concurrent/inc/MonitorImpl.h new file mode 100644 index 0000000000..e96e81d795 --- /dev/null +++ b/cpp/common/concurrent/inc/MonitorImpl.h @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#ifndef _MonitorImpl_ +#define _MonitorImpl_ + +#ifdef _USE_APR_IO_ +#include "APRMonitor.h" +#else /* use POSIX Monitor */ +#include "LMonitor.h" +#endif + + +namespace qpid { +namespace concurrent { + +#ifdef _USE_APR_IO_ + class MonitorImpl : public virtual APRMonitor + { + + public: + MonitorImpl() : APRMonitor(){}; + virtual ~MonitorImpl(){}; + + }; +#else + class MonitorImpl : public virtual LMonitor + { + + public: + MonitorImpl() : LMonitor(){}; + virtual ~MonitorImpl(){}; + + }; +#endif + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/Runnable.h b/cpp/common/concurrent/inc/Runnable.h new file mode 100644 index 0000000000..523ad813f7 --- /dev/null +++ b/cpp/common/concurrent/inc/Runnable.h @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Runnable_ +#define _Runnable_ + +namespace qpid { +namespace concurrent { + + class Runnable + { + public: + virtual void run() = 0; + }; + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/TaskQueue.h b/cpp/common/concurrent/inc/TaskQueue.h new file mode 100644 index 0000000000..e06a3ce069 --- /dev/null +++ b/cpp/common/concurrent/inc/TaskQueue.h @@ -0,0 +1,200 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _TaskQueue_ +#define _TaskQueue_ + +#include <iostream> +#include <memory> +#include <queue> +#include "LockedQueue.h" +#include "Runnable.h" +#include "ThreadPool.h" + +namespace qpid { +namespace concurrent { + template<class T, class L> class TaskQueue : public virtual Runnable + { + const int max_iterations_per_run; + L lock; + //LockedQueue<T, L> queue; + std::queue<T*> queue; + ThreadPool* const pool; + T* work; + bool running; + volatile bool stopped; + TaskQueue<T, L>* next; + + volatile bool inrun; + + bool hasWork(); + void completed(); + + T* take(); + + protected: + /** + * Callback though which the task is executed + */ + virtual void execute(T* t) = 0; + /** + * Allows a task to be completed asynchronously to the + * execute() call if required. + */ + virtual bool isComplete(T* t); + /** + * Should be called to signal completion of a task that was + * signalled as not complete through the isComplete() methods + * return value. This will allow normal processing to resume. + */ + virtual void complete(); + + public: + TaskQueue(ThreadPool* const pool, int max_iterations_per_run = 100); + virtual void run(); + void trigger(); + bool append(T* t); + void stop(bool drain); + inline void setNext(TaskQueue<T, L>* next){ this->next = next; } + }; + + template<class T, class L> TaskQueue<T, L>::TaskQueue(ThreadPool* const _pool, int _max_iterations_per_run) : + pool(_pool), + max_iterations_per_run(_max_iterations_per_run), + work(0), + running(false), + stopped(false), + next(0), inrun(false){ + } + + template<class T, class L> void TaskQueue<T, L>::run(){ + if(inrun) std::cout << "Already running" << std::endl; + inrun = true; + + bool blocked = false; + int count = max_iterations_per_run; + while(!blocked && hasWork() && count){ + execute(work); + if(isComplete(work)){ + completed(); + }else{ + blocked = true; + } + count--; + } + inrun = false; + + if(!blocked && count == 0){//performed max_iterations_per_run, requeue task to ensure fairness + //running will still be true at this point + lock.acquire(); + running = false; + if(stopped) lock.notify(); + lock.release(); + + trigger(); + }else if(hasWork()){//task was added to queue after we exited the loop above; should not need this? + trigger(); + } + } + + template<class T, class L> void TaskQueue<T, L>::trigger(){ + lock.acquire(); + if(!running){ + running = true; + pool->addTask(this); + } + lock.release(); + } + + template<class T, class L> bool TaskQueue<T, L>::hasWork(){ + lock.acquire(); + if(!work) work = take();//queue.take(); + if(!work){ + running = false; + if(stopped) lock.notify(); + } + lock.release(); + return work; + } + + template<class T, class L> bool TaskQueue<T, L>::append(T* item){ + if(!stopped){ + lock.acquire(); + + //queue.put(item); + queue.push(item); + + if(!running){ + running = true; + pool->addTask(this); + } + lock.release(); + //} + return true; + }else{ + return false; + } + } + + template<class T, class L> bool TaskQueue<T, L>::isComplete(T* item){ + return true;//by default assume all tasks are synchronous w.r.t. execute() + } + + + template<class T, class L> void TaskQueue<T, L>::completed(){ + if(next){ + if(!next->append(work)){ + std::cout << "Warning: dropping task as next queue appears to have stopped." << std::endl; + } + }else{ + delete work; + } + work = 0; + } + + template<class T, class L> void TaskQueue<T, L>::complete(){ + completed(); + lock.acquire(); + running = false; + if(stopped) lock.notify(); + lock.release(); + } + + template<class T, class L> void TaskQueue<T, L>::stop(bool drain){ + //prevent new tasks from being added + stopped = true; + //wait until no longer running + lock.acquire(); + while(running && (drain && hasWork())){ + lock.wait(); + } + lock.release(); + } + + template<class T, class L> T* TaskQueue<T, L>::take(){ + T* item = 0; + if(!queue.empty()){ + item = queue.front(); + queue.pop(); + } + return item; + } +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/Thread.h b/cpp/common/concurrent/inc/Thread.h new file mode 100644 index 0000000000..6bd2a379ce --- /dev/null +++ b/cpp/common/concurrent/inc/Thread.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Thread_ +#define _Thread_ + +namespace qpid { +namespace concurrent { + + class Thread + { + public: + virtual ~Thread(){} + virtual void start() = 0; + virtual void join() = 0; + virtual void interrupt() = 0; + }; + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/ThreadFactory.h b/cpp/common/concurrent/inc/ThreadFactory.h new file mode 100644 index 0000000000..53be000ff3 --- /dev/null +++ b/cpp/common/concurrent/inc/ThreadFactory.h @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _ThreadFactory_ +#define _ThreadFactory_ + +#include "Thread.h" +#include "Runnable.h" + +namespace qpid { +namespace concurrent { + + class ThreadFactory + { + public: + virtual ~ThreadFactory(){} + virtual Thread* create(Runnable* runnable) = 0; + }; + +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/ThreadFactoryImpl.h b/cpp/common/concurrent/inc/ThreadFactoryImpl.h new file mode 100644 index 0000000000..a534b3c1e2 --- /dev/null +++ b/cpp/common/concurrent/inc/ThreadFactoryImpl.h @@ -0,0 +1,52 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _ThreadFactoryImpl_ +#define _ThreadFactoryImpl_ + + +#ifdef _USE_APR_IO_ +#include "APRThreadFactory.h" +#else +#include "LThreadFactory.h" +#endif + + +namespace qpid { +namespace concurrent { + + +#ifdef _USE_APR_IO_ + class ThreadFactoryImpl : public virtual APRThreadFactory + { + public: + ThreadFactoryImpl(): APRThreadFactory() {}; + virtual ~ThreadFactoryImpl() {}; + }; +#else + class ThreadFactoryImpl : public virtual LThreadFactory + { + public: + ThreadFactoryImpl(): LThreadFactory() {}; + virtual ~ThreadFactoryImpl() {}; + }; +#endif +} +} + + +#endif diff --git a/cpp/common/concurrent/inc/ThreadPool.h b/cpp/common/concurrent/inc/ThreadPool.h new file mode 100644 index 0000000000..679c889ff3 --- /dev/null +++ b/cpp/common/concurrent/inc/ThreadPool.h @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _ThreadPool_ +#define _ThreadPool_ + +#include "Thread.h" +#include "Runnable.h" + +namespace qpid { +namespace concurrent { + + class ThreadPool + { + public: + virtual void start() = 0; + virtual void stop() = 0; + virtual void addTask(Runnable* runnable) = 0; + virtual ~ThreadPool(){} + }; + +} +} + + +#endif diff --git a/cpp/common/concurrent/src/APRBase.cpp b/cpp/common/concurrent/src/APRBase.cpp new file mode 100644 index 0000000000..f87ea9e25f --- /dev/null +++ b/cpp/common/concurrent/src/APRBase.cpp @@ -0,0 +1,97 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "APRBase.h" +#include "QpidError.h" + +using namespace qpid::concurrent; + +APRBase* APRBase::instance = 0; + +APRBase* APRBase::getInstance(){ + if(instance == 0){ + instance = new APRBase(); + } + return instance; +} + + +APRBase::APRBase() : count(0){ + apr_initialize(); + CHECK_APR_SUCCESS(apr_pool_create(&pool, 0)); + CHECK_APR_SUCCESS(apr_thread_mutex_create(&mutex, APR_THREAD_MUTEX_NESTED, pool)); +} + +APRBase::~APRBase(){ + CHECK_APR_SUCCESS(apr_thread_mutex_destroy(mutex)); + apr_pool_destroy(pool); + apr_terminate(); +} + +bool APRBase::_increment(){ + bool deleted(false); + CHECK_APR_SUCCESS(apr_thread_mutex_lock(mutex)); + if(this == instance){ + count++; + }else{ + deleted = true; + } + CHECK_APR_SUCCESS(apr_thread_mutex_unlock(mutex)); + return !deleted; +} + +void APRBase::_decrement(){ + APRBase* copy = 0; + CHECK_APR_SUCCESS(apr_thread_mutex_lock(mutex)); + if(--count == 0){ + copy = instance; + instance = 0; + } + CHECK_APR_SUCCESS(apr_thread_mutex_unlock(mutex)); + if(copy != 0){ + delete copy; + } +} + +void APRBase::increment(){ + int count = 0; + while(count++ < 2 && !getInstance()->_increment()){ + std::cout << "WARNING: APR initialization triggered concurrently with termination." << std::endl; + } +} + +void APRBase::decrement(){ + getInstance()->_decrement(); +} + +void qpid::concurrent::check(apr_status_t status, const std::string& file, const int line){ + if (status != APR_SUCCESS){ + const int size = 50; + char tmp[size]; + std::string msg(apr_strerror(status, tmp, size)); + throw QpidError(APR_ERROR + ((int) status), msg, file, line); + } +} + +std::string qpid::concurrent::get_desc(apr_status_t status){ + const int size = 50; + char tmp[size]; + std::string msg(apr_strerror(status, tmp, size)); + return msg; +} + diff --git a/cpp/common/concurrent/src/APRMonitor.cpp b/cpp/common/concurrent/src/APRMonitor.cpp new file mode 100644 index 0000000000..428d76dff9 --- /dev/null +++ b/cpp/common/concurrent/src/APRMonitor.cpp @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "APRBase.h" +#include "APRMonitor.h" +#include <iostream> + +qpid::concurrent::APRMonitor::APRMonitor(){ + APRBase::increment(); + CHECK_APR_SUCCESS(apr_pool_create(&pool, NULL)); + CHECK_APR_SUCCESS(apr_thread_mutex_create(&mutex, APR_THREAD_MUTEX_NESTED, pool)); + CHECK_APR_SUCCESS(apr_thread_cond_create(&condition, pool)); +} + +qpid::concurrent::APRMonitor::~APRMonitor(){ + CHECK_APR_SUCCESS(apr_thread_cond_destroy(condition)); + CHECK_APR_SUCCESS(apr_thread_mutex_destroy(mutex)); + apr_pool_destroy(pool); + APRBase::decrement(); +} + +void qpid::concurrent::APRMonitor::wait(){ + CHECK_APR_SUCCESS(apr_thread_cond_wait(condition, mutex)); +} + + +void qpid::concurrent::APRMonitor::wait(u_int64_t time){ + apr_status_t status = apr_thread_cond_timedwait(condition, mutex, time * 1000); + if(!status == APR_TIMEUP) CHECK_APR_SUCCESS(status); +} + +void qpid::concurrent::APRMonitor::notify(){ + CHECK_APR_SUCCESS(apr_thread_cond_signal(condition)); +} + +void qpid::concurrent::APRMonitor::notifyAll(){ + CHECK_APR_SUCCESS(apr_thread_cond_broadcast(condition)); +} + +void qpid::concurrent::APRMonitor::acquire(){ + CHECK_APR_SUCCESS(apr_thread_mutex_lock(mutex)); +} + +void qpid::concurrent::APRMonitor::release(){ + CHECK_APR_SUCCESS(apr_thread_mutex_unlock(mutex)); +} diff --git a/cpp/common/concurrent/src/APRThread.cpp b/cpp/common/concurrent/src/APRThread.cpp new file mode 100644 index 0000000000..4202fe81b6 --- /dev/null +++ b/cpp/common/concurrent/src/APRThread.cpp @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "APRBase.h" +#include "APRThread.h" +#include "apr_portable.h" + +using namespace qpid::concurrent; + +void* APR_THREAD_FUNC ExecRunnable(apr_thread_t* thread, void *data){ + ((Runnable*) data)->run(); + CHECK_APR_SUCCESS(apr_thread_exit(thread, APR_SUCCESS)); + return NULL; +} + +APRThread::APRThread(apr_pool_t* _pool, Runnable* _runnable) : pool(_pool), runnable(_runnable){} + +APRThread::~APRThread(){ +} + +void APRThread::start(){ + CHECK_APR_SUCCESS(apr_thread_create(&runner, NULL, ExecRunnable,(void*) runnable, pool)); +} + +void APRThread::join(){ + apr_status_t status; + CHECK_APR_SUCCESS(apr_thread_join(&status, runner)); +} + +void APRThread::interrupt(){ + CHECK_APR_SUCCESS(apr_thread_exit(runner, APR_SUCCESS)); +} + +unsigned int qpid::concurrent::APRThread::currentThread(){ + return apr_os_thread_current(); +} diff --git a/cpp/common/concurrent/src/APRThreadFactory.cpp b/cpp/common/concurrent/src/APRThreadFactory.cpp new file mode 100644 index 0000000000..9ba68e9e56 --- /dev/null +++ b/cpp/common/concurrent/src/APRThreadFactory.cpp @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "APRBase.h" +#include "APRThreadFactory.h" + +using namespace qpid::concurrent; + +APRThreadFactory::APRThreadFactory(){ + APRBase::increment(); + CHECK_APR_SUCCESS(apr_pool_create(&pool, NULL)); +} + +APRThreadFactory::~APRThreadFactory(){ + apr_pool_destroy(pool); + APRBase::decrement(); +} + +Thread* APRThreadFactory::create(Runnable* runnable){ + return new APRThread(pool, runnable); +} diff --git a/cpp/common/concurrent/src/APRThreadPool.cpp b/cpp/common/concurrent/src/APRThreadPool.cpp new file mode 100644 index 0000000000..e0fcb804e6 --- /dev/null +++ b/cpp/common/concurrent/src/APRThreadPool.cpp @@ -0,0 +1,85 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "APRThreadFactory.h" +#include "APRThreadPool.h" +#include "QpidError.h" +#include <iostream> + +using namespace qpid::concurrent; + +APRThreadPool::APRThreadPool(int _size) : size(_size), factory(new APRThreadFactory()), + deleteFactory(true), running(false){ + worker = new Worker(this); +} + +APRThreadPool::APRThreadPool(int _size, ThreadFactory* _factory) : size(_size), factory(_factory), + deleteFactory(false), running(false){ + worker = new Worker(this); +} + +APRThreadPool::~APRThreadPool(){ + if(deleteFactory) delete factory; +} + +void APRThreadPool::addTask(Runnable* task){ + lock.acquire(); + tasks.push(task); + lock.notifyAll(); + lock.release(); +} + +void APRThreadPool::runTask(){ + lock.acquire(); + while(tasks.empty()){ + lock.wait(); + } + Runnable* task = tasks.front(); + tasks.pop(); + lock.release(); + try{ + task->run(); + }catch(qpid::QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } +} + +void APRThreadPool::start(){ + if(!running){ + running = true; + for(int i = 0; i < size; i++){ + Thread* t = factory->create(worker); + t->start(); + threads.push_back(t); + } + } +} + +void APRThreadPool::stop(){ + if(!running){ + running = false; + lock.acquire(); + lock.notifyAll(); + lock.release(); + for(int i = 0; i < size; i++){ + threads[i]->join(); + delete threads[i]; + } + } +} + + diff --git a/cpp/common/error/inc/QpidError.h b/cpp/common/error/inc/QpidError.h new file mode 100644 index 0000000000..a739b506c7 --- /dev/null +++ b/cpp/common/error/inc/QpidError.h @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef __QpidError__ +#define __QpidError__ + +namespace qpid { + +class QpidError{ +public: + const int code; + const std::string msg; + const std::string file; + const int line; + + inline QpidError(int _code, const std::string& _msg, const std::string& _file, int _line) : code(_code), msg(_msg), file(_file), line(_line) {} + ~QpidError(){} + +}; + +#define THROW_QPID_ERROR(A, B) throw QpidError(A, B, __FILE__, __LINE__) + +} + +#define PROTOCOL_ERROR 10000 +#define APR_ERROR 20000 +#define FRAMING_ERROR 30000 +#define CLIENT_ERROR 40000 +#define INTERNAL_ERROR 50000 + +#endif diff --git a/cpp/common/error/inc/QpidErrorIO.h b/cpp/common/error/inc/QpidErrorIO.h new file mode 100644 index 0000000000..4f9bd3ce26 --- /dev/null +++ b/cpp/common/error/inc/QpidErrorIO.h @@ -0,0 +1,29 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "QpidError.h" +#include <ostream> + +std::ostream& operator <<(std::ostream& out, const QpidError& error) +{ + out << "Qpid Error [" << error.code << "] " << error.msg + << " (" << error.file << ":" << error.line << ")"; + return out; +} + + diff --git a/cpp/common/framing/Makefile b/cpp/common/framing/Makefile new file mode 100644 index 0000000000..1dfc286050 --- /dev/null +++ b/cpp/common/framing/Makefile @@ -0,0 +1,28 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +.PHONY: all clean test + +all: + @$(MAKE) -C generated all + +test: + @$(MAKE) -C test all + +clean : + @$(MAKE) -C generated clean + @$(MAKE) -C test clean + diff --git a/cpp/common/framing/generated/Makefile b/cpp/common/framing/generated/Makefile new file mode 100644 index 0000000000..12ec402760 --- /dev/null +++ b/cpp/common/framing/generated/Makefile @@ -0,0 +1,41 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +QPID_HOME = ../../../.. +include ${QPID_HOME}/cpp/options.mk + +STYLESHEET_DIR = stylesheets +JAVA = java +XSLTP = ${TOOLS_DIR}/saxon8.jar + +SPEC = ${SPEC_DIR}/amqp-8.0.xml +STYLESHEETS = $(wildcard stylesheets/*.xsl) + +GENERATED_SOURCES=amqp_methods.cpp # Seed generation + +.PHONY: all clean + +all: ${GENERATED_SOURCES} + +clean : + -@rm -f *.cpp *.h + +${GENERATED_SOURCES}: ${STYLESHEETS} ${SPEC} + ${JAVA} -jar ${XSLTP} -o results.out ${SPEC} ${STYLESHEET_DIR}/code_gen.xsl + ${JAVA} -jar ${XSLTP} -o results.out ${SPEC} ${STYLESHEET_DIR}/framing.xsl + +-include $(GENERATED_SOURCES:.cpp=.d) + diff --git a/cpp/common/framing/generated/stylesheets/amqp_client.xsl b/cpp/common/framing/generated/stylesheets/amqp_client.xsl new file mode 100644 index 0000000000..f0fa3d7890 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/amqp_client.xsl @@ -0,0 +1,155 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <xsl:import href="code_utils.xsl"/> + + <!-- + ================== + Template: client_h + ================== + Client header file. + --> + <xsl:template match="amqp" mode="client_h"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_Client.h" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#ifndef _AMQP_Client_ +#define _AMQP_Client_ + +#include "AMQP_ServerOperations.h" +#include "FieldTable.h" +#include "OutputHandler.h" + +namespace qpid { +namespace framing { + +class AMQP_Client : virtual public AMQP_ServerOperations +{ + OutputHandler* out; + + public: + AMQP_Client(OutputHandler* _out); + virtual ~AMQP_Client() {}

</xsl:text> + <xsl:for-each select="class"> + <xsl:variable name="class" select="amqp:cpp-class-name(@name)"/> + <xsl:if test="doc"> + <xsl:text>
/**
===== Class: </xsl:text><xsl:value-of select="$class"/><xsl:text> =====
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>
*/
</xsl:text> + </xsl:if> + <xsl:text> class </xsl:text><xsl:value-of select="$class"/><xsl:text> : virtual public AMQP_ServerOperations::</xsl:text><xsl:value-of select="$class"/><xsl:text>Handler + { + OutputHandler* out; + + public: + /* Constructors and destructors */ + </xsl:text><xsl:value-of select="$class"/><xsl:text>(OutputHandler* _out); + virtual ~</xsl:text><xsl:value-of select="$class"/><xsl:text>(); + + /* Protocol methods */
</xsl:text> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='server']"> + <xsl:variable name="method" select="amqp:cpp-name(@name)"/> + <xsl:if test="doc"> + <xsl:text>
/**
----- Method: </xsl:text><xsl:value-of select="$class"/><xsl:text>.</xsl:text><xsl:value-of select="$method"/><xsl:text> -----
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>
*/
</xsl:text> + </xsl:if> + <xsl:for-each select="rule"> + <xsl:text>
/**
</xsl:text> + <xsl:text>Rule "</xsl:text><xsl:value-of select="@name"/><xsl:text>":
</xsl:text><xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>
*/
</xsl:text> + </xsl:for-each> + <xsl:text> virtual void </xsl:text><xsl:value-of select="$method"/> + <xsl:text>( u_int16_t channel</xsl:text><xsl:if test="field"><xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + <xsl:text> );
</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> }; /* class </xsl:text><xsl:value-of select="$class"/><xsl:text> */
</xsl:text> + </xsl:for-each> + <xsl:text>}; /* class AMQP_Client */ + +} /* namespace framing */ +} /* namespace qpid */ + +#endif
</xsl:text> + </xsl:result-document> + </xsl:template> + + + <!-- + ==================== + Template: client_cpp + ==================== + Client body. + --> + <xsl:template match="amqp" mode="client_cpp"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_Client.cpp" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> + +#include "AMQP_Client.h" + +namespace qpid { +namespace framing { + +AMQP_Client::AMQP_Client(OutputHandler* _out) : + out(_out) +{ +}

</xsl:text> + <xsl:for-each select="class"> + <xsl:variable name="class" select="amqp:cpp-class-name(@name)"/> + <xsl:text>
/* ++++++++++ Class: </xsl:text><xsl:value-of select="$class"/><xsl:text> ++++++++++ */ + +AMQP_Client::</xsl:text><xsl:value-of select="$class"/><xsl:text>::</xsl:text><xsl:value-of select="$class"/><xsl:text>(OutputHandler* _out) : + out(_out) +{ +} + +AMQP_Client::</xsl:text><xsl:value-of select="$class"/><xsl:text>::~</xsl:text><xsl:value-of select="$class"/><xsl:text>() {}

</xsl:text> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='server']"> + <xsl:text>void AMQP_Client::</xsl:text><xsl:value-of select="$class"/><xsl:text>::</xsl:text> + <xsl:value-of select="amqp:cpp-name(@name)"/><xsl:text>( u_int16_t channel</xsl:text><xsl:if test="field"> + <xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + <xsl:text> ) +{ + out->send( new AMQFrame( channel, + new </xsl:text><xsl:value-of select="concat($class, amqp:field-name(@name), 'Body')"/><xsl:text>( </xsl:text> + <xsl:for-each select="field"> + <xsl:value-of select="amqp:cpp-name(@name)"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> ) ) ); +}

</xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + <xsl:text> + +} /* namespace framing */ +} /* namespace qpid */
</xsl:text> + </xsl:result-document> + </xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/amqp_client_handler_impl.xsl b/cpp/common/framing/generated/stylesheets/amqp_client_handler_impl.xsl new file mode 100644 index 0000000000..aa095eaf79 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/amqp_client_handler_impl.xsl @@ -0,0 +1,187 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <xsl:import href="code_utils.xsl"/> + + <!-- + =============================== + Template: client_handler_impl_h + =============================== + Template to generate the AMQP_ServerHandlerImpl class header file. + --> + <xsl:template match="amqp" mode="client_handler_impl_h"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_ClientHandlerImpl.h" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#ifndef _AMQP_ClientHandlerImpl_ +#define _AMQP_ClientHandlerImpl_ + +#include "AMQP_ClientOperations.h" +#include "FieldTable.h" + +namespace qpid { +namespace framing { + +class AMQP_ClientHandlerImpl : virtual public AMQP_ClientOperations +{
</xsl:text> + + <!-- List of pointers to each inner class instance --> + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + <xsl:text> AMQP_ClientOperations::</xsl:text><xsl:value-of select="$class"/><xsl:text>* </xsl:text> + <xsl:value-of select="$class"/><xsl:text>Ptr;
</xsl:text> + </xsl:for-each> + <xsl:text> + public: + AMQP_ClientHandlerImpl(); + virtual ~AMQP_ClientHandlerImpl();

</xsl:text> + + <!-- List of functions to return pointer to each inner class instance --> + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + <xsl:text> inline AMQP_ClientOperations::</xsl:text> + <xsl:value-of select="$class"/><xsl:text>* get</xsl:text><xsl:value-of select="$class"/> + <xsl:text>() { return </xsl:text><xsl:value-of select="$class"/><xsl:text>Ptr; }
</xsl:text> + </xsl:for-each> + <xsl:text>
</xsl:text> + + <!-- Inner classes --> + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + + <!-- Inner class documentation & rules --> + <xsl:if test="doc"> + <xsl:text>
/**
</xsl:text> + <xsl:text>===== Class: </xsl:text><xsl:value-of select="$class"/><xsl:text>Impl =====
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:if> + + <!-- Inner class definition --> + <xsl:text> class </xsl:text><xsl:value-of select="$class"/> + <xsl:text>Impl : virtual public AMQP_ClientOperations::</xsl:text><xsl:value-of select="$class"/> + <xsl:text>
 { + public: + /* Constructors and destructors */ + </xsl:text><xsl:value-of select="$class"/><xsl:text>Impl(); + virtual ~</xsl:text><xsl:value-of select="$class"/><xsl:text>Impl(); + + /* Protocol methods */
</xsl:text> + + <!-- Inner class methods (only if the chassis is set to "client") --> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='client']"> + <xsl:variable name="method" select="amqp:cpp-name(@name)"/> + + <!-- Inner class method documentation & rules --> + <xsl:if test="doc"> + <xsl:text>
/**
</xsl:text> + <xsl:text>----- Method: </xsl:text><xsl:value-of select="$class"/> + <xsl:text>Impl.</xsl:text><xsl:value-of select="@name"/><xsl:text> -----
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:if> + <xsl:for-each select="rule"> + <xsl:text>
/**
</xsl:text> + <xsl:text>Rule "</xsl:text><xsl:value-of select="@name"/><xsl:text>":
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:for-each> + + <!-- Inner class method definition --> + <xsl:text>
 virtual void </xsl:text><xsl:value-of select="$method"/> + <xsl:text>( u_int16_t channel</xsl:text> + + <!-- Inner class method parameter definition --> + <xsl:if test="field"> + <xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + <xsl:text> );
</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text>
 }; /* class </xsl:text><xsl:value-of select="$class"/><xsl:text>Impl */
</xsl:text> + </xsl:for-each> + <xsl:text>
}; /* AMQP_ClientHandlerImpl */ + +} /* namespace framing */ +} /* namespace qpid */ + +#endif
</xsl:text> + </xsl:result-document> + </xsl:template> + + <!-- + ================================= + Template: client_handler_impl_cpp + ================================= + Template to generate the AMQP_ServerHandlerImpl class stubs. + --> + <xsl:template match="amqp" mode="client_handler_impl_cpp"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_ClientHandlerImpl.cpp" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#include "AMQP_ClientHandlerImpl.h" + +namespace qpid { +namespace framing { + +AMQP_ClientHandlerImpl::AMQP_ClientHandlerImpl() :
 </xsl:text> + <xsl:for-each select="class"> + <xsl:variable name="class" select="amqp:cpp-class-name(@name)"/> + <xsl:value-of select="$class"/> + <xsl:text>HandlerPtr( new </xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl() )</xsl:text> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> +{ +} + +AMQP_ClientHandlerImpl::~AMQP_ClientHandlerImpl() +{
</xsl:text> + <xsl:for-each select="class"> + <xsl:text> delete </xsl:text><xsl:value-of select="amqp:cpp-class-name(@name)"/><xsl:text>HandlerPtr;
</xsl:text> + </xsl:for-each>} + + <xsl:for-each select="class"> + <xsl:variable name="class" select="amqp:cpp-class-name(@name)"/> + <xsl:text>
/* ===== Class: </xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl ===== */

</xsl:text> + <xsl:text>AMQP_ClientHandlerImpl::</xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl::</xsl:text> + <xsl:value-of select="$class"/><xsl:text>HandlerImpl()
{
}

</xsl:text> + <xsl:text>AMQP_ClientHandlerImpl::</xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl::~</xsl:text> + <xsl:value-of select="$class"/><xsl:text>HandlerImpl()
{
}

</xsl:text> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='client']"> + <xsl:text>void AMQP_ClientHandlerImpl::</xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl::</xsl:text> + <xsl:value-of select="amqp:cpp-name(@name)"/><xsl:text>( u_int16_t channel</xsl:text> + <xsl:if test="field"> + <xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if><xsl:text> )
{
}

</xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + <xsl:text> + +} /* namespace framing */ +} /* namespace qpid */

</xsl:text> + </xsl:result-document> + </xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/amqp_client_operations.xsl b/cpp/common/framing/generated/stylesheets/amqp_client_operations.xsl new file mode 100644 index 0000000000..234b7080ba --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/amqp_client_operations.xsl @@ -0,0 +1,105 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <xsl:import href="code_utils.xsl"/> + + <!-- + ============================= + Template: client-operations-h + ============================= + Template to generate the AMQP_ClientHandler virtual class. This is the pure + virtual class from which the AMQP_Server and AMQP_ClientHandlerImpl classes + are derived. + --> + <xsl:template match="amqp" mode="client-operations-h"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_ClientOperations.h" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#ifndef _AMQP_ClientOperations_ +#define _AMQP_ClientOperations_ + +#include "AMQP_Constants.h" +#include "FieldTable.h" + +namespace qpid { +namespace framing { + +class AMQP_ClientOperations +{ + public: + AMQP_ClientOperations() {} + virtual ~AMQP_ClientOperations() {} + inline u_int16_t getAmqpMajor() { return (u_int16_t)</xsl:text><xsl:value-of select="@major"/><xsl:text>; } + inline u_int16_t getAmqpMinor() { return (u_int16_t)</xsl:text><xsl:value-of select="@minor"/><xsl:text>; }

</xsl:text> + + <!-- Inner classes --> + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + + <!-- Inner class documentation & rules --> + <xsl:if test="doc"> + <xsl:text>
/**
===== Class: </xsl:text><xsl:value-of select="$class"/><xsl:text> =====
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:if> + + <!-- Inner class definition --> + <xsl:text> class </xsl:text><xsl:value-of select="$class"/><xsl:text> + { + public: + /* Constructors and destructors */ + </xsl:text><xsl:value-of select="$class"/><xsl:text>() {} + virtual ~</xsl:text><xsl:value-of select="$class"/><xsl:text>() {} + + /* Protocol methods */
</xsl:text> + + <!-- Inner class methods (only if the chassis is set to "client") --> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='client']"> + <xsl:variable name="method" select="amqp:cpp-name(@name)"/> + + <!-- Inner class method documentation & rules --> + <xsl:if test="doc"> + <xsl:text>
/**
----- Method: </xsl:text><xsl:value-of select="$class"/><xsl:text>.</xsl:text> + <xsl:value-of select="@name"/><xsl:text> -----
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:if> + <xsl:for-each select="rule"> + <xsl:text>
/**
</xsl:text> + <xsl:text>Rule "</xsl:text><xsl:value-of select="@name"/><xsl:text>":
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:for-each> + + <!-- Inner class method definition --> + <xsl:text> virtual void </xsl:text><xsl:value-of select="$method"/> + <xsl:text>( u_int16_t channel</xsl:text> + + <!-- Inner class method parameter definition --> + <xsl:if test="field"> + <xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + <xsl:text> ) = 0;
</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text>
 }; /* class </xsl:text><xsl:value-of select="$class"/><xsl:text> */
</xsl:text> + </xsl:for-each> + <xsl:text>
}; /* class AMQP_ClientOperations */ + +} /* namespace framing */ +} /* namespace qpid */ + +#endif
</xsl:text> + </xsl:result-document> + </xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/amqp_consts.xsl b/cpp/common/framing/generated/stylesheets/amqp_consts.xsl new file mode 100644 index 0000000000..c1c927f941 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/amqp_consts.xsl @@ -0,0 +1,77 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <xsl:import href="code_utils.xsl"/> + <xsl:output method="text" indent="yes" name="textFormat"/> + + <xsl:template match="/"> + <xsl:apply-templates select="amqp" mode="domain-table"/> + <xsl:apply-templates select="amqp" mode="domain-consts"/> + </xsl:template> + + <!-- + ====================== + Template: domain-table + ====================== + Generates the domain name to C++ type lookup table + which is required for later generation. + Format: + <domains> + <domain doamin-name="dname1" cpp-type="type1"/> + <domain doamin-name="dname2" cpp-type="type2"/> + ... + </domains> + --> + <xsl:template match="amqp" mode="domain-table"> + <domains><xsl:text>
</xsl:text> + <xsl:for-each select="domain"> + <xsl:text> </xsl:text><domain> + <xsl:attribute name="domain-name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="cpp-type"> + <xsl:value-of select="amqp:cpp-type(@type)"/> + </xsl:attribute> + </domain><xsl:text>
</xsl:text> + </xsl:for-each> + </domains> + </xsl:template> + + <!-- + ======================= + Template: domain-consts + ======================= + Generates a header file (AMQP_Constants.h) containing definitions of + all the <constant> declarations in the AMQP XML specification. + --> + <xsl:template match="amqp" mode="domain-consts"> + <xsl:result-document href="AMQP_Constants.h" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#ifndef _AMQP_Constants_ +#define _AMQP_Constants_ + +#include "amqp_types.h" + +namespace qpid { +namespace framing { + +/**** Constants ****/

</xsl:text> + <xsl:for-each select="constant"> + <xsl:if test="doc"> + <xsl:text>
/*
</xsl:text> + <xsl:value-of select="normalize-space(doc)"/> + <xsl:text>
*/
</xsl:text> + </xsl:if> + <xsl:text>const u_int16_t </xsl:text><xsl:value-of select="concat('AMQP_', upper-case(amqp:cpp-name(@name)), ' = ', @value)"/><xsl:text>;
</xsl:text> + </xsl:for-each> + <xsl:text> + +} /* namespace framing */ +} /* namespace qpid */ + +#endif
</xsl:text> + </xsl:result-document> + </xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/amqp_server.xsl b/cpp/common/framing/generated/stylesheets/amqp_server.xsl new file mode 100644 index 0000000000..4ad29a4b95 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/amqp_server.xsl @@ -0,0 +1,155 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <xsl:import href="code_utils.xsl"/> + + <!-- + ================== + Template: server_h + ================== + Server header file. + --> + <xsl:template match="amqp" mode="server_h"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_Server.h" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#ifndef _AMQP_Server_ +#define _AMQP_Server_ + +#include "AMQP_ClientOperations.h" +#include "FieldTable.h" +#include "OutputHandler.h" + +namespace qpid { +namespace framing { + +class AMQP_Server : virtual public AMQP_ClientOperations +{ + OutputHandler* out; + + public: + AMQP_Server(OutputHandler* _out); + virtual ~AMQP_Server() {}

</xsl:text> + <xsl:for-each select="class"> + <xsl:variable name="class" select="amqp:cpp-class-name(@name)"/> + <xsl:if test="doc"> + <xsl:text>
/**
===== Class: </xsl:text><xsl:value-of select="$class"/><xsl:text> =====
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>
*/
</xsl:text> + </xsl:if> + <xsl:text> class </xsl:text><xsl:value-of select="$class"/><xsl:text> : virtual public AMQP_ClientOperations::</xsl:text><xsl:value-of select="$class"/><xsl:text>Handler + { + OutputHandler* out; + + public: + /* Constructors and destructors */ + </xsl:text><xsl:value-of select="$class"/><xsl:text>(OutputHandler* _out); + virtual ~</xsl:text><xsl:value-of select="$class"/><xsl:text>(); + + /* Protocol methods */
</xsl:text> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='client']"> + <xsl:variable name="method" select="amqp:cpp-name(@name)"/> + <xsl:if test="doc"> + <xsl:text>
/**
----- Method: </xsl:text><xsl:value-of select="$class"/><xsl:text>.</xsl:text><xsl:value-of select="$method"/><xsl:text> -----
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>
*/
</xsl:text> + </xsl:if> + <xsl:for-each select="rule"> + <xsl:text>
/**
</xsl:text> + <xsl:text>Rule "</xsl:text><xsl:value-of select="@name"/><xsl:text>":
</xsl:text><xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>
*/
</xsl:text> + </xsl:for-each> + <xsl:text> virtual void </xsl:text><xsl:value-of select="$method"/> + <xsl:text>( u_int16_t channel</xsl:text><xsl:if test="field"><xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + <xsl:text> );
</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> }; /* class </xsl:text><xsl:value-of select="$class"/><xsl:text> */
</xsl:text> + </xsl:for-each> + <xsl:text>}; /* class AMQP_Server */ + +} /* namespace framing */ +} /* namespace qpid */ + +#endif
</xsl:text> + </xsl:result-document> + </xsl:template> + + + <!-- + ==================== + Template: server_cpp + ==================== + Server body. + --> + <xsl:template match="amqp" mode="server_cpp"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_Server.cpp" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> + +#include "AMQP_Server.h" + +namespace qpid { +namespace framing { + +AMQP_Server::AMQP_Server(OutputHandler* _out) : + out(_out) +{ +}

</xsl:text> + <xsl:for-each select="class"> + <xsl:variable name="class" select="amqp:cpp-class-name(@name)"/> + <xsl:text>
/* ++++++++++ Class: </xsl:text><xsl:value-of select="$class"/><xsl:text> ++++++++++ */ + +AMQP_Server::</xsl:text><xsl:value-of select="$class"/><xsl:text>::</xsl:text><xsl:value-of select="$class"/><xsl:text>(OutputHandler* _out) : + out(_out) +{ +} + +AMQP_Server::</xsl:text><xsl:value-of select="$class"/><xsl:text>::~</xsl:text><xsl:value-of select="$class"/><xsl:text>() {}

</xsl:text> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='client']"> + <xsl:text>void AMQP_Server::</xsl:text><xsl:value-of select="$class"/><xsl:text>::</xsl:text> + <xsl:value-of select="amqp:cpp-name(@name)"/><xsl:text>( u_int16_t channel</xsl:text><xsl:if test="field"> + <xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + <xsl:text> ) +{ + out->send( new AMQFrame( channel, + new </xsl:text><xsl:value-of select="concat($class, amqp:field-name(@name), 'Body')"/><xsl:text>( </xsl:text> + <xsl:for-each select="field"> + <xsl:value-of select="amqp:cpp-name(@name)"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> ) ) ); +}

</xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + <xsl:text> + +} /* namespace framing */ +} /* namespace qpid */
</xsl:text> + </xsl:result-document> + </xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/amqp_server_handler_impl.xsl b/cpp/common/framing/generated/stylesheets/amqp_server_handler_impl.xsl new file mode 100644 index 0000000000..de879a5670 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/amqp_server_handler_impl.xsl @@ -0,0 +1,187 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <xsl:import href="code_utils.xsl"/> + + <!-- + =============================== + Template: server_handler_impl_h + =============================== + Template to generate the AMQP_ServerHandlerImpl class header file. + --> + <xsl:template match="amqp" mode="server_handler_impl_h"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_ServerHandlerImpl.h" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#ifndef _AMQP_ServerHandlerImpl_ +#define _AMQP_ServerHandlerImpl_ + +#include "AMQP_ServerOperations.h" +#include "FieldTable.h" + +namespace qpid { +namespace framing { + +class AMQP_ServerHandlerImpl : virtual public AMQP_ServerOperations +{
</xsl:text> + + <!-- List of pointers to each inner class instance --> + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + <xsl:text> AMQP_ServerOperations::</xsl:text><xsl:value-of select="$class"/><xsl:text>* </xsl:text> + <xsl:value-of select="$class"/><xsl:text>Ptr;
</xsl:text> + </xsl:for-each> + <xsl:text> + public: + AMQP_ServerHandlerImpl(); + virtual ~AMQP_ServerHandlerImpl();

</xsl:text> + + <!-- List of functions to return pointer to each inner class instance --> + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + <xsl:text> virtual inline AMQP_ServerOperations::</xsl:text> + <xsl:value-of select="$class"/><xsl:text>* get</xsl:text><xsl:value-of select="$class"/> + <xsl:text>() { return </xsl:text><xsl:value-of select="$class"/><xsl:text>Ptr; }
</xsl:text> + </xsl:for-each> + <xsl:text>
</xsl:text> + + <!-- Inner classes --> + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + + <!-- Inner class documentation & rules --> + <xsl:if test="doc"> + <xsl:text>
/**
</xsl:text> + <xsl:text>===== Class: </xsl:text><xsl:value-of select="$class"/><xsl:text>Impl =====
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:if> + + <!-- Inner class definition --> + <xsl:text> class </xsl:text><xsl:value-of select="$class"/> + <xsl:text>Impl : virtual public AMQP_ServerOperations::</xsl:text><xsl:value-of select="$class"/> + <xsl:text>
 { + public: + /* Constructors and destructors */ + </xsl:text><xsl:value-of select="$class"/><xsl:text>Impl(); + virtual ~</xsl:text><xsl:value-of select="$class"/><xsl:text>Impl(); + + /* Protocol methods */
</xsl:text> + + <!-- Inner class methods (only if the chassis is set to "server") --> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='server']"> + <xsl:variable name="method" select="amqp:cpp-name(@name)"/> + + <!-- Inner class method documentation & rules --> + <xsl:if test="doc"> + <xsl:text>
/**
</xsl:text> + <xsl:text>----- Method: </xsl:text><xsl:value-of select="$class"/> + <xsl:text>Impl.</xsl:text><xsl:value-of select="@name"/><xsl:text> -----
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:if> + <xsl:for-each select="rule"> + <xsl:text>
/**
</xsl:text> + <xsl:text>Rule "</xsl:text><xsl:value-of select="@name"/><xsl:text>":
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:for-each> + + <!-- Inner class method definition --> + <xsl:text>
 virtual void </xsl:text><xsl:value-of select="$method"/> + <xsl:text>( u_int16_t channel</xsl:text> + + <!-- Inner class method parameter definition --> + <xsl:if test="field"> + <xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + <xsl:text> );
</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text>
 }; /* class </xsl:text><xsl:value-of select="$class"/><xsl:text>Impl */
</xsl:text> + </xsl:for-each> + <xsl:text>
}; /* AMQP_ServerHandlerImpl */ + +} /* namespace framing */ +} /* namespace qpid */ + +#endif
</xsl:text> + </xsl:result-document> + </xsl:template> + + <!-- + ================================= + Template: server_handler_impl_cpp + ================================= + Template to generate the AMQP_ServerHandlerImpl class stubs. + --> + <xsl:template match="amqp" mode="server_handler_impl_cpp"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_ServerHandlerImpl.cpp" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#include "AMQP_ServerHandlerImpl.h" + +namespace qpid { +namespace framing { + +AMQP_ServerHandlerImpl::AMQP_ServerHandlerImpl() :
 </xsl:text> + <xsl:for-each select="class"> + <xsl:variable name="class" select="amqp:cpp-class-name(@name)"/> + <xsl:value-of select="$class"/> + <xsl:text>HandlerPtr( new </xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl() )</xsl:text> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> +{ +} + +AMQP_ServerHandlerImpl::~AMQP_ServerHandlerImpl() +{
</xsl:text> + <xsl:for-each select="class"> + <xsl:text> delete </xsl:text><xsl:value-of select="amqp:cpp-class-name(@name)"/><xsl:text>HandlerPtr;
</xsl:text> + </xsl:for-each>} + + <xsl:for-each select="class"> + <xsl:variable name="class" select="amqp:cpp-class-name(@name)"/> + <xsl:text>
/* ===== Class: </xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl ===== */

</xsl:text> + <xsl:text>AMQP_ServerHandlerImpl::</xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl::</xsl:text> + <xsl:value-of select="$class"/><xsl:text>HandlerImpl()
{
}

</xsl:text> + <xsl:text>AMQP_ServerHandlerImpl::</xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl::~</xsl:text> + <xsl:value-of select="$class"/><xsl:text>HandlerImpl()
{
}

</xsl:text> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='server']"> + <xsl:text>void AMQP_ServerHandlerImpl::</xsl:text><xsl:value-of select="$class"/><xsl:text>HandlerImpl::</xsl:text> + <xsl:value-of select="amqp:cpp-name(@name)"/><xsl:text>( u_int16_t channel</xsl:text> + <xsl:if test="field"> + <xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if><xsl:text> )
{
}

</xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + <xsl:text> + +} /* namespace framing */ +} /* namespace qpid */

</xsl:text> + </xsl:result-document> + </xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/amqp_server_operations.xsl b/cpp/common/framing/generated/stylesheets/amqp_server_operations.xsl new file mode 100644 index 0000000000..b42242e8fe --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/amqp_server_operations.xsl @@ -0,0 +1,113 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <xsl:import href="code_utils.xsl"/> + + <!-- + ============================= + Template: server-operations-h + ============================= + Template to generate the AMQP_ServerHandler virtual class. This is the pure + virtual class from which the AMQP_Client and AMQP_ServerHandlerImpl classes + are derived. + --> + <xsl:template match="amqp" mode="server-operations-h"> + <xsl:param name="domain-cpp-table"/> + <xsl:result-document href="AMQP_ServerOperations.h" format="textFormat"> + <xsl:value-of select="amqp:copyright()"/> + <xsl:text> +#ifndef _AMQP_ServerOperations_ +#define _AMQP_ServerOperations_ + +#include "AMQP_Constants.h" +#include "FieldTable.h" + +namespace qpid { +namespace framing { + +class AMQP_ServerOperations +{ + public: + AMQP_ServerOperations() {} + virtual ~AMQP_ServerOperations() {} + inline u_int16_t getAmqpMajor() { return (u_int16_t)</xsl:text><xsl:value-of select="@major"/><xsl:text>; } + inline u_int16_t getAmqpMinor() { return (u_int16_t)</xsl:text><xsl:value-of select="@minor"/><xsl:text>; }

</xsl:text> + + <!-- Inner classes --> + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + + <!-- Inner class documentation & rules --> + <xsl:if test="doc"> + <xsl:text>
/**
===== Class: </xsl:text><xsl:value-of select="$class"/><xsl:text> =====
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:if> + + <!-- Inner class definition --> + <xsl:text> class </xsl:text><xsl:value-of select="$class"/><xsl:text> + { + public: + /* Constructors and destructors */ + </xsl:text><xsl:value-of select="$class"/><xsl:text>() {} + virtual ~</xsl:text><xsl:value-of select="$class"/><xsl:text>() {} + + /* Protocol methods */
</xsl:text> + + <!-- Inner class methods (only if the chassis is set to "server") --> + <xsl:for-each select="method"> + <xsl:if test="chassis[@name='server']"> + <xsl:variable name="method" select="amqp:cpp-name(@name)"/> + + <!-- Inner class method documentation & rules --> + <xsl:if test="doc"> + <xsl:text>
/**
----- Method: </xsl:text><xsl:value-of select="$class"/><xsl:text>.</xsl:text> + <xsl:value-of select="@name"/><xsl:text> -----
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:if> + <xsl:for-each select="rule">/** + <xsl:text>
/**
</xsl:text> + <xsl:text>Rule "</xsl:text><xsl:value-of select="@name"/><xsl:text>":
</xsl:text> + <xsl:value-of select="amqp:process-docs(doc)"/> + <xsl:text>*/
</xsl:text> + </xsl:for-each> + + <!-- Inner class method definition --> + <xsl:text> virtual void </xsl:text><xsl:value-of select="$method"/> + <xsl:text>( u_int16_t channel</xsl:text> + + <!-- Inner class method parameter definition --> + <xsl:if test="field"> + <xsl:text>,
 </xsl:text> + <xsl:for-each select="field"> + <xsl:variable name="domain-cpp-type" select="amqp:cpp-lookup(@domain, $domain-cpp-table)"/> + <xsl:value-of select="concat($domain-cpp-type, amqp:cpp-arg-ref($domain-cpp-type), ' ', amqp:cpp-name(@name))"/> + <xsl:if test="position()!=last()"> + <xsl:text>,
 </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:if> + <xsl:text> ) = 0;
</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> }; /* class </xsl:text><xsl:value-of select="$class"/><xsl:text> */
</xsl:text> + </xsl:for-each> + + <xsl:for-each select="class"> + <xsl:variable name="class" select="concat(amqp:cpp-class-name(@name), 'Handler')"/> + <xsl:text> virtual AMQP_ServerOperations::</xsl:text> + <xsl:value-of select="$class"/><xsl:text>* get</xsl:text><xsl:value-of select="$class"/> + <xsl:text>() = 0;</xsl:text> + </xsl:for-each> + + <xsl:text>}; /* class AMQP_ServerOperations */ + +} /* namespace framing */ +} /* namespace qpid */ + +#endif
</xsl:text> + </xsl:result-document> + </xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/code_gen.xsl b/cpp/common/framing/generated/stylesheets/code_gen.xsl new file mode 100644 index 0000000000..5e9f4ef8f0 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/code_gen.xsl @@ -0,0 +1,91 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <xsl:import href="convert_0.81.xsl"/> + <xsl:import href="amqp_consts.xsl"/> + <xsl:import href="amqp_server_operations.xsl"/> + <xsl:import href="amqp_client_operations.xsl"/> + <xsl:import href="amqp_server.xsl"/> + <xsl:import href="amqp_client.xsl"/> + <xsl:import href="amqp_server_handler_impl.xsl"/> + <xsl:import href="amqp_client_handler_impl.xsl"/> + + <xsl:output method="text" indent="yes" name="textFormat"/> + <xsl:key name="domain-lookup" match="domains/domain" use="@domain-name"/> + + <xsl:template match="/"> + + <!-- 0. Convert to 0.81 format --> + <!-- + NOTE: The XML specification change from 0.8 to 0.81 is primarily a change to + the XML itself, not the protocol it represents. However, at the time of this + commit, the 0.81 specification has not been approved by the AMQP working group, + so this converter from the 0.8 format to the 0.81 format has been included as + a temporary measure. When the 0.81 format becomes official, then this conversion + should be removed, and all of the templates below will revert to select=".". + + TODO: Remove this conversion when the new 0.81 spec is checked in. + --> + <xsl:variable name="format-v081"> + <xsl:apply-templates mode="do-amqp" select="amqp"/> + </xsl:variable> + <!-- == Uncomment this to view output for debugging == + <xsl:result-document href="convert_081.out"> + <xsl:copy-of select="$format-v081"/> + </xsl:result-document> + --> + + <!-- 1. Domain to C++ type lookup table --> + <xsl:variable name="domain-cpp-table"> + <xsl:apply-templates mode="domain-table" select="$format-v081"/> + </xsl:variable> + <!-- == Uncomment this to view output for debugging == + <xsl:result-document href="domain_cpp_table.out"> + <xsl:copy-of select="$domain-cpp-table"/> + </xsl:result-document> + --> + + <!-- 2. Constant declarations (AMQP_Constants.h) --> + <xsl:apply-templates mode="domain-consts" select="$format-v081"/> + + <!-- 3. Client and server handler pure virtual classes --> + <xsl:apply-templates mode="server-operations-h" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + <xsl:apply-templates mode="client-operations-h" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + + <!-- 4. Client and server output classes --> + <xsl:apply-templates mode="server_h" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + <xsl:apply-templates mode="client_h" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + <xsl:apply-templates mode="server_cpp" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + <xsl:apply-templates mode="client_cpp" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + + <!-- 5. Client and server handler stub classes --> + <xsl:apply-templates mode="server_handler_impl_h" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + <xsl:apply-templates mode="client_handler_impl_h" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + <!-- TODO: Find a way to only run the .cpp stub generator when required, as + running this will overwrite any stub code in existance! --> + <xsl:apply-templates mode="server_handler_impl_cpp" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + <xsl:apply-templates mode="client_handler_impl_cpp" select="$format-v081"> + <xsl:with-param name="domain-cpp-table" select="$domain-cpp-table"/> + </xsl:apply-templates> + + </xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/code_utils.xsl b/cpp/common/framing/generated/stylesheets/code_utils.xsl new file mode 100644 index 0000000000..f4a0f6e5ce --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/code_utils.xsl @@ -0,0 +1,210 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + + <!-- + ======================== + Function: amqp:copyright + ======================== + Print out a standard Apache copyright notice and generated code warning. + --> + <xsl:function name="amqp:copyright">/** +* +* Copyright (c) 2006 The Apache Software Foundation +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ + +/** +* +* NOTE: This file is generated directly from the AMQP XML specification. +* === DO NOT EDIT === +* +*/
</xsl:function> + + <!-- + ========================== + Function: amqp:upper-first + ========================== + Convert the first character of the parameter to upper-case + --> + <xsl:function name="amqp:upper-first"> + <xsl:param name="in"/> + <xsl:value-of select="concat(upper-case(substring($in, 1, 1)), substring($in, 2))"/> + </xsl:function> + + <!-- + ======================== + Function: amqp:cpp-name-1 + ======================== + Convert parameter "name" to a valid C++ identifier, finding spaces and '-'s + in the parameter name and replacing them with '_' chars. Also check for C++ + reserved words and prefix them with '_'. No capitalization is performed. + --> + <xsl:function name="amqp:cpp-name-1"> + <xsl:param name="name"/> + <xsl:choose> + <!-- C++ reserved words. --> + <xsl:when test="$name='delete'">delete_</xsl:when> + <xsl:when test="$name='return'">return_</xsl:when> + <!-- Change unsuitable C++ identifier characters. --> + <xsl:otherwise><xsl:value-of select="translate($name, ' -', '__')"/></xsl:otherwise> + </xsl:choose> + </xsl:function> + + <!-- + ======================= + Function: amqp:cpp-name + ======================= + Convert parameter "name" to a valid, camel cased C++ name. + --> + <xsl:function name="amqp:cpp-name"> + <xsl:param name="name"/> + <xsl:value-of select="amqp:cpp-name-1(amqp:camel-case($name))"/> + </xsl:function> + + <!-- + ============================= + Function: amqp:cpp-class-name + ============================= + Convert parameter "name" to a valid C++ identifier, finding spaces and '-'s + in the parameter name and replacing them with '_' chars. Also check for C++ + reserved words and prefix them with '_'. First letter only is capitalized. + --> + <xsl:function name="amqp:cpp-class-name"> + <xsl:param name="name"/> + <xsl:value-of select="amqp:upper-first(amqp:cpp-name($name))"/> + </xsl:function> + + <!-- + ========================= + Function: amqp:camel-case + ========================= + *** NOTE: Only works with *one* of either '-' or ' '. If a name contains 2 or + *** more of these characters, then this will break. + Convert parameter "name" to camel case, where words are separated by ' ' or '-' + --> + <xsl:function name="amqp:camel-case"> + <xsl:param name="name"/> + <xsl:choose> + <xsl:when test="contains($name, ' ')"> + <xsl:value-of select="concat(substring-before($name, ' '), amqp:upper-first(substring-after($name, ' ')))"/> + </xsl:when> + <xsl:when test="contains($name, '-')"> + <xsl:value-of select="concat(substring-before($name, '-'), amqp:upper-first(substring-after($name, '-')))"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:function> + + <!-- + ========================= + Function: amqp:field-name + ========================= + Get a valid field name, processing spaces and '-'s where appropriate + --> + <xsl:function name="amqp:field-name"> + <xsl:param name="name"/> + <xsl:value-of select="amqp:upper-first(amqp:camel-case($name))"/> + </xsl:function> + + <!-- + ======================= + Function: amqp:cpp-type + ======================= + Map the set of simple AMQP types to C++ types. Also map the AMQP table + domain to appropriate C++ class. + --> + <xsl:function name="amqp:cpp-type"> + <xsl:param name="type"/> + <xsl:choose> + <!-- Simple AMQP domain types --> + <xsl:when test="$type='octet'">u_int8_t</xsl:when> + <xsl:when test="$type='short'">u_int16_t</xsl:when> + <xsl:when test="$type='shortstr'">string</xsl:when> + <xsl:when test="$type='longstr'">string</xsl:when> + <xsl:when test="$type='bit'">bool</xsl:when> + <xsl:when test="$type='long'">u_int32_t</xsl:when> + <xsl:when test="$type='longlong'">u_int64_t</xsl:when> + <xsl:when test="$type='timestamp'">u_int64_t</xsl:when> + <!-- AMQP structures --> + <xsl:when test="$type='table'">FieldTable</xsl:when> + <!-- Fallback: unknown type --> + <xsl:otherwise>unknown_type /* WARNING: undefined type */</xsl:otherwise> + </xsl:choose> + </xsl:function> + + <!-- + ========================== + Function: amqp:cpp-arg-ref + ========================== + Determines whether a C++ reference is required for an argument. + --> + <xsl:function name="amqp:cpp-arg-ref"> + <xsl:param name="type"/> + <xsl:choose> + <xsl:when test="$type='string'">&</xsl:when> + <xsl:when test="$type='FieldTable'">&</xsl:when> + </xsl:choose> + </xsl:function> + + <!-- + ========================= + Function: amqp:cpp-lookup + ========================= + Template and function for looking up the cpp type from the domain name. + The template runs on a lookup table XML generated by the "domain_table" + template in amqp_domaintypes.xsl. + --> + <xsl:template match="/" mode="cpp-lookup"> + <xsl:param name="domain-name"/> + <xsl:for-each select="key('domain-lookup', $domain-name)"> + <xsl:value-of select="@cpp-type"/> + </xsl:for-each> + </xsl:template> + + <xsl:function name="amqp:cpp-lookup"> + <xsl:param name="domain-name"/> + <xsl:param name="domain-cpp-table"/> + <xsl:apply-templates mode="cpp-lookup" select="$domain-cpp-table"> + <xsl:with-param name="domain-name" select="$domain-name"/> + </xsl:apply-templates> + </xsl:function> + + <!-- + ========================= + Function: amqp:cpp-lookup + ========================= + Template and function for processing the possibly multiple <doc> elements + within a node. + --> + <xsl:template match="doc" mode="process-doc-elts"> + <xsl:for-each select="."> + <xsl:choose> + <xsl:when test=".[@type='grammar']"><xsl:value-of select="."/></xsl:when> + <xsl:when test=".[@type='scenario']"><xsl:value-of select="concat('
Test Scenario: ', normalize-space(.))"/></xsl:when> + <xsl:otherwise><xsl:value-of select="normalize-space(.)"/></xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:template> + + <xsl:function name="amqp:process-docs"> + <xsl:param name="doc-elts"/> + <xsl:apply-templates mode="process-doc-elts" select="$doc-elts"/> + </xsl:function> + + +</xsl:stylesheet> + diff --git a/cpp/common/framing/generated/stylesheets/convert_0.81.xsl b/cpp/common/framing/generated/stylesheets/convert_0.81.xsl new file mode 100644 index 0000000000..9924f165da --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/convert_0.81.xsl @@ -0,0 +1,407 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + +<xsl:template match="/"> + <xsl:apply-templates select="/" mode="do-amqp"/> +</xsl:template> + +<!-- ====== + <amqp> + ====== --> +<xsl:template match="amqp" mode="do-amqp"> + +<!-- <xsl:text>
</xsl:text> --> +<xsl:element name= "amqp"> +<xsl:attribute name="major"><xsl:value-of select="@major"/></xsl:attribute> +<xsl:attribute name="minor"><xsl:value-of select="@minor"/></xsl:attribute> +<xsl:attribute name="port"><xsl:value-of select="@port"/></xsl:attribute> +<xsl:attribute name="comment"><xsl:value-of select="@comment"/></xsl:attribute> +<xsl:text>
</xsl:text> + +<!-- constant elements --> +<xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:comment> + ==================== + Constants + ==================== + </xsl:comment><xsl:text>
</xsl:text> +<xsl:text>
</xsl:text> +<xsl:apply-templates select="constant" mode="do-constant"> +<xsl:with-param name="indent" select="' '"/> +</xsl:apply-templates> + +<!-- domain elements --> +<xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:comment> + ==================== + Domains + ==================== + </xsl:comment><xsl:text>
</xsl:text> +<xsl:text>
</xsl:text> +<xsl:apply-templates select="domain" mode="do-domain"> +<xsl:with-param name="indent" select="' '"/> +</xsl:apply-templates> + +<!-- required elementary domain definition elements added into v0.81 --> +<xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:comment> Elementary domains </xsl:comment><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">bit</xsl:attribute> + <xsl:attribute name="type">bit</xsl:attribute> + <xsl:attribute name="label">single bit</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">octet</xsl:attribute> + <xsl:attribute name="type">octet</xsl:attribute> + <xsl:attribute name="label">single octet</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">short</xsl:attribute> + <xsl:attribute name="type">short</xsl:attribute> + <xsl:attribute name="label">16-bit integer</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">long</xsl:attribute> + <xsl:attribute name="type">long</xsl:attribute> + <xsl:attribute name="label">32-bit integer</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">longlong</xsl:attribute> + <xsl:attribute name="type">longlong</xsl:attribute> + <xsl:attribute name="label">64-bit integer</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">shortstr</xsl:attribute> + <xsl:attribute name="type">shortstr</xsl:attribute> + <xsl:attribute name="label">short string</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">longstr</xsl:attribute> + <xsl:attribute name="type">longstr</xsl:attribute> + <xsl:attribute name="label">long string</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">timestamp</xsl:attribute> + <xsl:attribute name="type">timestamp</xsl:attribute> + <xsl:attribute name="label">64-bit timestamp</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:element name="domain"> + <xsl:attribute name="name">table</xsl:attribute> + <xsl:attribute name="type">table</xsl:attribute> + <xsl:attribute name="label">field table</xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> + +<!-- class elements --> +<xsl:text>
</xsl:text> +<xsl:text> </xsl:text><xsl:comment> + ==================== + Classes + ==================== + </xsl:comment><xsl:text>
</xsl:text> +<xsl:apply-templates select="class" mode="do-class"> +<xsl:with-param name="indent" select="' '"/> +</xsl:apply-templates> + +</xsl:element><!-- amqp --> +<!-- <xsl:text>
</xsl:text> --> +</xsl:template> + +<!-- ========== + <constant> + ========== --> +<xsl:template match="constant" mode="do-constant"> +<xsl:param name="indent"/> +<xsl:variable name="constant" select="translate(@name, ' ', '-')"/> + +<xsl:value-of select="$indent"/><xsl:element name="constant"> +<xsl:attribute name="name"><xsl:value-of select="$constant"/></xsl:attribute> +<xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute> +<xsl:if test="@class"> +<xsl:attribute name="class"><xsl:value-of select="translate(@class, ' ', '-')"/></xsl:attribute> +</xsl:if> + +<!-- If there is content, place in child <doc> element --> +<xsl:if test="string-length(.) > 0"> +<xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:text> </xsl:text><xsl:element name="doc"><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:text> </xsl:text><xsl:value-of select="normalize-space(.)"/><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:text> </xsl:text></xsl:element><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/> +</xsl:if> + +</xsl:element><xsl:text>
</xsl:text> + +</xsl:template> + +<!-- ======== + <domain> + ======== --> +<xsl:template match="domain" mode="do-domain"> +<xsl:param name="indent"/> +<xsl:variable name="domain" select="translate(@name, ' ', '-')"/> + +<xsl:value-of select="$indent"/><xsl:element name="domain"> +<xsl:attribute name="name"><xsl:value-of select="$domain"/></xsl:attribute> +<xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> +<xsl:if test="doc|assert|rule"><xsl:text>
</xsl:text></xsl:if> + +<!-- doc elements --> +<xsl:apply-templates select="doc" mode="do-doc"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +</xsl:apply-templates> + +<!-- assert elements --> +<xsl:apply-templates select="assert" mode="do-assert"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +</xsl:apply-templates> + +<!-- rule elements --> +<xsl:apply-templates select="rule" mode="do-rule"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="$domain"/> +</xsl:apply-templates> + +<xsl:if test="doc|assert|rule"><xsl:value-of select="$indent"/></xsl:if></xsl:element><xsl:text>
</xsl:text> + +</xsl:template> + +<!-- ======== + <class> + ======== --> + +<xsl:template match="class" mode="do-class"> +<xsl:param name="indent"/> +<xsl:variable name="class" select="translate(@name, ' ', '-')"/> + +<!-- Ignore class test - removed from 0.81 --> +<xsl:if test="not($class = 'test')"> +<xsl:text>
</xsl:text><xsl:value-of select="$indent"/><xsl:comment><xsl:value-of select="concat(' == Class: ', $class, ' == ')"/></xsl:comment><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:element name="class"> +<xsl:attribute name="name"><xsl:value-of select="$class"/></xsl:attribute> +<xsl:attribute name="handler"><xsl:value-of select="@handler"/></xsl:attribute> +<xsl:attribute name="index"><xsl:value-of select="@index"/></xsl:attribute> +<xsl:if test="doc|chassis|rule|field|method"><xsl:text>
</xsl:text></xsl:if> + +<!-- doc elements --> +<xsl:apply-templates select="doc" mode="do-doc"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="$class"/> +</xsl:apply-templates> + +<!-- chassis elements --> +<xsl:apply-templates select="chassis" mode="do-chassis"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +</xsl:apply-templates> + +<!-- rule elements --> +<xsl:apply-templates select="rule" mode="do-rule"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="$class"/> +</xsl:apply-templates> + +<!-- field elements --> +<xsl:apply-templates select="field" mode="do-field"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="$class"/> +</xsl:apply-templates> + +<!-- method elements --> +<xsl:apply-templates select="method" mode="do-method"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="$class"/> +</xsl:apply-templates> + +<xsl:if test="doc|chassis|rule|field|method"><xsl:value-of select="$indent"/></xsl:if></xsl:element><xsl:text>
</xsl:text> +</xsl:if> +</xsl:template> + +<!-- ======== + <method> + ======== --> + +<xsl:template match="method" mode="do-method"> +<xsl:param name="indent"/> +<xsl:param name="label"/> +<xsl:variable name="method" select="translate(@name, ' ', '-')"/> + +<xsl:text>
</xsl:text><xsl:value-of select="$indent"/><xsl:comment><xsl:value-of select="concat(' == Method: ', $label, '.', $method, ' == ')"/></xsl:comment><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:element name="method"> +<xsl:attribute name="name"><xsl:value-of select="$method"/></xsl:attribute> +<xsl:if test="@synchronous"><xsl:attribute name="synchronous"><xsl:value-of select="@synchronous"/></xsl:attribute></xsl:if> +<xsl:attribute name="index"><xsl:value-of select="@index"/></xsl:attribute> +<xsl:if test="doc|chassis|response|rule|field"><xsl:text>
</xsl:text></xsl:if> + +<!-- doc elements --> +<xsl:apply-templates select="doc" mode="do-doc"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="concat($label, '.', $method)"/> +</xsl:apply-templates> + +<!-- chassis and response elements --> +<xsl:apply-templates select="chassis" mode="do-chassis"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +</xsl:apply-templates> +<xsl:apply-templates select="response" mode="do-response"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +</xsl:apply-templates> + +<!-- rule elements --> +<xsl:apply-templates select="rule" mode="do-rule"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="concat($label, '.', $method)"/> +</xsl:apply-templates> + +<!-- field elements --> +<xsl:apply-templates select="field" mode="do-field"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="concat($label, '.', $method)"/> +</xsl:apply-templates> + +<xsl:if test="doc|chassis|response|rule|field"><xsl:value-of select="$indent"/></xsl:if></xsl:element><xsl:text>
</xsl:text> + +</xsl:template> + +<!-- ======== + <field> + ======== --> + +<xsl:template match="field" mode="do-field"> +<xsl:param name="indent"/> +<xsl:param name="label"/> +<xsl:variable name="field" select="translate(@name, ' ', '-')"/> + +<xsl:value-of select="$indent"/><xsl:element name="field"> +<xsl:attribute name="name"><xsl:value-of select="$field"/></xsl:attribute> +<xsl:if test="@type"> +<xsl:attribute name="domain"><xsl:value-of select="translate(@type, ' ', '-')"/></xsl:attribute> +</xsl:if> +<xsl:if test="@domain"> +<xsl:attribute name="domain"><xsl:value-of select="translate(@domain, ' ', '-')"/></xsl:attribute> +</xsl:if> +<xsl:if test="doc|rule|assert"><xsl:text>
</xsl:text></xsl:if> + +<!-- doc elements --> +<xsl:apply-templates select="doc" mode="do-doc"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="concat($label, '.', $field)"/> +</xsl:apply-templates> + +<!-- rule elements --> +<xsl:apply-templates select="rule" mode="do-rule"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +<xsl:with-param name="label" select="concat($label, '.', $field)"/> +</xsl:apply-templates> + +<!-- assert elements --> +<xsl:apply-templates select="assert" mode="do-assert"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +</xsl:apply-templates> + +<xsl:if test="doc|rule|assert"><xsl:value-of select="$indent"/></xsl:if></xsl:element><xsl:text>
</xsl:text> + +</xsl:template> + +<!-- ======== + <assert> + ======== --> +<xsl:template match="assert" mode="do-assert"> +<xsl:param name="indent"/> + +<xsl:value-of select="$indent"/><xsl:element name="assert"> +<xsl:attribute name="check"><xsl:value-of select="@check"/></xsl:attribute> +<xsl:if test="@value"><xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute></xsl:if> +<xsl:if test="@rule"><xsl:attribute name="rule"><xsl:value-of select="@rule"/></xsl:attribute></xsl:if> + +<xsl:apply-templates select="doc" mode="do-doc"> +<xsl:with-param name="indent" select="concat($indent, ' ')"/> +</xsl:apply-templates> + +</xsl:element><xsl:text>
</xsl:text> + +</xsl:template> + +<!-- ======== + <rule> + ======== --> +<xsl:template match="rule" mode="do-rule"> +<xsl:param name="indent"/> +<xsl:param name="label"/> + +<xsl:value-of select="$indent"/><xsl:element name="rule"> +<xsl:attribute name="name">rule_<xsl:value-of select="$label"/>_<xsl:number format="01"/></xsl:attribute> + +<!-- If there is content, place in child <doc> element --> + +<xsl:if test="string-length(.) > 0"> +<xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:text> </xsl:text><xsl:element name="doc"><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:text> </xsl:text><xsl:value-of select="normalize-space(.)"/><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:text> </xsl:text></xsl:element><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/> +</xsl:if> + +</xsl:element><xsl:text>
</xsl:text> + +</xsl:template> + +<!-- ========= + <chassis> + ========= --> +<xsl:template match="chassis" mode="do-chassis"> +<xsl:param name="indent"/> + +<xsl:value-of select="$indent"/><xsl:element name="chassis"> +<xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute> +<xsl:attribute name="implement"><xsl:value-of select="@implement"/></xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> + +</xsl:template> + +<!-- ========== + <response> + ========== --> +<xsl:template match="response" mode="do-response"> +<xsl:param name="indent"/> + +<xsl:value-of select="$indent"/><xsl:element name="response"> +<xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute> +</xsl:element><xsl:text>
</xsl:text> + +</xsl:template> + +<!-- ===== + <doc> + ===== --> +<xsl:template match="doc" mode="do-doc"> +<xsl:param name="indent"/> +<xsl:param name="label"/> + +<!-- Handle cases of <doc name="rule>...</doc>: turn them into <rule><doc>...</doc></rule> --> +<xsl:if test="@name = 'rule'"> +<xsl:value-of select="$indent"/><xsl:element name="rule"> +<xsl:if test="@test"><xsl:attribute name="name"><xsl:value-of select="@test"/></xsl:attribute></xsl:if> +<xsl:if test="not(@test)"><xsl:attribute name="name">doc_rule_<xsl:value-of select="$label"/>_<xsl:number format="01"/></xsl:attribute></xsl:if> +<xsl:text>
</xsl:text> +<xsl:value-of select="concat($indent, ' ')"/><xsl:element name="doc"><xsl:text>
</xsl:text> +<xsl:value-of select="concat($indent, ' ')"/><xsl:text> </xsl:text><xsl:value-of select="normalize-space(.)"/><xsl:text>
</xsl:text> +<xsl:value-of select="concat($indent, ' ')"/></xsl:element><xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/></xsl:element><xsl:text>
</xsl:text> +</xsl:if> + +<!-- Normal <doc>...</doc> elements --> +<xsl:if test="not(@name = 'rule')"> +<xsl:value-of select="$indent"/><xsl:element name="doc"> +<xsl:if test="@name = 'grammar'"> +<xsl:attribute name="type">grammar</xsl:attribute> +<xsl:value-of select="$indent"/><xsl:text> </xsl:text><xsl:value-of select="."/> +</xsl:if> +<xsl:if test="not(@name = 'grammar')"> +<xsl:text>
</xsl:text> +<xsl:value-of select="$indent"/><xsl:text> </xsl:text><xsl:value-of select="normalize-space(.)"/><xsl:text>
</xsl:text> +</xsl:if> +<xsl:value-of select="$indent"/></xsl:element><xsl:text>
</xsl:text> +</xsl:if> + +</xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/cpp.xsl b/cpp/common/framing/generated/stylesheets/cpp.xsl new file mode 100644 index 0000000000..ae66f65745 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/cpp.xsl @@ -0,0 +1,318 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + +<!-- this class contains the templates for generating C++ source code for a given framing model --> + +<xsl:import href="utils.xsl"/> +<xsl:output method="text" indent="yes" name="textFormat"/> + +<xsl:template match="/"> + <xsl:apply-templates mode="generate-multi" select="frames"/> + <xsl:apply-templates mode="method-list-header" select="frames"/> + <xsl:apply-templates mode="method-list-source" select="frames"/> + <xsl:apply-templates mode="method-interface" select="frames"/> +</xsl:template> + +<!-- processes all frames outputting the classes in a single stream --> +<xsl:template match="frames" mode="generate-single"> + <xsl:result-document href="amqp_methods.h" format="textFormat"> +#include "amqp_framing.h" + <xsl:for-each select="frame"> + <xsl:call-template name="generate-class"> + <xsl:with-param name="f" select="."/> + </xsl:call-template> + </xsl:for-each> + </xsl:result-document> +</xsl:template> + +<!-- generates seperate file for each class/frame --> +<xsl:template match="frame" mode="generate-multi"> + <xsl:variable name="uri" select="concat(@name, '.h')"/> + <xsl:result-document href="{$uri}" format="textFormat"> +#include "amqp_types.h" +#include "AMQP_ServerOperations.h" +#include "AMQMethodBody.h" +#include "Buffer.h" +#include "FieldTable.h" + +#ifndef _<xsl:value-of select="@name"/>_ +#define _<xsl:value-of select="@name"/>_ + +namespace qpid { +namespace framing { + + <xsl:call-template name="generate-class"> + <xsl:with-param name="f" select="."/> + </xsl:call-template> +} +} + +#endif + +</xsl:result-document> +</xsl:template> + + +<!-- main class generation template --> +<xsl:template name="generate-class"> + <xsl:param name="f"/> +/** + * This class is autogenerated, do not modify. [From <xsl:value-of select="$f/parent::frames/@protocol"/>] + */ +class <xsl:value-of select="$f/@name"/> : virtual public AMQMethodBody +{ + <xsl:for-each select="$f/field"> + <xsl:value-of select="@cpp-type"/> + <xsl:text> </xsl:text> + <xsl:value-of select="@name"/>; + </xsl:for-each> + +public: + typedef std::tr1::shared_ptr<<xsl:value-of select="$f/@name"/>> shared_ptr; + + virtual ~<xsl:value-of select="$f/@name"/>() {} + + <xsl:for-each select="$f/field"> + inline <xsl:value-of select="concat(@cpp-arg-type, ' get', amqp:upper-first(@name), '() { return ', @name)"/>; } + </xsl:for-each> + + + inline void print(std::ostream& out) const{ + out << "<xsl:value-of select="$f/@declaration_name"/>" + <xsl:for-each select="$f/field"> + <xsl:text> << ", </xsl:text> + <xsl:value-of select="@name"/>="<< + <xsl:value-of select="@name"/> + </xsl:for-each> + ; + } + + inline u_int16_t amqpClassId() const { + return <xsl:value-of select="$f/@class-id"/>; + } + + inline u_int16_t amqpMethodId() const { + return <xsl:value-of select="$f/@method-id"/>; + } + + inline u_int32_t bodySize() const { + <xsl:choose> + <xsl:when test="$f/field"> + return + <xsl:for-each select="$f/field"> + <xsl:if test="position() != 1">+ + </xsl:if> + <xsl:value-of select="amqp:field-length(.)"/> + </xsl:for-each> + ; + </xsl:when> + <xsl:otherwise>return 0;</xsl:otherwise> + </xsl:choose> + } + + <xsl:if test="@server='true'"> + inline void invoke(AMQP_ServerOperations& target, u_int16_t channel) { + <xsl:if test="field"> + <xsl:value-of select="concat('target.get', amqp:upper-first(parent::class/@name), 'Handler()->', @invocation_name, '(channel, ')"/> + <xsl:value-of select="$f/field/@name" separator=", "/>); + </xsl:if> + <xsl:if test="not(field)"> + <xsl:value-of select="concat('target.get', amqp:upper-first(parent::class/@name), 'Handler()->', @invocation_name, '(channel)')"/>; + </xsl:if> + } + </xsl:if> + + inline void encodeContent(Buffer& buffer) const + { + <xsl:if test="$f/field[@type='bit']"> + u_int8_t flags = 0; + <xsl:for-each select="$f/field[@type='bit']"> + <xsl:value-of select="concat('flags |= ', @name,' << (', @boolean-index, ' - 1)')"/>; + </xsl:for-each> + </xsl:if> + <xsl:for-each select="$f/field"> + <xsl:if test="@type != 'bit'"> + <xsl:value-of select="amqp:encoder(.)"/>; + </xsl:if> + <xsl:if test="@type = 'bit' and @boolean-index = 1"> + <xsl:text>buffer.putOctet(flags)</xsl:text>; + </xsl:if> + </xsl:for-each> + } + + inline void decodeContent(Buffer& buffer) + { + <xsl:if test="$f/field[@type='bit']"> + u_int8_t maxbit = <xsl:value-of select="$f/@bit-field-count"/>; + </xsl:if> + <xsl:for-each select="$f/field"> + <xsl:choose> + <xsl:when test="@type = 'bit' and @boolean-index = 1"> + <xsl:text>u_int8_t flags = buffer.getOctet()</xsl:text>; + <xsl:value-of select="amqp:decoder(.)"/>; + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="amqp:decoder(.)"/>; + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + } + + <xsl:if test="$f/field"> + <!-- only generate overloaded constructor if there are fields in this method --> + inline <xsl:value-of select="$f/@name"/>(<xsl:value-of select="$f/field/concat(@cpp-arg-type, ' _', @name)" separator=", "/>) : <xsl:value-of select="$f/field/concat(@name, '(_', @name, ')')" separator=", "/> + { + } + </xsl:if> + + inline <xsl:value-of select="$f/@name"/>() + { + } +}; + +</xsl:template> + +<xsl:template match="frames" mode="method-list-header"> +<xsl:result-document href="amqp_methods.h" format="textFormat"> +/** + * This file is autogenerated, do not modify. + */ + +#ifndef AMQ_METHODS_H +#define AMQ_METHODS_H + + <xsl:for-each select="class/frame"> +#include "<xsl:value-of select="@name"/>.h" + </xsl:for-each> + +namespace qpid { +namespace framing { + + <xsl:for-each select="class/frame"> +const <xsl:value-of select="concat(@name, ' ', @declaration_name)"/>; + </xsl:for-each> + +AMQMethodBody* createAMQMethodBody(u_int16_t classId, u_int16_t methodId); + +} +} + +#endif +</xsl:result-document> +</xsl:template> + +<xsl:template match="frames" mode="method-list-source"> + <xsl:result-document href="amqp_methods.cpp" format="textFormat"> +#include "amqp_methods.h" +#include "QpidError.h" + +namespace qpid { +namespace framing { +/** + * This method is autogenerated, do not modify. + */ +AMQMethodBody* createAMQMethodBody(u_int16_t classId, u_int16_t methodId){ + switch(classId * 1000 + methodId) + { + <xsl:for-each select="class/frame"> + <xsl:text>case </xsl:text> + <xsl:value-of select="@class-id"/> + <xsl:text> * 1000 + </xsl:text> + <xsl:value-of select="@method-id"/> + <xsl:text>: return new </xsl:text> + <xsl:value-of select="@name"/>(); + </xsl:for-each> + } + THROW_QPID_ERROR(FRAMING_ERROR, "Unknown method"); +} + +} +} +</xsl:result-document> +</xsl:template> + +<xsl:template match="frames" mode="generate-interface"> + <xsl:result-document href="AMQPServer.h" format="textFormat"> +#include "amqp_types.h" +#include "FieldTable.h" + +#ifndef _AMQPServer_ +#define _AMQPServer_ + +namespace qpid { +namespace framing { + +class AMQPServer +{ + public: + + <xsl:for-each select="class"> + class <xsl:value-of select="concat(amqp:upper-first(@name), 'Handler')"/>{ + public: + <xsl:for-each select="frame[@server='true']"> + <xsl:if test="field"> + virtual void <xsl:value-of select="@invocation_name"/>(u_int16_t channel, <xsl:value-of select="field/concat(@cpp-arg-type, ' ', @name)" separator=", "/>) = 0; + </xsl:if> + <xsl:if test="not(field)"> + virtual void <xsl:value-of select="@invocation_name"/>(u_int16_t channel) = 0; + </xsl:if> + </xsl:for-each> + virtual ~<xsl:value-of select="concat(amqp:upper-first(@name), 'Handler')"/>(){} + }; + + virtual <xsl:value-of select="concat(amqp:upper-first(@name), 'Handler* get', amqp:upper-first(@name), 'Handler')"/>() = 0; + + </xsl:for-each> + virtual ~AMQPServer(){} +}; + +} +} + +#endif +</xsl:result-document> + + <xsl:result-document href="AMQPClient.h" format="textFormat"> +#include "amqp_types.h" +#include "FieldTable.h" + +#ifndef _AMQPClient_ +#define _AMQPClient_ + +namespace qpid { +namespace framing { + +class AMQPClient +{ + public: + + <xsl:for-each select="class"> + class <xsl:value-of select="concat(amqp:upper-first(@name), 'Handler')"/>{ + public: + <xsl:for-each select="frame[@client='true']"> + <xsl:if test="field"> + virtual void <xsl:value-of select="@invocation_name"/>(u_int16_t channel, <xsl:value-of select="field/concat(@cpp-arg-type, ' ', @name)" separator=", "/>) = 0; + </xsl:if> + <xsl:if test="not(field)"> + virtual void <xsl:value-of select="@invocation_name"/>(u_int16_t channel) = 0; + </xsl:if> + </xsl:for-each> + virtual ~<xsl:value-of select="concat(amqp:upper-first(@name), 'Handler')"/>(){} + }; + + virtual <xsl:value-of select="concat(amqp:upper-first(@name), 'Handler* get', amqp:upper-first(@name), 'Handler')"/>() = 0; + + </xsl:for-each> + + virtual ~AMQPClient(){} +}; + +} +} + +#endif +</xsl:result-document> + +</xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/framing.xsl b/cpp/common/framing/generated/stylesheets/framing.xsl new file mode 100644 index 0000000000..c63e719a77 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/framing.xsl @@ -0,0 +1,49 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + +<xsl:import href="prepare1.xsl"/> +<xsl:import href="prepare2.xsl"/> +<xsl:import href="prepare3.xsl"/> +<xsl:import href="cpp.xsl"/> + +<xsl:output indent="yes"/> +<xsl:output method="text" indent="yes" name="textFormat"/> + +<xsl:template match="/"> + <xsl:variable name="prepare1"> + <xsl:apply-templates mode="prepare1" select="."/> + </xsl:variable> + + <xsl:variable name="prepare2"> + <xsl:apply-templates mode="prepare2" select="$prepare1"/> + </xsl:variable> + + <xsl:variable name="model"> + <xsl:apply-templates mode="prepare3" select="$prepare2"/> + </xsl:variable> + + <xsl:apply-templates mode="generate-multi" select="$model"/> + <xsl:apply-templates mode="method-list-header" select="$model"/> + <xsl:apply-templates mode="method-list-source" select="$model"/> + + <!-- these interfaces are now generated by the new scripts from kim --> + <!-- e.g. those of the form amqp-server/client-*.xsl --> + <!-- xsl:apply-templates mode="generate-interface" select="$model"/ --> + + <!-- dump out the intermediary files for debugging --> + <!-- + <xsl:result-document href="prepare1.out"> + <xsl:copy-of select="$prepare1"/> + </xsl:result-document> + + <xsl:result-document href="prepare2.out"> + <xsl:copy-of select="$prepare2"/> + </xsl:result-document> + + <xsl:result-document href="model.out"> + <xsl:copy-of select="$model"/> + </xsl:result-document> + --> +</xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/prepare1.xsl b/cpp/common/framing/generated/stylesheets/prepare1.xsl new file mode 100644 index 0000000000..2aeda89677 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/prepare1.xsl @@ -0,0 +1,104 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + +<xsl:import href="utils.xsl"/> + +<xsl:output indent="yes"/> +<xsl:param name="asl_base"/> + +<!-- pre-process, phase 1 --> + +<xsl:template match="/"> + <xsl:apply-templates select="protocol" mode="prepare1"/> +</xsl:template> + +<xsl:template match="amqp" mode="prepare1"> + <frames> + <xsl:attribute name="protocol"> + <xsl:value-of select="@comment"/> + <xsl:text> (</xsl:text> + <xsl:text>major=</xsl:text><xsl:value-of select="@major"/> + <xsl:text>, minor=</xsl:text><xsl:value-of select="@minor"/> + <xsl:text>)</xsl:text> + </xsl:attribute> + <xsl:apply-templates mode="prepare1" select="inherit"/> + <xsl:apply-templates mode="prepare1" select="include"/> + <xsl:apply-templates mode="prepare1" select="domain"/> + <xsl:apply-templates mode="prepare1" select="class"/> + </frames> +</xsl:template> + +<xsl:template match="include" mode="prepare1"> + <xsl:if test="@filename != 'asl_constants.asl'"> + <!-- skip asl_constants.asl, we don't need it and it is not well formed so causes error warnings --> + <xsl:apply-templates select="document(@filename)" mode="prepare1"/> + </xsl:if> +</xsl:template> + +<xsl:template match="inherit" mode="prepare1"> + <xsl:variable name="ibase" select="concat('file:///', $asl_base, '/', @name, '.asl')"/> + <xsl:choose> + <xsl:when test="document($ibase)"> + <xsl:apply-templates select="document($ibase)" mode="prepare1"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + Could not inherit from <xsl:value-of select="$ibase"/>; file not found. + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="class[@index]" mode="prepare1"> +<xsl:if test="not(@name = 'test')"> + <class> + <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute> + <xsl:apply-templates select="method" mode="prepare1"/> + </class> +</xsl:if> +</xsl:template> + +<xsl:template match="method" mode="prepare1"> + <xsl:if test="parent::class[@index]"><!-- there is a template class that has no index, which we want to skip --> + <frame> + <xsl:attribute name="name"><xsl:value-of select="amqp:class-name(parent::class/@name, @name)"/></xsl:attribute> + <xsl:attribute name="class-id"><xsl:value-of select="parent::class/@index"/></xsl:attribute> + <xsl:if test="@index"> + <xsl:attribute name="method-id"><xsl:value-of select="@index"/></xsl:attribute> + </xsl:if> + <xsl:if test="not(@index)"> + <xsl:attribute name="method-id"><xsl:number count="method"/></xsl:attribute> + </xsl:if> + <xsl:attribute name="invocation_name"> + <xsl:value-of select="amqp:keyword-check(amqp:field-name(@name))"/> + </xsl:attribute> + <xsl:attribute name="declaration_name"> + <xsl:value-of select="amqp:method-name(parent::class/@name, @name)"/> + </xsl:attribute> + <xsl:if test="chassis[@name='client']"> + <xsl:attribute name="client">true</xsl:attribute> + </xsl:if> + <xsl:if test="chassis[@name='server']"> + <xsl:attribute name="server">true</xsl:attribute> + </xsl:if> + <xsl:apply-templates select="field" mode="prepare1"/> + </frame> + </xsl:if> +</xsl:template> + +<xsl:template match="domain" mode="prepare1"> + <domain> + <name><xsl:value-of select="@name"/></name> + <type><xsl:value-of select="@type"/></type> + </domain> +</xsl:template> + +<xsl:template match="field" mode="prepare1"> + <field> + <xsl:copy-of select="@name"/> + <xsl:copy-of select="@type"/> + <xsl:copy-of select="@domain"/> + </field> +</xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/prepare2.xsl b/cpp/common/framing/generated/stylesheets/prepare2.xsl new file mode 100644 index 0000000000..331319de57 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/prepare2.xsl @@ -0,0 +1,54 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + +<xsl:import href="utils.xsl"/> + +<xsl:output indent="yes"/> + +<!-- pre-process, phase 2 --> + +<xsl:key name="domain-lookup" match="domain" use="name"/> + +<xsl:template match="/"> + <xsl:apply-templates mode="prepare2" select="frames"/> +</xsl:template> + +<xsl:template match="field[@domain]" mode="prepare2"> + <field> + <xsl:variable name="t1" select="key('domain-lookup', @domain)/type"/> + <xsl:attribute name="name"><xsl:value-of select="amqp:field-name(@name)"/></xsl:attribute> + <xsl:attribute name="type"><xsl:value-of select="$t1"/></xsl:attribute> + </field> +</xsl:template> + +<xsl:template match="field[@type]" mode="prepare2"> + <field> + <xsl:attribute name="name"><xsl:value-of select="amqp:field-name(@name)"/></xsl:attribute> + <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> + </field> +</xsl:template> + +<xsl:template match="frames" mode="prepare2"> + <frames> + <xsl:copy-of select="@protocol"/> + <xsl:apply-templates mode="prepare2"/> + </frames> +</xsl:template> + +<xsl:template match="class" mode="prepare2"> + <class> + <xsl:copy-of select="@*"/> + <xsl:apply-templates mode="prepare2"/> + </class> +</xsl:template> + +<xsl:template match="frame" mode="prepare2"> + <xsl:element name="{name()}"> + <xsl:copy-of select="@*"/> + <xsl:apply-templates mode="prepare2" select="field"/> + </xsl:element> +</xsl:template> + +<xsl:template match="domain" mode="prepare2"></xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/prepare3.xsl b/cpp/common/framing/generated/stylesheets/prepare3.xsl new file mode 100644 index 0000000000..27a4764e4f --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/prepare3.xsl @@ -0,0 +1,54 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + +<xsl:import href="utils.xsl"/> + +<xsl:output indent="yes"/> + +<!-- final preparation of the model --> + +<xsl:template match="/"> + <xsl:apply-templates mode="prepare3"/> +</xsl:template> + +<xsl:template match="frames" mode="prepare3"> + <frames> + <xsl:copy-of select="@protocol"/> + <xsl:apply-templates mode="prepare3"/> + </frames> +</xsl:template> + +<xsl:template match="class" mode="prepare3"> + <class> + <xsl:copy-of select="@*"/> + <xsl:apply-templates mode="prepare3"/> + </class> +</xsl:template> + +<xsl:template match="frame" mode="prepare3"> + <xsl:element name="frame"> + <xsl:copy-of select="@*"/> + <xsl:if test="field[@type='bit']"> + <xsl:attribute name="has-bit-field">true</xsl:attribute> + <xsl:attribute name="bit-field-count"><xsl:value-of select="count(field[@type='bit'])"/></xsl:attribute> + </xsl:if> + <xsl:apply-templates mode="prepare3"/> + </xsl:element> +</xsl:template> + + +<xsl:template match="field" mode="prepare3"> + <field> + <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> + <!-- ensure the field name is processed to be a valid java name --> + <xsl:attribute name="name"><xsl:value-of select="amqp:field-name(@name)"/></xsl:attribute> + <!-- add some attributes to make code generation easier --> + <xsl:attribute name="cpp-type"><xsl:value-of select="amqp:cpp-type(@type)"/></xsl:attribute> + <xsl:attribute name="cpp-arg-type"><xsl:value-of select="amqp:cpp-arg-type(@type)"/></xsl:attribute> + <xsl:if test="@type='bit'"> + <xsl:attribute name="boolean-index"><xsl:number count="field[@type='bit']"/></xsl:attribute> + </xsl:if> + </field> +</xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/registry.xsl b/cpp/common/framing/generated/stylesheets/registry.xsl new file mode 100644 index 0000000000..a818a0a871 --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/registry.xsl @@ -0,0 +1,12 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + +<xsl:import href="java.xsl"/> + +<xsl:output method="text" indent="yes" name="textFormat"/> + +<xsl:template match="/"> + <xsl:apply-templates mode="generate-registry" select="registries"/> +</xsl:template> + +</xsl:stylesheet> diff --git a/cpp/common/framing/generated/stylesheets/utils.xsl b/cpp/common/framing/generated/stylesheets/utils.xsl new file mode 100644 index 0000000000..829d38433e --- /dev/null +++ b/cpp/common/framing/generated/stylesheets/utils.xsl @@ -0,0 +1,194 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amqp="http://amqp.org"> + +<!-- This file contains functions that are used in the generation of the java classes for framing --> + +<!-- retrieve the java type of a given amq type --> +<xsl:function name="amqp:cpp-type"> + <xsl:param name="t"/> + <xsl:choose> + <xsl:when test="$t='octet'">u_int8_t</xsl:when> + <xsl:when test="$t='short'">u_int16_t</xsl:when> + <xsl:when test="$t='shortstr'">string</xsl:when> + <xsl:when test="$t='longstr'">string</xsl:when> + <xsl:when test="$t='bit'">bool</xsl:when> + <xsl:when test="$t='long'">u_int32_t</xsl:when> + <xsl:when test="$t='longlong'">u_int64_t</xsl:when> + <xsl:when test="$t='table'">FieldTable</xsl:when> + <xsl:otherwise>Object /*WARNING: undefined type*/</xsl:otherwise> + </xsl:choose> +</xsl:function> +<xsl:function name="amqp:cpp-arg-type"> + <xsl:param name="t"/> + <xsl:choose> + <xsl:when test="$t='octet'">u_int8_t</xsl:when> + <xsl:when test="$t='short'">u_int16_t</xsl:when> + <xsl:when test="$t='shortstr'">string&</xsl:when> + <xsl:when test="$t='longstr'">string&</xsl:when> + <xsl:when test="$t='bit'">bool</xsl:when> + <xsl:when test="$t='long'">u_int32_t</xsl:when> + <xsl:when test="$t='longlong'">u_int64_t</xsl:when> + <xsl:when test="$t='table'">FieldTable&</xsl:when> + <xsl:otherwise>Object /*WARNING: undefined type*/</xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- retrieve the code to get the field size of a given amq type --> +<xsl:function name="amqp:field-length"> + <xsl:param name="f"/> + <xsl:choose> + <xsl:when test="$f/@type='bit' and $f/@boolean-index=1"> + <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='bit' and $f/@boolean-index > 1"> + <xsl:value-of select="concat('0 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='char'"> + <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='octet'"> + <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='short'"> + <xsl:value-of select="concat('2 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='long'"> + <xsl:value-of select="concat('4 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='longlong'"> + <xsl:value-of select="concat('8 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='shortstr'"> + <xsl:value-of select="concat('1 + ', $f/@name, '.length()')"/> + </xsl:when> + <xsl:when test="$f/@type='longstr'"> + <xsl:value-of select="concat('4 + ', $f/@name, '.length()')"/> + </xsl:when> + <xsl:when test="$f/@type='table'"> + <xsl:value-of select="concat($f/@name, '.size()')"/> + </xsl:when> + <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE FIELD SIZE */</xsl:text></xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- retrieve the code to encode a field of a given amq type --> +<!-- Note: + This method will not provide an encoder for a bit field. + Bit fields should be encoded together separately. --> + +<xsl:function name="amqp:encoder"> + <xsl:param name="f"/> + <xsl:choose> + <xsl:when test="$f/@type='octet'"> + <xsl:value-of select="concat('buffer.putOctet(', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='short'"> + <xsl:value-of select="concat('buffer.putShort(', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='long'"> + <xsl:value-of select="concat('buffer.putLong(', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='longlong'"> + <xsl:value-of select="concat('buffer.putLongLong(', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='shortstr'"> + <xsl:value-of select="concat('buffer.putShortString(', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='longstr'"> + <xsl:value-of select="concat('buffer.putLongString(', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='table'"> + <xsl:value-of select="concat('buffer.putFieldTable(', $f/@name, ')')"/> + </xsl:when> + <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE ENCODER */</xsl:text></xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- retrieve the code to decode a field of a given amq type --> +<xsl:function name="amqp:decoder"> + <xsl:param name="f"/> + <xsl:choose> + <xsl:when test="$f/@type='bit'"> + <xsl:value-of select="concat($f/@name, ' = (1 << (', $f/@boolean-index, ' - 1)) & flags;')"/> + </xsl:when> + <xsl:when test="$f/@type='octet'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getOctet()')"/> + </xsl:when> + <xsl:when test="$f/@type='short'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getShort()')"/> + </xsl:when> + <xsl:when test="$f/@type='long'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getLong()')"/> + </xsl:when> + <xsl:when test="$f/@type='longlong'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getLongLong()')"/> + </xsl:when> + <xsl:when test="$f/@type='shortstr'"> + <xsl:value-of select="concat('buffer.getShortString(', $f/@name), ')'"/> + </xsl:when> + <xsl:when test="$f/@type='longstr'"> + <xsl:value-of select="concat('buffer.getLongString(', $f/@name), ')'"/> + </xsl:when> + <xsl:when test="$f/@type='table'"> + <xsl:value-of select="concat('buffer.getFieldTable(', $f/@name, ')')"/> + </xsl:when> + <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE DECODER */</xsl:text></xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- create the class name for a frame, based on class and method (passed in) --> +<xsl:function name="amqp:class-name"> + <xsl:param name="class"/> + <xsl:param name="method"/> + <xsl:value-of select="concat(amqp:upper-first($class),amqp:upper-first(amqp:field-name($method)), 'Body')"/> +</xsl:function> + +<!-- create the class name for a frame, based on class and method (passed in) --> +<xsl:function name="amqp:method-name"> + <xsl:param name="class"/> + <xsl:param name="method"/> + <xsl:value-of select="concat(translate($class, '- ', '__'), '_', translate($method, '- ', '__'))"/> +</xsl:function> + +<!-- get a valid field name, processing spaces and '-'s where appropriate --> +<xsl:function name="amqp:field-name"> + <xsl:param name="name"/> + <xsl:choose> + <xsl:when test="contains($name, ' ')"> + <xsl:value-of select="concat(substring-before($name, ' '), amqp:upper-first(substring-after($name, ' ')))"/> + </xsl:when> + <xsl:when test="contains($name, '-')"> + <xsl:value-of select="concat(substring-before($name, '-'), amqp:upper-first(substring-after($name, '-')))"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$name"/> + </xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- convert the first character of the input to upper-case --> +<xsl:function name="amqp:upper-first"> + <xsl:param name="in"/> + <xsl:value-of select="concat(upper-case(substring($in, 1, 1)), substring($in, 2))"/> +</xsl:function> + + +<xsl:function name="amqp:keyword-check"> + <xsl:param name="in"/> + <xsl:choose> + <xsl:when test="contains($in, 'delete')"> + <xsl:value-of select="concat($in, '_')"/> + </xsl:when> + <xsl:when test="contains($in, 'string')"> + <xsl:value-of select="concat($in, '_')"/> + </xsl:when> + <xsl:when test="contains($in, 'return')"> + <xsl:value-of select="concat($in, '_')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$in"/> + </xsl:otherwise> + </xsl:choose> +</xsl:function> + +</xsl:stylesheet> diff --git a/cpp/common/framing/inc/AMQBody.h b/cpp/common/framing/inc/AMQBody.h new file mode 100644 index 0000000000..d4b436c949 --- /dev/null +++ b/cpp/common/framing/inc/AMQBody.h @@ -0,0 +1,46 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "memory.h" +#include "amqp_types.h" +#include "Buffer.h" + +#ifndef _AMQBody_ +#define _AMQBody_ + +namespace qpid { + namespace framing { + + class AMQBody + { + public: + typedef std::tr1::shared_ptr<AMQBody> shared_ptr; + + virtual u_int32_t size() const = 0; + virtual u_int8_t type() const = 0; + virtual void encode(Buffer& buffer) const = 0; + virtual void decode(Buffer& buffer, u_int32_t size) = 0; + inline virtual ~AMQBody(){} + }; + + enum body_types {METHOD_BODY = 1, HEADER_BODY = 2, CONTENT_BODY = 3, HEARTBEAT_BODY = 8}; + + } +} + + +#endif diff --git a/cpp/common/framing/inc/AMQContentBody.h b/cpp/common/framing/inc/AMQContentBody.h new file mode 100644 index 0000000000..8e97c31edb --- /dev/null +++ b/cpp/common/framing/inc/AMQContentBody.h @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_types.h" +#include "AMQBody.h" +#include "Buffer.h" + +#ifndef _AMQContentBody_ +#define _AMQContentBody_ + +namespace qpid { +namespace framing { + +class AMQContentBody : virtual public AMQBody +{ + string data; + +public: + typedef std::tr1::shared_ptr<AMQContentBody> shared_ptr; + + AMQContentBody(); + AMQContentBody(string& data); + inline virtual ~AMQContentBody(){} + inline u_int8_t type() const { return CONTENT_BODY; }; + inline string& getData(){ return data; } + u_int32_t size() const; + void encode(Buffer& buffer) const; + void decode(Buffer& buffer, u_int32_t size); +}; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/AMQDataBlock.h b/cpp/common/framing/inc/AMQDataBlock.h new file mode 100644 index 0000000000..6c47c78864 --- /dev/null +++ b/cpp/common/framing/inc/AMQDataBlock.h @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Buffer.h" + +#ifndef _AMQDataBlock_ +#define _AMQDataBlock_ + +namespace qpid { +namespace framing { + +class AMQDataBlock +{ +public: + virtual ~AMQDataBlock() {} + virtual void encode(Buffer& buffer) = 0; + virtual bool decode(Buffer& buffer) = 0; + virtual u_int32_t size() const = 0; +}; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/AMQFrame.h b/cpp/common/framing/inc/AMQFrame.h new file mode 100644 index 0000000000..5656d20377 --- /dev/null +++ b/cpp/common/framing/inc/AMQFrame.h @@ -0,0 +1,61 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_methods.h" +#include "amqp_types.h" +#include "AMQBody.h" +#include "AMQDataBlock.h" +#include "AMQMethodBody.h" +#include "AMQHeaderBody.h" +#include "AMQContentBody.h" +#include "AMQHeartbeatBody.h" +#include "Buffer.h" + +#ifndef _AMQFrame_ +#define _AMQFrame_ + +namespace qpid { + namespace framing { + + class AMQFrame : virtual public AMQDataBlock + { + u_int16_t channel; + u_int8_t type;//used if the body is decoded separately from the 'head' + AMQBody::shared_ptr body; + + public: + AMQFrame(); + AMQFrame(u_int16_t channel, AMQBody* body); + AMQFrame(u_int16_t channel, AMQBody::shared_ptr& body); + virtual ~AMQFrame(); + virtual void encode(Buffer& buffer); + virtual bool decode(Buffer& buffer); + virtual u_int32_t size() const; + u_int16_t getChannel(); + AMQBody::shared_ptr& getBody(); + + u_int32_t decodeHead(Buffer& buffer); + void decodeBody(Buffer& buffer, uint32_t size); + + friend std::ostream& operator<<(std::ostream& out, const AMQFrame& body); + }; + + } +} + + +#endif diff --git a/cpp/common/framing/inc/AMQHeaderBody.h b/cpp/common/framing/inc/AMQHeaderBody.h new file mode 100644 index 0000000000..369db8a9c8 --- /dev/null +++ b/cpp/common/framing/inc/AMQHeaderBody.h @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_types.h" +#include "AMQBody.h" +#include "Buffer.h" +#include "HeaderProperties.h" + +#ifndef _AMQHeaderBody_ +#define _AMQHeaderBody_ + +namespace qpid { +namespace framing { + +class AMQHeaderBody : virtual public AMQBody +{ + HeaderProperties* properties; + u_int16_t weight; + u_int64_t contentSize; + + void createProperties(int classId); +public: + typedef std::tr1::shared_ptr<AMQHeaderBody> shared_ptr; + + AMQHeaderBody(int classId); + AMQHeaderBody(); + inline u_int8_t type() const { return HEADER_BODY; } + HeaderProperties* getProperties(){ return properties; } + inline u_int64_t getContentSize() const { return contentSize; } + inline void setContentSize(u_int64_t size) { contentSize = size; } + virtual ~AMQHeaderBody(); + virtual u_int32_t size() const; + virtual void encode(Buffer& buffer) const; + virtual void decode(Buffer& buffer, u_int32_t size); +}; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/AMQHeartbeatBody.h b/cpp/common/framing/inc/AMQHeartbeatBody.h new file mode 100644 index 0000000000..ca2def977a --- /dev/null +++ b/cpp/common/framing/inc/AMQHeartbeatBody.h @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_types.h" +#include "AMQBody.h" +#include "Buffer.h" + +#ifndef _AMQHeartbeatBody_ +#define _AMQHeartbeatBody_ + +namespace qpid { +namespace framing { + +class AMQHeartbeatBody : virtual public AMQBody +{ +public: + typedef std::tr1::shared_ptr<AMQHeartbeatBody> shared_ptr; + + virtual ~AMQHeartbeatBody() {} + inline u_int32_t size() const { return 0; } + inline u_int8_t type() const { return HEARTBEAT_BODY; } + inline void encode(Buffer& buffer) const {} + inline void decode(Buffer& buffer, u_int32_t size) {} +}; + +} +} + +#endif diff --git a/cpp/common/framing/inc/AMQMethodBody.h b/cpp/common/framing/inc/AMQMethodBody.h new file mode 100644 index 0000000000..59d5dd5212 --- /dev/null +++ b/cpp/common/framing/inc/AMQMethodBody.h @@ -0,0 +1,56 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "amqp_types.h" +#include "AMQBody.h" +#include "Buffer.h" +#include "AMQP_ServerOperations.h" + +#ifndef _AMQMethodBody_ +#define _AMQMethodBody_ + +namespace qpid { +namespace framing { + +class AMQMethodBody : virtual public AMQBody +{ +public: + typedef std::tr1::shared_ptr<AMQMethodBody> shared_ptr; + + inline u_int8_t type() const { return METHOD_BODY; } + inline u_int32_t size() const { return 4 + bodySize(); } + inline virtual ~AMQMethodBody(){} + virtual void print(std::ostream& out) const = 0; + virtual u_int16_t amqpMethodId() const = 0; + virtual u_int16_t amqpClassId() const = 0; + virtual void invoke(AMQP_ServerOperations& target, u_int16_t channel); + virtual void encodeContent(Buffer& buffer) const = 0; + virtual void decodeContent(Buffer& buffer) = 0; + virtual u_int32_t bodySize() const = 0; + void encode(Buffer& buffer) const; + void decode(Buffer& buffer, u_int32_t size); + bool match(AMQMethodBody* other) const; +}; + +std::ostream& operator<<(std::ostream& out, const AMQMethodBody& body); + +} +} + + +#endif diff --git a/cpp/common/framing/inc/BasicHeaderProperties.h b/cpp/common/framing/inc/BasicHeaderProperties.h new file mode 100644 index 0000000000..8688a37bf9 --- /dev/null +++ b/cpp/common/framing/inc/BasicHeaderProperties.h @@ -0,0 +1,93 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_types.h" +#include "amqp_methods.h" +#include "Buffer.h" +#include "HeaderProperties.h" + +#ifndef _BasicHeaderProperties_ +#define _BasicHeaderProperties_ + +namespace qpid { +namespace framing { + + //TODO: This could be easily generated from the spec + class BasicHeaderProperties : public HeaderProperties + { + string contentType; + string contentEncoding; + FieldTable headers; + u_int8_t deliveryMode; + u_int8_t priority; + string correlationId; + string replyTo; + string expiration; + string messageId; + u_int64_t timestamp; + string type; + string userId; + string appId; + string clusterId; + + u_int16_t getFlags() const; + + public: + BasicHeaderProperties(); + virtual ~BasicHeaderProperties(); + virtual u_int32_t size() const; + virtual void encode(Buffer& buffer) const; + virtual void decode(Buffer& buffer, u_int32_t size); + + inline virtual u_int8_t classId(){ return BASIC; } + + inline string& getContentType(){ return contentType; } + inline string& getContentEncoding(){ return contentEncoding; } + inline FieldTable& getHeaders(){ return headers; } + inline u_int8_t getDeliveryMode(){ return deliveryMode; } + inline u_int8_t getPriority(){ return priority; } + inline string& getCorrelationId(){return correlationId; } + inline string& getReplyTo(){ return replyTo; } + inline string& getExpiration(){ return expiration; } + inline string& getMessageId(){return messageId; } + inline u_int64_t getTimestamp(){ return timestamp; } + inline string& getType(){ return type; } + inline string& getUserId(){ return userId; } + inline string& getAppId(){ return appId; } + inline string& getClusterId(){ return clusterId; } + + void inline setContentType(string& type){ contentType = type; } + void inline setContentEncoding(string& encoding){ contentEncoding = encoding; } + void inline setHeaders(FieldTable& headers){ this->headers = headers; } + void inline setDeliveryMode(u_int8_t mode){ deliveryMode = mode; } + void inline setPriority(u_int8_t priority){ this->priority = priority; } + void inline setCorrelationId(string& correlationId){ this->correlationId = correlationId; } + void inline setReplyTo(string& replyTo){ this->replyTo = replyTo;} + void inline setExpiration(string& expiration){ this->expiration = expiration; } + void inline setMessageId(string& messageId){ this->messageId = messageId; } + void inline setTimestamp(u_int64_t timestamp){ this->timestamp = timestamp; } + void inline setType(string& type){ this->type = type; } + void inline setUserId(string& userId){ this->userId = userId; } + void inline setAppId(string& appId){this->appId = appId; } + void inline setClusterId(string& clusterId){ this->clusterId = clusterId; } + }; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/BodyHandler.h b/cpp/common/framing/inc/BodyHandler.h new file mode 100644 index 0000000000..f92ae66804 --- /dev/null +++ b/cpp/common/framing/inc/BodyHandler.h @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef _BodyHandler_ +#define _BodyHandler_ + +#include "AMQMethodBody.h" +#include "AMQHeaderBody.h" +#include "AMQContentBody.h" +#include "AMQHeartbeatBody.h" + +namespace qpid { +namespace framing { + + class BodyHandler{ + public: + virtual void handleMethod(AMQMethodBody::shared_ptr body) = 0; + virtual void handleHeader(AMQHeaderBody::shared_ptr body) = 0; + virtual void handleContent(AMQContentBody::shared_ptr body) = 0; + virtual void handleHeartbeat(AMQHeartbeatBody::shared_ptr body) = 0; + + void handleBody(AMQBody::shared_ptr& body); + }; + + class UnknownBodyType{ + public: + const u_int16_t type; + inline UnknownBodyType(u_int16_t _type) : type(_type){} + }; +} +} + + +#endif diff --git a/cpp/common/framing/inc/Buffer.h b/cpp/common/framing/inc/Buffer.h new file mode 100644 index 0000000000..1ff4611f1f --- /dev/null +++ b/cpp/common/framing/inc/Buffer.h @@ -0,0 +1,77 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_types.h" +#include "FieldTable.h" + +#ifndef _Buffer_ +#define _Buffer_ + +namespace qpid { +namespace framing { + +class Buffer +{ + const int size; + char* data; + int position; + int limit; + int r_position; + int r_limit; + +public: + + Buffer(int size); + ~Buffer(); + + void flip(); + void clear(); + void compact(); + void record(); + void restore(); + int available(); + char* start(); + void move(int bytes); + + void putOctet(u_int8_t i); + void putShort(u_int16_t i); + void putLong(u_int32_t i); + void putLongLong(u_int64_t i); + + u_int8_t getOctet(); + u_int16_t getShort(); + u_int32_t getLong(); + u_int64_t getLongLong(); + + void putShortString(const string& s); + void putLongString(const string& s); + void getShortString(string& s); + void getLongString(string& s); + + void putFieldTable(const FieldTable& t); + void getFieldTable(FieldTable& t); + + void putRawData(const string& s); + void getRawData(string& s, u_int32_t size); + +}; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/FieldTable.h b/cpp/common/framing/inc/FieldTable.h new file mode 100644 index 0000000000..cf935d3284 --- /dev/null +++ b/cpp/common/framing/inc/FieldTable.h @@ -0,0 +1,68 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include <vector> +#include "amqp_types.h" + +#ifndef _FieldTable_ +#define _FieldTable_ + +namespace qpid { +namespace framing { + + class NamedValue; + class Value; + class Buffer; + + class FieldTable + { + std::vector<NamedValue*> values; + NamedValue* find(const std::string& name) const; + + Value* getValue(const std::string& name) const; + void setValue(const std::string& name, Value* value); + + public: + ~FieldTable(); + u_int32_t size() const; + int count() const; + void setString(const std::string& name, const std::string& value); + void setInt(const std::string& name, int value); + void setTimestamp(const std::string& name, u_int64_t value); + void setTable(const std::string& name, const FieldTable& value); + //void setDecimal(string& name, xxx& value); + std::string getString(const std::string& name); + int getInt(const std::string& name); + u_int64_t getTimestamp(const std::string& name); + void getTable(const std::string& name, FieldTable& value); + //void getDecimal(string& name, xxx& value); + + void encode(Buffer& buffer) const; + void decode(Buffer& buffer); + + friend std::ostream& operator<<(std::ostream& out, const FieldTable& body); + }; + + class FieldNotFoundException{}; + class UnknownFieldName : public FieldNotFoundException{}; + class IncorrectFieldType : public FieldNotFoundException{}; +} +} + + +#endif diff --git a/cpp/common/framing/inc/HeaderProperties.h b/cpp/common/framing/inc/HeaderProperties.h new file mode 100644 index 0000000000..f84345c203 --- /dev/null +++ b/cpp/common/framing/inc/HeaderProperties.h @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_types.h" +#include "Buffer.h" + +#ifndef _HeaderProperties_ +#define _HeaderProperties_ + +namespace qpid { +namespace framing { + + enum header_classes{BASIC = 60}; + + class HeaderProperties + { + + public: + inline virtual ~HeaderProperties(){} + virtual u_int8_t classId() = 0; + virtual u_int32_t size() const = 0; + virtual void encode(Buffer& buffer) const = 0; + virtual void decode(Buffer& buffer, u_int32_t size) = 0; + }; +} +} + + +#endif diff --git a/cpp/common/framing/inc/InitiationHandler.h b/cpp/common/framing/inc/InitiationHandler.h new file mode 100644 index 0000000000..2e8d1e652b --- /dev/null +++ b/cpp/common/framing/inc/InitiationHandler.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef _InitiationHandler_ +#define _InitiationHandler_ + +#include "ProtocolInitiation.h" + +namespace qpid { +namespace framing { + + class InitiationHandler{ + public: + virtual void initiated(ProtocolInitiation* header) = 0; + }; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/InputHandler.h b/cpp/common/framing/inc/InputHandler.h new file mode 100644 index 0000000000..2722cae0ed --- /dev/null +++ b/cpp/common/framing/inc/InputHandler.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef _InputHandler_ +#define _InputHandler_ + +#include "AMQFrame.h" + +namespace qpid { +namespace framing { + + class InputHandler{ + public: + virtual void received(AMQFrame* frame) = 0; + }; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/NamedValue.h b/cpp/common/framing/inc/NamedValue.h new file mode 100644 index 0000000000..729b5d08a7 --- /dev/null +++ b/cpp/common/framing/inc/NamedValue.h @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include <vector> +#include "amqp_types.h" +#include "Value.h" + +#ifndef _NamedValue_ +#define _NamedValue_ + +namespace qpid { +namespace framing { + + class Buffer; + + class NamedValue{ + string name; + Value* value; + public: + NamedValue(); + NamedValue(const string& name, Value* value); + ~NamedValue(); + void encode(Buffer& buffer); + void decode(Buffer& buffer); + u_int32_t size() const; + inline const string& getName() const { return name; } + inline Value* getValue() const { return value; } + inline void setValue(Value* val) { value = val; } + }; +} +} + + +#endif diff --git a/cpp/common/framing/inc/OutputHandler.h b/cpp/common/framing/inc/OutputHandler.h new file mode 100644 index 0000000000..7fe63660c3 --- /dev/null +++ b/cpp/common/framing/inc/OutputHandler.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> + +#ifndef _OutputHandler_ +#define _OutputHandler_ + +#include "AMQFrame.h" + +namespace qpid { +namespace framing { + + class OutputHandler{ + public: + virtual void send(AMQFrame* frame) = 0; + }; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/ProtocolInitiation.h b/cpp/common/framing/inc/ProtocolInitiation.h new file mode 100644 index 0000000000..ab9734e6b3 --- /dev/null +++ b/cpp/common/framing/inc/ProtocolInitiation.h @@ -0,0 +1,48 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_types.h" +#include "Buffer.h" +#include "AMQDataBlock.h" + +#ifndef _ProtocolInitiation_ +#define _ProtocolInitiation_ + +namespace qpid { +namespace framing { + +class ProtocolInitiation : virtual public AMQDataBlock +{ + u_int8_t pmajor; + u_int8_t pminor; + +public: + ProtocolInitiation(); + ProtocolInitiation(u_int8_t major, u_int8_t minor); + virtual ~ProtocolInitiation(); + virtual void encode(Buffer& buffer); + virtual bool decode(Buffer& buffer); + inline virtual u_int32_t size() const { return 8; } + inline u_int8_t getMajor(){ return pmajor; } + inline u_int8_t getMinor(){ return pminor; } +}; + +} +} + + +#endif diff --git a/cpp/common/framing/inc/Value.h b/cpp/common/framing/inc/Value.h new file mode 100644 index 0000000000..e3d2a2c1d6 --- /dev/null +++ b/cpp/common/framing/inc/Value.h @@ -0,0 +1,109 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include <vector> +#include "amqp_types.h" +#include "FieldTable.h" + +#ifndef _Value_ +#define _Value_ + +namespace qpid { +namespace framing { + + class Buffer; + + class Value{ + public: + inline virtual ~Value(){} + virtual u_int32_t size() const = 0; + virtual char getType() const = 0; + virtual void encode(Buffer& buffer) = 0; + virtual void decode(Buffer& buffer) = 0; + }; + + class StringValue : public virtual Value{ + string value; + + public: + inline StringValue(const string& v) : value(v){} + inline StringValue(){} + inline string getValue(){ return value; } + ~StringValue(){} + inline virtual u_int32_t size() const { return 4 + value.length(); } + inline virtual char getType() const { return 'S'; } + virtual void encode(Buffer& buffer); + virtual void decode(Buffer& buffer); + }; + + class IntegerValue : public virtual Value{ + int value; + public: + inline IntegerValue(int v) : value(v){} + inline IntegerValue(){} + inline int getValue(){ return value; } + ~IntegerValue(){} + inline virtual u_int32_t size() const { return 4; } + inline virtual char getType() const { return 'I'; } + virtual void encode(Buffer& buffer); + virtual void decode(Buffer& buffer); + }; + + class TimeValue : public virtual Value{ + u_int64_t value; + public: + inline TimeValue(int v) : value(v){} + inline TimeValue(){} + inline u_int64_t getValue(){ return value; } + ~TimeValue(){} + inline virtual u_int32_t size() const { return 8; } + inline virtual char getType() const { return 'T'; } + virtual void encode(Buffer& buffer); + virtual void decode(Buffer& buffer); + }; + + class DecimalValue : public virtual Value{ + u_int8_t decimals; + u_int32_t value; + public: + inline DecimalValue(int v) : value(v){} + inline DecimalValue(){} + ~DecimalValue(){} + inline virtual u_int32_t size() const { return 5; } + inline virtual char getType() const { return 'D'; } + virtual void encode(Buffer& buffer); + virtual void decode(Buffer& buffer); + }; + + class FieldTableValue : public virtual Value{ + FieldTable value; + public: + inline FieldTableValue(const FieldTable& v) : value(v){} + inline FieldTableValue(){} + inline FieldTable getValue(){ return value; } + ~FieldTableValue(){} + inline virtual u_int32_t size() const { return 4 + value.size(); } + inline virtual char getType() const { return 'F'; } + virtual void encode(Buffer& buffer); + virtual void decode(Buffer& buffer); + }; +} +} + + +#endif diff --git a/cpp/common/framing/inc/amqp_framing.h b/cpp/common/framing/inc/amqp_framing.h new file mode 100644 index 0000000000..adb0045ee5 --- /dev/null +++ b/cpp/common/framing/inc/amqp_framing.h @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_types.h" +#include "AMQFrame.h" +#include "AMQBody.h" +#include "BodyHandler.h" +#include "AMQMethodBody.h" +#include "AMQHeaderBody.h" +#include "AMQContentBody.h" +#include "AMQHeartbeatBody.h" +#include "amqp_methods.h" +#include "InputHandler.h" +#include "OutputHandler.h" +#include "InitiationHandler.h" +#include "ProtocolInitiation.h" +#include "BasicHeaderProperties.h" diff --git a/cpp/common/framing/inc/amqp_types.h b/cpp/common/framing/inc/amqp_types.h new file mode 100644 index 0000000000..6f8ef0862a --- /dev/null +++ b/cpp/common/framing/inc/amqp_types.h @@ -0,0 +1,36 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <string> +#ifdef _WINDOWS +#include "windows.h" +typedef unsigned char u_int8_t; +typedef unsigned short u_int16_t; +typedef unsigned int u_int32_t; +typedef unsigned __int64 u_int64_t; +#endif +#ifndef _WINDOWS +#include "sys/types.h" +#endif + +#ifndef AMQP_TYPES_H +#define AMQP_TYPES_H + + +typedef std::string string; + +#endif diff --git a/cpp/common/framing/src/AMQContentBody.cpp b/cpp/common/framing/src/AMQContentBody.cpp new file mode 100644 index 0000000000..c8aadc8108 --- /dev/null +++ b/cpp/common/framing/src/AMQContentBody.cpp @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "AMQContentBody.h" + +qpid::framing::AMQContentBody::AMQContentBody(){ +} + +qpid::framing::AMQContentBody::AMQContentBody(string& _data) : data(_data){ +} + +u_int32_t qpid::framing::AMQContentBody::size() const{ + return data.size(); +} +void qpid::framing::AMQContentBody::encode(Buffer& buffer) const{ + buffer.putRawData(data); +} +void qpid::framing::AMQContentBody::decode(Buffer& buffer, u_int32_t size){ + buffer.getRawData(data, size); +} + diff --git a/cpp/common/framing/src/AMQFrame.cpp b/cpp/common/framing/src/AMQFrame.cpp new file mode 100644 index 0000000000..70f71010ff --- /dev/null +++ b/cpp/common/framing/src/AMQFrame.cpp @@ -0,0 +1,147 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "AMQFrame.h" +#include "QpidError.h" + +using namespace qpid::framing; + +AMQFrame::AMQFrame(){} + +AMQFrame::AMQFrame(u_int16_t _channel, AMQBody* _body) : channel(_channel), body(_body){} + +AMQFrame::AMQFrame(u_int16_t _channel, AMQBody::shared_ptr& _body) : channel(_channel), body(_body){} + +AMQFrame::~AMQFrame(){ +} + +u_int16_t AMQFrame::getChannel(){ + return channel; +} + +AMQBody::shared_ptr& AMQFrame::getBody(){ + return body; +} + +void AMQFrame::encode(Buffer& buffer) +{ + buffer.putOctet(body->type()); + buffer.putShort(channel); + buffer.putLong(body->size()); + body->encode(buffer); + buffer.putOctet(0xCE); +} + +AMQBody::shared_ptr createMethodBody(Buffer& buffer){ + u_int16_t classId = buffer.getShort(); + u_int16_t methodId = buffer.getShort(); + AMQBody::shared_ptr body(createAMQMethodBody(classId, methodId)); + return body; +} + +u_int32_t AMQFrame::size() const{ + if(!body.get()) THROW_QPID_ERROR(INTERNAL_ERROR, "Attempt to get size of frame with no body set!"); + return 1/*type*/ + 2/*channel*/ + 4/*body size*/ + body->size() + 1/*0xCE*/; +} + +bool AMQFrame::decode(Buffer& buffer) +{ + if(buffer.available() < 7) return false; + buffer.record(); + u_int8_t type = buffer.getOctet(); + channel = buffer.getShort(); + u_int32_t size = buffer.getLong(); + if(buffer.available() < size + 1){ + buffer.restore(); + return false; + } + switch(type) + { + case METHOD_BODY: + body = createMethodBody(buffer); + break; + case HEADER_BODY: + body = AMQBody::shared_ptr(new AMQHeaderBody()); + break; + case CONTENT_BODY: + body = AMQBody::shared_ptr(new AMQContentBody()); + break; + case HEARTBEAT_BODY: + body = AMQBody::shared_ptr(new AMQHeartbeatBody()); + break; + default: + string msg("Unknown body type: "); + msg += type; + THROW_QPID_ERROR(FRAMING_ERROR, msg); + } + body->decode(buffer, size); + u_int8_t end = buffer.getOctet(); + if(end != 0xCE) THROW_QPID_ERROR(FRAMING_ERROR, "Frame end not found"); + return true; +} + +u_int32_t AMQFrame::decodeHead(Buffer& buffer){ + type = buffer.getOctet(); + channel = buffer.getShort(); + return buffer.getLong(); +} + +void AMQFrame::decodeBody(Buffer& buffer, uint32_t size) +{ + switch(type) + { + case METHOD_BODY: + body = createMethodBody(buffer); + break; + case HEADER_BODY: + body = AMQBody::shared_ptr(new AMQHeaderBody()); + break; + case CONTENT_BODY: + body = AMQBody::shared_ptr(new AMQContentBody()); + break; + case HEARTBEAT_BODY: + body = AMQBody::shared_ptr(new AMQHeartbeatBody()); + break; + default: + string msg("Unknown body type: "); + msg += type; + THROW_QPID_ERROR(FRAMING_ERROR, msg); + } + body->decode(buffer, size); +} + +std::ostream& qpid::framing::operator<<(std::ostream& out, const AMQFrame& t){ + out << "Frame[channel=" << t.channel << "; "; + if(t.body.get() == 0){ + out << "empty"; + }else if(t.body->type() == METHOD_BODY){ + (dynamic_cast<AMQMethodBody*>(t.body.get()))->print(out); + }else if(t.body->type() == HEADER_BODY){ + out << "header, content_size=" << + (dynamic_cast<AMQHeaderBody*>(t.body.get()))->getContentSize() + << " (" << t.body->size() << " bytes)"; + }else if(t.body->type() == CONTENT_BODY){ + out << "content (" << t.body->size() << " bytes)"; + }else if(t.body->type() == HEARTBEAT_BODY){ + out << "heartbeat"; + }else{ + out << "unknown type, " << t.body->type(); + } + out << "]"; + return out; +} + diff --git a/cpp/common/framing/src/AMQHeaderBody.cpp b/cpp/common/framing/src/AMQHeaderBody.cpp new file mode 100644 index 0000000000..4bf1626a8a --- /dev/null +++ b/cpp/common/framing/src/AMQHeaderBody.cpp @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "AMQHeaderBody.h" +#include "QpidError.h" +#include "BasicHeaderProperties.h" + +qpid::framing::AMQHeaderBody::AMQHeaderBody(int classId) : weight(0), contentSize(0){ + createProperties(classId); +} + +qpid::framing::AMQHeaderBody::AMQHeaderBody() : properties(0), weight(0), contentSize(0){ +} + +qpid::framing::AMQHeaderBody::~AMQHeaderBody(){ + delete properties; +} + +u_int32_t qpid::framing::AMQHeaderBody::size() const{ + return 12 + properties->size(); +} + +void qpid::framing::AMQHeaderBody::encode(Buffer& buffer) const { + buffer.putShort(properties->classId()); + buffer.putShort(weight); + buffer.putLongLong(contentSize); + properties->encode(buffer); +} + +void qpid::framing::AMQHeaderBody::decode(Buffer& buffer, u_int32_t size){ + u_int16_t classId = buffer.getShort(); + weight = buffer.getShort(); + contentSize = buffer.getLongLong(); + createProperties(classId); + properties->decode(buffer, size - 12); +} + +void qpid::framing::AMQHeaderBody::createProperties(int classId){ + switch(classId){ + case BASIC: + properties = new qpid::framing::BasicHeaderProperties(); + break; + default: + THROW_QPID_ERROR(FRAMING_ERROR, "Unknown header class"); + } +} diff --git a/cpp/common/framing/src/AMQMethodBody.cpp b/cpp/common/framing/src/AMQMethodBody.cpp new file mode 100644 index 0000000000..73862bb2bf --- /dev/null +++ b/cpp/common/framing/src/AMQMethodBody.cpp @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "AMQMethodBody.h" +#include "QpidError.h" + +void qpid::framing::AMQMethodBody::encode(Buffer& buffer) const{ + buffer.putShort(amqpClassId()); + buffer.putShort(amqpMethodId()); + encodeContent(buffer); +} + +void qpid::framing::AMQMethodBody::decode(Buffer& buffer, u_int32_t size){ + decodeContent(buffer); +} + +bool qpid::framing::AMQMethodBody::match(AMQMethodBody* other) const{ + return other != 0 && other->amqpClassId() == amqpClassId() && other->amqpMethodId() == amqpMethodId(); +} + +void qpid::framing::AMQMethodBody::invoke(AMQP_ServerOperations& target, u_int16_t channel){ + THROW_QPID_ERROR(PROTOCOL_ERROR, "Method not supported by AMQP Server."); +} + + +std::ostream& qpid::framing::operator<<(std::ostream& out, const AMQMethodBody& m){ + m.print(out); + return out; +} diff --git a/cpp/common/framing/src/BasicHeaderProperties.cpp b/cpp/common/framing/src/BasicHeaderProperties.cpp new file mode 100644 index 0000000000..4219d33a8f --- /dev/null +++ b/cpp/common/framing/src/BasicHeaderProperties.cpp @@ -0,0 +1,102 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "BasicHeaderProperties.h" + +//TODO: This could be easily generated from the spec + +qpid::framing::BasicHeaderProperties::BasicHeaderProperties() : deliveryMode(0), priority(0), timestamp(0){} +qpid::framing::BasicHeaderProperties::~BasicHeaderProperties(){} + +u_int32_t qpid::framing::BasicHeaderProperties::size() const{ + u_int32_t size = 2;//flags + if(contentType.length() > 0) size += contentType.length() + 1; + if(contentEncoding.length() > 0) size += contentEncoding.length() + 1; + if(headers.count() > 0) size += headers.size(); + if(deliveryMode != 0) size += 1; + if(priority != 0) size += 1; + if(correlationId.length() > 0) size += correlationId.length() + 1; + if(replyTo.length() > 0) size += replyTo.length() + 1; + if(expiration.length() > 0) size += expiration.length() + 1; + if(messageId.length() > 0) size += messageId.length() + 1; + if(timestamp != 0) size += 8; + if(type.length() > 0) size += type.length() + 1; + if(userId.length() > 0) size += userId.length() + 1; + if(appId.length() > 0) size += appId.length() + 1; + if(clusterId.length() > 0) size += clusterId.length() + 1; + + return size; +} + +void qpid::framing::BasicHeaderProperties::encode(qpid::framing::Buffer& buffer) const{ + u_int16_t flags = getFlags(); + buffer.putShort(flags); + + if(contentType.length() > 0) buffer.putShortString(contentType); + if(contentEncoding.length() > 0) buffer.putShortString(contentEncoding); + if(headers.count() > 0) buffer.putFieldTable(headers); + if(deliveryMode != 0) buffer.putOctet(deliveryMode); + if(priority != 0) buffer.putOctet(priority); + if(correlationId.length() > 0) buffer.putShortString(correlationId); + if(replyTo.length() > 0) buffer.putShortString(replyTo); + if(expiration.length() > 0) buffer.putShortString(expiration); + if(messageId.length() > 0) buffer.putShortString(messageId); + if(timestamp != 0) buffer.putLongLong(timestamp);; + if(type.length() > 0) buffer.putShortString(type); + if(userId.length() > 0) buffer.putShortString(userId); + if(appId.length() > 0) buffer.putShortString(appId); + if(clusterId.length() > 0) buffer.putShortString(clusterId); +} + +void qpid::framing::BasicHeaderProperties::decode(qpid::framing::Buffer& buffer, u_int32_t size){ + u_int16_t flags = buffer.getShort(); + int shift = 15; + if(flags & (1 << 15)) buffer.getShortString(contentType); + if(flags & (1 << 14)) buffer.getShortString(contentEncoding); + if(flags & (1 << 13)) buffer.getFieldTable(headers); + if(flags & (1 << 12)) deliveryMode = buffer.getOctet(); + if(flags & (1 << 11)) priority = buffer.getOctet(); + if(flags & (1 << 10)) buffer.getShortString(correlationId); + if(flags & (1 << 9)) buffer.getShortString(replyTo); + if(flags & (1 << 8)) buffer.getShortString(expiration); + if(flags & (1 << 7)) buffer.getShortString(messageId); + if(flags & (1 << 6)) timestamp = buffer.getLongLong(); + if(flags & (1 << 5)) buffer.getShortString(type); + if(flags & (1 << 4)) buffer.getShortString(userId); + if(flags & (1 << 3)) buffer.getShortString(appId); + if(flags & (1 << 2)) buffer.getShortString(clusterId); +} + +u_int16_t qpid::framing::BasicHeaderProperties::getFlags() const{ + u_int16_t flags(0); + int shift = 15; + if(contentType.length() > 0) flags |= (1 << 15); + if(contentEncoding.length() > 0) flags |= (1 << 14); + if(headers.count() > 0) flags |= (1 << 13); + if(deliveryMode != 0) flags |= (1 << 12); + if(priority != 0) flags |= (1 << 11); + if(correlationId.length() > 0) flags |= (1 << 10); + if(replyTo.length() > 0) flags |= (1 << 9); + if(expiration.length() > 0) flags |= (1 << 8); + if(messageId.length() > 0) flags |= (1 << 7); + if(timestamp != 0) flags |= (1 << 6); + if(type.length() > 0) flags |= (1 << 5); + if(userId.length() > 0) flags |= (1 << 4); + if(appId.length() > 0) flags |= (1 << 3); + if(clusterId.length() > 0) flags |= (1 << 2); + return flags; +} diff --git a/cpp/common/framing/src/BodyHandler.cpp b/cpp/common/framing/src/BodyHandler.cpp new file mode 100644 index 0000000000..4e4e2e02f7 --- /dev/null +++ b/cpp/common/framing/src/BodyHandler.cpp @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "memory.h" +#include "BodyHandler.h" + +using namespace qpid::framing; +using namespace std::tr1; + +void BodyHandler::handleBody(AMQBody::shared_ptr& body){ + + switch(body->type()) + { + + case METHOD_BODY: + handleMethod(dynamic_pointer_cast<AMQMethodBody, AMQBody>(body)); + break; + + case HEADER_BODY: + handleHeader(dynamic_pointer_cast<AMQHeaderBody, AMQBody>(body)); + break; + + case CONTENT_BODY: + handleContent(dynamic_pointer_cast<AMQContentBody, AMQBody>(body)); + break; + + case HEARTBEAT_BODY: + handleHeartbeat(dynamic_pointer_cast<AMQHeartbeatBody, AMQBody>(body)); + break; + + default: + throw UnknownBodyType(body->type()); + } + +} diff --git a/cpp/common/framing/src/Buffer.cpp b/cpp/common/framing/src/Buffer.cpp new file mode 100644 index 0000000000..5264491980 --- /dev/null +++ b/cpp/common/framing/src/Buffer.cpp @@ -0,0 +1,167 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Buffer.h" + +qpid::framing::Buffer::Buffer(int _size) : size(_size), position(0), limit(_size){ + data = new char[size]; +} + +qpid::framing::Buffer::~Buffer(){ + delete[] data; +} + +void qpid::framing::Buffer::flip(){ + limit = position; + position = 0; +} + +void qpid::framing::Buffer::clear(){ + limit = size; + position = 0; +} + +void qpid::framing::Buffer::compact(){ + int p = limit - position; + //copy p chars from position to 0 + memmove(data, data + position, p); + limit = size; + position = p; +} + +void qpid::framing::Buffer::record(){ + r_position = position; + r_limit = limit; +} + +void qpid::framing::Buffer::restore(){ + position = r_position; + limit = r_limit; +} + +int qpid::framing::Buffer::available(){ + return limit - position; +} + +char* qpid::framing::Buffer::start(){ + return data + position; +} + +void qpid::framing::Buffer::move(int bytes){ + position += bytes; +} + +void qpid::framing::Buffer::putOctet(u_int8_t i){ + data[position++] = i; +} + +void qpid::framing::Buffer::putShort(u_int16_t i){ + u_int16_t b = i; + data[position++] = (u_int8_t) (0xFF & (b >> 8)); + data[position++] = (u_int8_t) (0xFF & b); +} + +void qpid::framing::Buffer::putLong(u_int32_t i){ + u_int32_t b = i; + data[position++] = (u_int8_t) (0xFF & (b >> 24)); + data[position++] = (u_int8_t) (0xFF & (b >> 16)); + data[position++] = (u_int8_t) (0xFF & (b >> 8)); + data[position++] = (u_int8_t) (0xFF & b); +} + +void qpid::framing::Buffer::putLongLong(u_int64_t i){ + u_int32_t hi = i >> 32; + u_int32_t lo = i; + putLong(hi); + putLong(lo); +} + +u_int8_t qpid::framing::Buffer::getOctet(){ + return (u_int8_t) data[position++]; +} + +u_int16_t qpid::framing::Buffer::getShort(){ + u_int16_t hi = (unsigned char) data[position++]; + hi = hi << 8; + hi |= (unsigned char) data[position++]; + return hi; +} + +u_int32_t qpid::framing::Buffer::getLong(){ + u_int32_t a = (unsigned char) data[position++]; + u_int32_t b = (unsigned char) data[position++]; + u_int32_t c = (unsigned char) data[position++]; + u_int32_t d = (unsigned char) data[position++]; + a = a << 24; + a |= b << 16; + a |= c << 8; + a |= d; + return a; +} + +u_int64_t qpid::framing::Buffer::getLongLong(){ + u_int64_t hi = getLong(); + u_int64_t lo = getLong(); + hi = hi << 32; + return hi | lo; +} + + +void qpid::framing::Buffer::putShortString(const string& s){ + u_int8_t size = s.length(); + putOctet(size); + s.copy(data + position, size); + position += size; +} + +void qpid::framing::Buffer::putLongString(const string& s){ + u_int32_t size = s.length(); + putLong(size); + s.copy(data + position, size); + position += size; +} + +void qpid::framing::Buffer::getShortString(string& s){ + u_int8_t size = getOctet(); + s.assign(data + position, size); + position += size; +} + +void qpid::framing::Buffer::getLongString(string& s){ + u_int32_t size = getLong(); + s.assign(data + position, size); + position += size; +} + +void qpid::framing::Buffer::putFieldTable(const FieldTable& t){ + t.encode(*this); +} + +void qpid::framing::Buffer::getFieldTable(FieldTable& t){ + t.decode(*this); +} + +void qpid::framing::Buffer::putRawData(const string& s){ + u_int32_t size = s.length(); + s.copy(data + position, size); + position += size; +} + +void qpid::framing::Buffer::getRawData(string& s, u_int32_t size){ + s.assign(data + position, size); + position += size; +} diff --git a/cpp/common/framing/src/FieldTable.cpp b/cpp/common/framing/src/FieldTable.cpp new file mode 100644 index 0000000000..048cefa83c --- /dev/null +++ b/cpp/common/framing/src/FieldTable.cpp @@ -0,0 +1,127 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "FieldTable.h" +#include "NamedValue.h" +#include "QpidError.h" +#include "Buffer.h" +#include "Value.h" + +qpid::framing::FieldTable::~FieldTable(){ + int count(values.size()); + for(int i = 0; i < count; i++){ + delete values[i]; + } +} + +u_int32_t qpid::framing::FieldTable::size() const { + u_int32_t size(4); + int count(values.size()); + for(int i = 0; i < count; i++){ + size += values[i]->size(); + } + return size; +} + +int qpid::framing::FieldTable::count() const { + return values.size(); +} + +std::ostream& qpid::framing::operator<<(std::ostream& out, const FieldTable& t){ + out << "field_table{}"; + return out; +} + +void qpid::framing::FieldTable::setString(const std::string& name, const std::string& value){ + setValue(name, new StringValue(value)); +} + +void qpid::framing::FieldTable::setInt(const std::string& name, int value){ + setValue(name, new IntegerValue(value)); +} + +void qpid::framing::FieldTable::setTimestamp(const std::string& name, u_int64_t value){ + setValue(name, new TimeValue(value)); +} + +void qpid::framing::FieldTable::setTable(const std::string& name, const FieldTable& value){ + setValue(name, new FieldTableValue(value)); +} + +std::string qpid::framing::FieldTable::getString(const std::string& name){ + StringValue* val = dynamic_cast<StringValue*>(getValue(name)); + return (val == 0 ? "" : val->getValue()); +} + +int qpid::framing::FieldTable::getInt(const std::string& name){ + IntegerValue* val = dynamic_cast<IntegerValue*>(getValue(name)); + return (val == 0 ? 0 : val->getValue()); +} + +u_int64_t qpid::framing::FieldTable::getTimestamp(const std::string& name){ + TimeValue* val = dynamic_cast<TimeValue*>(getValue(name)); + return (val == 0 ? 0 : val->getValue()); +} + +void qpid::framing::FieldTable::getTable(const std::string& name, FieldTable& value){ + FieldTableValue* val = dynamic_cast<FieldTableValue*>(getValue(name)); + if(val != 0) value = val->getValue(); +} + +qpid::framing::NamedValue* qpid::framing::FieldTable::find(const std::string& name) const{ + int count(values.size()); + for(int i = 0; i < count; i++){ + if(values[i]->getName() == name) return values[i]; + } + return 0; +} + +qpid::framing::Value* qpid::framing::FieldTable::getValue(const std::string& name) const{ + NamedValue* val = find(name); + return val == 0 ? 0 : val->getValue(); +} + +void qpid::framing::FieldTable::setValue(const std::string& name, Value* value){ + NamedValue* val = find(name); + if(val == 0){ + val = new NamedValue(name, value); + values.push_back(val); + }else{ + Value* old = val->getValue(); + if(old != 0) delete old; + val->setValue(value); + } +} + +void qpid::framing::FieldTable::encode(Buffer& buffer) const{ + buffer.putLong(size() - 4); + int count(values.size()); + for(int i = 0; i < count; i++){ + values[i]->encode(buffer); + } +} + +void qpid::framing::FieldTable::decode(Buffer& buffer){ + u_int32_t size = buffer.getLong(); + int leftover = buffer.available() - size; + + while(buffer.available() > leftover){ + NamedValue* value = new NamedValue(); + value->decode(buffer); + values.push_back(value); + } +} diff --git a/cpp/common/framing/src/NamedValue.cpp b/cpp/common/framing/src/NamedValue.cpp new file mode 100644 index 0000000000..e80aea433c --- /dev/null +++ b/cpp/common/framing/src/NamedValue.cpp @@ -0,0 +1,67 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "NamedValue.h" +#include "QpidError.h" +#include "Buffer.h" +#include "FieldTable.h" + +qpid::framing::NamedValue::NamedValue() : value(0){} + +qpid::framing::NamedValue::NamedValue(const string& n, Value* v) : name(n), value(v){} + +qpid::framing::NamedValue::~NamedValue(){ + if(value != 0){ + delete value; + } +} + +u_int32_t qpid::framing::NamedValue::size() const{ + return value ? 1/*size of name*/ + name.length() + 1/*type char*/ + value->size() : 0; +} + +void qpid::framing::NamedValue::encode(Buffer& buffer){ + buffer.putShortString(name); + u_int8_t type = value->getType(); + buffer.putOctet(type); + value->encode(buffer); +} + +void qpid::framing::NamedValue::decode(Buffer& buffer){ + buffer.getShortString(name); + u_int8_t type = buffer.getOctet(); + switch(type){ + case 'S': + value = new StringValue(); + break; + case 'I': + value = new IntegerValue(); + break; + case 'D': + value = new DecimalValue(); + break; + case 'T': + value = new TimeValue(); + break; + case 'F': + value = new FieldTableValue(); + break; + default: + THROW_QPID_ERROR(FRAMING_ERROR, "Unknown field table value type"); + } + value->decode(buffer); +} diff --git a/cpp/common/framing/src/ProtocolInitiation.cpp b/cpp/common/framing/src/ProtocolInitiation.cpp new file mode 100644 index 0000000000..6806d73b55 --- /dev/null +++ b/cpp/common/framing/src/ProtocolInitiation.cpp @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "ProtocolInitiation.h" + +qpid::framing::ProtocolInitiation::ProtocolInitiation(){} + +qpid::framing::ProtocolInitiation::ProtocolInitiation(u_int8_t _major, u_int8_t _minor) : pmajor(_major), pminor(_minor){} + +qpid::framing::ProtocolInitiation::~ProtocolInitiation(){} + +void qpid::framing::ProtocolInitiation::encode(Buffer& buffer){ + buffer.putOctet('A'); + buffer.putOctet('M'); + buffer.putOctet('Q'); + buffer.putOctet('P'); + buffer.putOctet(1);//class + buffer.putOctet(1);//instance + buffer.putOctet(pmajor); + buffer.putOctet(pminor); +} + +bool qpid::framing::ProtocolInitiation::decode(Buffer& buffer){ + if(buffer.available() >= 8){ + buffer.getOctet();//A + buffer.getOctet();//M + buffer.getOctet();//Q + buffer.getOctet();//P + buffer.getOctet();//class + buffer.getOctet();//instance + pmajor = buffer.getOctet(); + pminor = buffer.getOctet(); + return true; + }else{ + return false; + } +} + +//TODO: this should prbably be generated from the spec at some point to keep the version numbers up to date diff --git a/cpp/common/framing/src/Value.cpp b/cpp/common/framing/src/Value.cpp new file mode 100644 index 0000000000..240b086696 --- /dev/null +++ b/cpp/common/framing/src/Value.cpp @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "Value.h" +#include "Buffer.h" +#include "FieldTable.h" + +void qpid::framing::StringValue::encode(Buffer& buffer){ + buffer.putLongString(value); +} +void qpid::framing::StringValue::decode(Buffer& buffer){ + buffer.getLongString(value); +} + +void qpid::framing::IntegerValue::encode(Buffer& buffer){ + buffer.putLong((u_int32_t) value); +} +void qpid::framing::IntegerValue::decode(Buffer& buffer){ + value = buffer.getLong(); +} + +void qpid::framing::TimeValue::encode(Buffer& buffer){ + buffer.putLongLong(value); +} +void qpid::framing::TimeValue::decode(Buffer& buffer){ + value = buffer.getLongLong(); +} + +void qpid::framing::DecimalValue::encode(Buffer& buffer){ + buffer.putOctet(decimals); + buffer.putLong(value); +} +void qpid::framing::DecimalValue::decode(Buffer& buffer){ + decimals = buffer.getOctet(); + value = buffer.getLong(); +} + +void qpid::framing::FieldTableValue::encode(Buffer& buffer){ + buffer.putFieldTable(value); +} +void qpid::framing::FieldTableValue::decode(Buffer& buffer){ + buffer.getFieldTable(value); +} diff --git a/cpp/common/framing/test/BodyHandlerTest.cpp b/cpp/common/framing/test/BodyHandlerTest.cpp new file mode 100644 index 0000000000..94038d9a6c --- /dev/null +++ b/cpp/common/framing/test/BodyHandlerTest.cpp @@ -0,0 +1,107 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "amqp_framing.h" +#include <cppunit/TestCase.h> +#include <cppunit/TextTestRunner.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> + +using namespace qpid::framing; + +class BodyHandlerTest : public CppUnit::TestCase +{ + CPPUNIT_TEST_SUITE(BodyHandlerTest); + CPPUNIT_TEST(testMethod); + CPPUNIT_TEST(testHeader); + CPPUNIT_TEST(testContent); + CPPUNIT_TEST(testHeartbeat); + CPPUNIT_TEST_SUITE_END(); +private: + + class TestBodyHandler : public BodyHandler{ + AMQMethodBody* const method; + AMQHeaderBody* const header; + AMQContentBody* const content; + AMQHeartbeatBody* const heartbeat; + + public: + + TestBodyHandler(AMQMethodBody* _method) : method(_method), header(0), content(0), heartbeat(0){} + TestBodyHandler(AMQHeaderBody* _header) : method(0), header(_header), content(0), heartbeat(0){} + TestBodyHandler(AMQContentBody* _content) : method(0), header(0), content(_content), heartbeat(0){} + TestBodyHandler(AMQHeartbeatBody* _heartbeat) : method(0), header(0), content(0), heartbeat(_heartbeat){} + + virtual void handleMethod(AMQMethodBody::shared_ptr body){ + CPPUNIT_ASSERT(method); + CPPUNIT_ASSERT_EQUAL(method, body.get()); + } + virtual void handleHeader(AMQHeaderBody::shared_ptr body){ + CPPUNIT_ASSERT(header); + CPPUNIT_ASSERT_EQUAL(header, body.get()); + } + virtual void handleContent(AMQContentBody::shared_ptr body){ + CPPUNIT_ASSERT(content); + CPPUNIT_ASSERT_EQUAL(content, body.get()); + } + virtual void handleHeartbeat(AMQHeartbeatBody::shared_ptr body){ + CPPUNIT_ASSERT(heartbeat); + CPPUNIT_ASSERT_EQUAL(heartbeat, body.get()); + } + }; + +public: + + void testMethod() + { + AMQMethodBody* method = new QueueDeclareBody(); + AMQFrame frame(0, method); + TestBodyHandler handler(method); + handler.handleBody(frame.getBody()); + } + + void testHeader() + { + AMQHeaderBody* header = new AMQHeaderBody(); + AMQFrame frame(0, header); + TestBodyHandler handler(header); + handler.handleBody(frame.getBody()); + } + + void testContent() + { + AMQContentBody* content = new AMQContentBody(); + AMQFrame frame(0, content); + TestBodyHandler handler(content); + handler.handleBody(frame.getBody()); + } + + void testHeartbeat() + { + AMQHeartbeatBody* heartbeat = new AMQHeartbeatBody(); + AMQFrame frame(0, heartbeat); + TestBodyHandler handler(heartbeat); + handler.handleBody(frame.getBody()); + } +}; + + +// Make this test suite a plugin. +CPPUNIT_PLUGIN_IMPLEMENT(); +CPPUNIT_TEST_SUITE_REGISTRATION(BodyHandlerTest); + diff --git a/cpp/common/framing/test/Makefile b/cpp/common/framing/test/Makefile new file mode 100644 index 0000000000..487b8d537b --- /dev/null +++ b/cpp/common/framing/test/Makefile @@ -0,0 +1,21 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +QPID_HOME = ../../../.. +LDLIBS=-lapr-1 -lcppunit $(COMMON_LIB) +INCLUDES=$(TEST_INCLUDES) -I ../generated +include ${QPID_HOME}/cpp/test_plugins.mk + diff --git a/cpp/common/framing/test/field_table_test.cpp b/cpp/common/framing/test/field_table_test.cpp new file mode 100644 index 0000000000..48332e05bc --- /dev/null +++ b/cpp/common/framing/test/field_table_test.cpp @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "amqp_framing.h" +#include <cppunit/TestCase.h> +#include <cppunit/TextTestRunner.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> + +using namespace qpid::framing; + +class FieldTableTest : public CppUnit::TestCase +{ + CPPUNIT_TEST_SUITE(FieldTableTest); + CPPUNIT_TEST(testMe); + CPPUNIT_TEST_SUITE_END(); + + public: + + void testMe() + { + FieldTable ft; + ft.setString("A", "BCDE"); + CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), ft.getString("A")); + + Buffer buffer(100); + buffer.putFieldTable(ft); + buffer.flip(); + FieldTable ft2; + buffer.getFieldTable(ft2); + CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), ft2.getString("A")); + + } +}; + + +// Make this test suite a plugin. +CPPUNIT_PLUGIN_IMPLEMENT(); +CPPUNIT_TEST_SUITE_REGISTRATION(FieldTableTest); + diff --git a/cpp/common/framing/test/framing_test.cpp b/cpp/common/framing/test/framing_test.cpp new file mode 100644 index 0000000000..1978c2cbed --- /dev/null +++ b/cpp/common/framing/test/framing_test.cpp @@ -0,0 +1,147 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "amqp_framing.h" +#include "ConnectionRedirectBody.h" +#include <iostream> +#include <sstream> +#include <cppunit/TestCase.h> +#include <cppunit/TextTestRunner.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> +#include <typeinfo> + +using namespace qpid::framing; + +// TODO aconway 2006-09-12: Why do we need explicit qpid::framing:: below? + +template <class T> +std::string tostring(const T& x) +{ + std::ostringstream out; + out << x; + return out.str(); +} + +class FramingTest : public CppUnit::TestCase +{ + CPPUNIT_TEST_SUITE(FramingTest); + CPPUNIT_TEST(testBasicQosBody); + CPPUNIT_TEST(testConnectionSecureBody); + CPPUNIT_TEST(testConnectionRedirectBody); + CPPUNIT_TEST(testAccessRequestBody); + CPPUNIT_TEST(testBasicConsumeBody); + CPPUNIT_TEST(ConnectionRedirectBody); + CPPUNIT_TEST(BasicConsumeOkBody); + CPPUNIT_TEST_SUITE_END(); + + private: + Buffer buffer; + + public: + + FramingTest() : buffer(100) {} + + void testBasicQosBody() + { + BasicQosBody in(0xCAFEBABE, 0xABBA, true); + in.encodeContent(buffer); + buffer.flip(); + BasicQosBody out; + out.decodeContent(buffer); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); + } + + void testConnectionSecureBody() + { + std::string s = "security credential"; + ConnectionSecureBody in(s); + in.encodeContent(buffer); + buffer.flip(); + ConnectionSecureBody out; + out.decodeContent(buffer); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); + } + + void testConnectionRedirectBody() + { + std::string a = "hostA"; + std::string b = "hostB"; + qpid::framing::ConnectionRedirectBody in(a, b); + in.encodeContent(buffer); + buffer.flip(); + qpid::framing::ConnectionRedirectBody out; + out.decodeContent(buffer); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); + } + + void testAccessRequestBody() + { + std::string s = "text"; + AccessRequestBody in(s, true, false, true, false, true); + in.encodeContent(buffer); + buffer.flip(); + AccessRequestBody out; + out.decodeContent(buffer); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); + } + + void testBasicConsumeBody() + { + std::string q = "queue"; + std::string t = "tag"; + BasicConsumeBody in(0, q, t, false, true, false, false); + in.encodeContent(buffer); + buffer.flip(); + BasicConsumeBody out; + out.decodeContent(buffer); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); + } + + + void ConnectionRedirectBody() + { + std::string a = "hostA"; + std::string b = "hostB"; + AMQFrame in(999, new qpid::framing::ConnectionRedirectBody(a, b)); + in.encode(buffer); + buffer.flip(); + AMQFrame out; + out.decode(buffer); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); + } + + void BasicConsumeOkBody() + { + std::string s = "hostA"; + AMQFrame in(999, new qpid::framing::BasicConsumeOkBody(s)); + in.encode(buffer); + buffer.flip(); + AMQFrame out; + for(int i = 0; i < 5; i++){ + out.decode(buffer); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); + } + } +}; + +// Make this test suite a plugin. +CPPUNIT_PLUGIN_IMPLEMENT(); +CPPUNIT_TEST_SUITE_REGISTRATION(FramingTest); + + + diff --git a/cpp/common/framing/test/header_test.cpp b/cpp/common/framing/test/header_test.cpp new file mode 100644 index 0000000000..0ff6d47d57 --- /dev/null +++ b/cpp/common/framing/test/header_test.cpp @@ -0,0 +1,144 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "amqp_framing.h" +#include <cppunit/TestCase.h> +#include <cppunit/TextTestRunner.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> + +using namespace qpid::framing; + +class HeaderTest : public CppUnit::TestCase +{ + CPPUNIT_TEST_SUITE(HeaderTest); + CPPUNIT_TEST(testGenericProperties); + CPPUNIT_TEST(testAllSpecificProperties); + CPPUNIT_TEST(testSomeSpecificProperties); + CPPUNIT_TEST_SUITE_END(); + +public: + + // TODO aconway 2006-09-12: Need more detailed tests, + // need tests to assert something! + // + void testGenericProperties() + { + AMQHeaderBody body(BASIC); + dynamic_cast<BasicHeaderProperties*>(body.getProperties())->getHeaders().setString("A", "BCDE"); + Buffer buffer(100); + + body.encode(buffer); + buffer.flip(); + AMQHeaderBody body2; + body2.decode(buffer, body.size()); + BasicHeaderProperties* props = + dynamic_cast<BasicHeaderProperties*>(body2.getProperties()); + CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), + props->getHeaders().getString("A")); + } + + void testAllSpecificProperties(){ + string contentType("text/html"); + string contentEncoding("UTF8"); + u_int8_t deliveryMode(2); + u_int8_t priority(3); + string correlationId("abc"); + string replyTo("no-address"); + string expiration("why is this a string?"); + string messageId("xyz"); + u_int64_t timestamp(0xabcd); + string type("eh?"); + string userId("guest"); + string appId("just testing"); + string clusterId("no clustering required"); + + AMQHeaderBody body(BASIC); + BasicHeaderProperties* properties = + dynamic_cast<BasicHeaderProperties*>(body.getProperties()); + properties->setContentType(contentType); + properties->getHeaders().setString("A", "BCDE"); + properties->setDeliveryMode(deliveryMode); + properties->setPriority(priority); + properties->setCorrelationId(correlationId); + properties->setReplyTo(replyTo); + properties->setExpiration(expiration); + properties->setMessageId(messageId); + properties->setTimestamp(timestamp); + properties->setType(type); + properties->setUserId(userId); + properties->setAppId(appId); + properties->setClusterId(clusterId); + + Buffer buffer(10000); + body.encode(buffer); + buffer.flip(); + AMQHeaderBody temp; + temp.decode(buffer, body.size()); + properties = dynamic_cast<BasicHeaderProperties*>(temp.getProperties()); + + CPPUNIT_ASSERT_EQUAL(contentType, properties->getContentType()); + CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), properties->getHeaders().getString("A")); + CPPUNIT_ASSERT_EQUAL(deliveryMode, properties->getDeliveryMode()); + CPPUNIT_ASSERT_EQUAL(priority, properties->getPriority()); + CPPUNIT_ASSERT_EQUAL(correlationId, properties->getCorrelationId()); + CPPUNIT_ASSERT_EQUAL(replyTo, properties->getReplyTo()); + CPPUNIT_ASSERT_EQUAL(expiration, properties->getExpiration()); + CPPUNIT_ASSERT_EQUAL(messageId, properties->getMessageId()); + CPPUNIT_ASSERT_EQUAL(timestamp, properties->getTimestamp()); + CPPUNIT_ASSERT_EQUAL(type, properties->getType()); + CPPUNIT_ASSERT_EQUAL(userId, properties->getUserId()); + CPPUNIT_ASSERT_EQUAL(appId, properties->getAppId()); + CPPUNIT_ASSERT_EQUAL(clusterId, properties->getClusterId()); + } + + void testSomeSpecificProperties(){ + string contentType("application/octet-stream"); + u_int8_t deliveryMode(5); + u_int8_t priority(6); + string expiration("Z"); + u_int64_t timestamp(0xabe4a34a); + + AMQHeaderBody body(BASIC); + BasicHeaderProperties* properties = + dynamic_cast<BasicHeaderProperties*>(body.getProperties()); + properties->setContentType(contentType); + properties->setDeliveryMode(deliveryMode); + properties->setPriority(priority); + properties->setExpiration(expiration); + properties->setTimestamp(timestamp); + + Buffer buffer(100); + body.encode(buffer); + buffer.flip(); + AMQHeaderBody temp; + temp.decode(buffer, body.size()); + properties = dynamic_cast<BasicHeaderProperties*>(temp.getProperties()); + + CPPUNIT_ASSERT_EQUAL(contentType, properties->getContentType()); + CPPUNIT_ASSERT_EQUAL((int) deliveryMode, (int) properties->getDeliveryMode()); + CPPUNIT_ASSERT_EQUAL((int) priority, (int) properties->getPriority()); + CPPUNIT_ASSERT_EQUAL(expiration, properties->getExpiration()); + CPPUNIT_ASSERT_EQUAL(timestamp, properties->getTimestamp()); + } +}; + +// Make this test suite a plugin. +CPPUNIT_PLUGIN_IMPLEMENT(); +CPPUNIT_TEST_SUITE_REGISTRATION(HeaderTest); + diff --git a/cpp/common/io/Makefile b/cpp/common/io/Makefile new file mode 100644 index 0000000000..e94e802afa --- /dev/null +++ b/cpp/common/io/Makefile @@ -0,0 +1,35 @@ + # + # Copyright (c) 2006 The Apache Software Foundation + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # + +QPID_HOME = ../../.. +include ${QPID_HOME}/cpp/options.mk + +# Compiler flags +CXXFLAGS = ${DEBUG} ${OPT} -MMD -I inc -I ../concurrent/inc -I ../error/inc -I ../framing/inc -I ../framing/generated -I ${APR_HOME}/include/apr-1/ + +SOURCES := $(wildcard src/*.cpp) +OBJECTS := $(subst .cpp,.o,$(SOURCES)) +DEPS := $(subst .cpp,.d,$(SOURCES)) + +.PHONY: all clean + +all: ${OBJECTS} + +-include $(DEPS) + +clean : + -@rm -f ${OBJECTS} src/*.d + diff --git a/cpp/common/io/inc/APRConnector.h b/cpp/common/io/inc/APRConnector.h new file mode 100644 index 0000000000..c292c4d7e0 --- /dev/null +++ b/cpp/common/io/inc/APRConnector.h @@ -0,0 +1,95 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRConnector_ +#define _APRConnector_ + +#include "apr_network_io.h" +#include "apr_time.h" + +#include "InputHandler.h" +#include "OutputHandler.h" +#include "InitiationHandler.h" +#include "ProtocolInitiation.h" +#include "ShutdownHandler.h" +#include "Thread.h" +#include "ThreadFactory.h" +#include "Connector.h" +#include "APRMonitor.h" + +namespace qpid { +namespace io { + + class APRConnector : public virtual qpid::framing::OutputHandler, + public virtual Connector, + private virtual qpid::concurrent::Runnable + { + const bool debug; + const int receive_buffer_size; + const int send_buffer_size; + + bool closed; + + apr_time_t lastIn; + apr_time_t lastOut; + apr_interval_time_t timeout; + u_int32_t idleIn; + u_int32_t idleOut; + + TimeoutHandler* timeoutHandler; + ShutdownHandler* shutdownHandler; + qpid::framing::InputHandler* input; + qpid::framing::InitiationHandler* initialiser; + qpid::framing::OutputHandler* output; + + qpid::framing::Buffer inbuf; + qpid::framing::Buffer outbuf; + + qpid::concurrent::APRMonitor* writeLock; + qpid::concurrent::ThreadFactory* threadFactory; + qpid::concurrent::Thread* receiver; + + apr_pool_t* pool; + apr_socket_t* socket; + + void checkIdle(apr_status_t status); + void writeBlock(qpid::framing::AMQDataBlock* data); + void writeToSocket(char* data, int available); + void setSocketTimeout(); + + void run(); + + public: + APRConnector(bool debug = false, u_int32_t buffer_size = 1024); + virtual ~APRConnector(); + virtual void connect(const std::string& host, int port); + virtual void init(qpid::framing::ProtocolInitiation* header); + virtual void close(); + virtual void setInputHandler(qpid::framing::InputHandler* handler); + virtual void setTimeoutHandler(TimeoutHandler* handler); + virtual void setShutdownHandler(ShutdownHandler* handler); + virtual qpid::framing::OutputHandler* getOutputHandler(); + virtual void send(qpid::framing::AMQFrame* frame); + virtual void setReadTimeout(u_int16_t timeout); + virtual void setWriteTimeout(u_int16_t timeout); + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/APRIOProcessor.h b/cpp/common/io/inc/APRIOProcessor.h new file mode 100644 index 0000000000..de0d67a9c4 --- /dev/null +++ b/cpp/common/io/inc/APRIOProcessor.h @@ -0,0 +1,86 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRIOProcessor_ +#define _APRIOProcessor_ + +#include "apr_poll.h" +#include <queue> +#include <iostream> +#include "APRMonitor.h" +#include "APRThread.h" +#include "IOSession.h" +#include "Runnable.h" + +namespace qpid { +namespace io { + + /** + * Manages non-blocking io through the APR polling + * routines. Interacts with the actual io tasks to be performed + * through the IOSession interface, an implementing instance of + * which must be set as the client_data of the apr_pollfd_t + * structures registered. + */ + class APRIOProcessor : private virtual qpid::concurrent::Runnable + { + const int size; + const apr_interval_time_t timeout; + apr_pollset_t* pollset; + int count; + qpid::concurrent::APRThread thread; + qpid::concurrent::APRMonitor lock; + volatile bool stopped; + + void poll(); + virtual void run(); + + public: + APRIOProcessor(apr_pool_t* pool, int size, int timeout); + /** + * Add the fd to the poll set. Relies on the client_data being + * an instance implementing IOSession, through which the write + * and read operations will be performed when readiness is + * indicated by the poll response. + */ + void add(apr_pollfd_t* const fd); + /** + * Remove the fd from the poll set. + */ + void remove(apr_pollfd_t* const fd); + /** + * Indicates whether the capacity of this processor has been + * reached (or whether it can still handle further fd's). + */ + bool full(); + /** + * Indicates whether there are any fd's registered. + */ + bool empty(); + /** + * Stop processing. + */ + void stop(); + + ~APRIOProcessor(); + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/APRSocket.h b/cpp/common/io/inc/APRSocket.h new file mode 100644 index 0000000000..610cf0e175 --- /dev/null +++ b/cpp/common/io/inc/APRSocket.h @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRSocket_ +#define _APRSocket_ + +#include "apr_network_io.h" +#include "Buffer.h" + +namespace qpid { +namespace io { + + class APRSocket + { + apr_socket_t* const socket; + volatile bool closed; + public: + APRSocket(apr_socket_t* socket); + void read(qpid::framing::Buffer& b); + void write(qpid::framing::Buffer& b); + void close(); + bool isOpen(); + u_int8_t read(); + ~APRSocket(); + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/Acceptor.h b/cpp/common/io/inc/Acceptor.h new file mode 100644 index 0000000000..5c690c546f --- /dev/null +++ b/cpp/common/io/inc/Acceptor.h @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Acceptor_ +#define _Acceptor_ + +#include "SessionHandlerFactory.h" + + +namespace qpid { +namespace io { + + class Acceptor + { + public: + virtual void bind(int port, SessionHandlerFactory* factory) = 0; + virtual ~Acceptor(){} + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/BlockingAPRAcceptor.h b/cpp/common/io/inc/BlockingAPRAcceptor.h new file mode 100644 index 0000000000..b77371b02e --- /dev/null +++ b/cpp/common/io/inc/BlockingAPRAcceptor.h @@ -0,0 +1,62 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _BlockingAPRAcceptor_ +#define _BlockingAPRAcceptor_ + +#include <vector> +#include "apr_network_io.h" +#include "apr_poll.h" +#include "apr_time.h" + +#include "Acceptor.h" +#include "APRMonitor.h" +#include "BlockingAPRSessionContext.h" +#include "Runnable.h" +#include "SessionContext.h" +#include "SessionHandlerFactory.h" +#include "Thread.h" +#include "ThreadFactory.h" +#include "ThreadPool.h" + +namespace qpid { +namespace io { + + class BlockingAPRAcceptor : public virtual Acceptor + { + typedef std::vector<BlockingAPRSessionContext*>::iterator iterator; + + const bool debug; + apr_pool_t* apr_pool; + qpid::concurrent::ThreadFactory* threadFactory; + std::vector<BlockingAPRSessionContext*> sessions; + apr_socket_t* socket; + const int connectionBacklog; + volatile bool running; + + public: + BlockingAPRAcceptor(bool debug = false, int connectionBacklog = 10); + virtual void bind(int port, SessionHandlerFactory* factory); + virtual ~BlockingAPRAcceptor(); + void closed(BlockingAPRSessionContext* session); + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/BlockingAPRSessionContext.h b/cpp/common/io/inc/BlockingAPRSessionContext.h new file mode 100644 index 0000000000..038ebd6662 --- /dev/null +++ b/cpp/common/io/inc/BlockingAPRSessionContext.h @@ -0,0 +1,94 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _BlockingAPRSessionContext_ +#define _BlockingAPRSessionContext_ + +#include <queue> +#include <vector> + +#include "apr_network_io.h" +#include "apr_time.h" + +#include "AMQFrame.h" +#include "APRMonitor.h" +#include "Buffer.h" +#include "Runnable.h" +#include "SessionContext.h" +#include "SessionHandler.h" +#include "SessionHandlerFactory.h" +#include "ShutdownHandler.h" +#include "Thread.h" +#include "ThreadFactory.h" + +namespace qpid { +namespace io { + + class BlockingAPRAcceptor; + + class BlockingAPRSessionContext : public virtual SessionContext + { + class Reader : public virtual qpid::concurrent::Runnable{ + BlockingAPRSessionContext* parent; + public: + inline Reader(BlockingAPRSessionContext* p) : parent(p){} + inline virtual void run(){ parent->read(); } + inline virtual ~Reader(){} + }; + + class Writer : public virtual qpid::concurrent::Runnable{ + BlockingAPRSessionContext* parent; + public: + inline Writer(BlockingAPRSessionContext* p) : parent(p){} + inline virtual void run(){ parent->write(); } + inline virtual ~Writer(){} + }; + + apr_socket_t* socket; + const bool debug; + SessionHandler* handler; + BlockingAPRAcceptor* acceptor; + std::queue<qpid::framing::AMQFrame*> outframes; + qpid::framing::Buffer inbuf; + qpid::framing::Buffer outbuf; + qpid::concurrent::APRMonitor outlock; + Reader* reader; + Writer* writer; + qpid::concurrent::Thread* rThread; + qpid::concurrent::Thread* wThread; + + volatile bool closed; + + void read(); + void write(); + public: + BlockingAPRSessionContext(apr_socket_t* socket, + qpid::concurrent::ThreadFactory* factory, + BlockingAPRAcceptor* acceptor, + bool debug = false); + ~BlockingAPRSessionContext(); + virtual void send(qpid::framing::AMQFrame* frame); + virtual void close(); + void shutdown(); + void init(SessionHandler* handler); + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/Connector.h b/cpp/common/io/inc/Connector.h new file mode 100644 index 0000000000..52684329f1 --- /dev/null +++ b/cpp/common/io/inc/Connector.h @@ -0,0 +1,56 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _Connector_ +#define _Connector_ + +#include "InputHandler.h" +#include "OutputHandler.h" +#include "InitiationHandler.h" +#include "ProtocolInitiation.h" +#include "ShutdownHandler.h" +#include "TimeoutHandler.h" + +namespace qpid { +namespace io { + + class Connector + { + public: + virtual void connect(const std::string& host, int port) = 0; + virtual void init(qpid::framing::ProtocolInitiation* header) = 0; + virtual void close() = 0; + virtual void setInputHandler(qpid::framing::InputHandler* handler) = 0; + virtual void setTimeoutHandler(TimeoutHandler* handler) = 0; + virtual void setShutdownHandler(ShutdownHandler* handler) = 0; + virtual qpid::framing::OutputHandler* getOutputHandler() = 0; + /** + * Set the timeout for reads, in secs. + */ + virtual void setReadTimeout(u_int16_t timeout) = 0; + /** + * Set the timeout for writes, in secs. + */ + virtual void setWriteTimeout(u_int16_t timeout) = 0; + virtual ~Connector(){} + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/ConnectorImpl.h b/cpp/common/io/inc/ConnectorImpl.h new file mode 100644 index 0000000000..242f3aed49 --- /dev/null +++ b/cpp/common/io/inc/ConnectorImpl.h @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _APRConnectorImpl_ +#define _APRConnectorImpl_ + +#ifdef _USE_APR_IO_ +#include "APRConnector.h" +#else +#include "LConnector.h" +#endif + +namespace qpid { +namespace io { + +#ifdef _USE_APR_IO_ + class ConnectorImpl : public virtual APRConnector + { + + public: + ConnectorImpl(bool debug = false, u_int32_t buffer_size = 1024):APRConnector(debug,buffer_size){}; + virtual ~ConnectorImpl(){}; + }; +#else + class ConnectorImpl : public virtual LConnector + { + + public: + ConnectorImpl(bool debug = false, u_int32_t buffer_size = 1024):LConnector(debug, buffer_size){}; + virtual ~ConnectorImpl(){}; + }; + +#endif + +} +} + + +#endif diff --git a/cpp/common/io/inc/IOSession.h b/cpp/common/io/inc/IOSession.h new file mode 100644 index 0000000000..45e84d29b1 --- /dev/null +++ b/cpp/common/io/inc/IOSession.h @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _IOSession_ +#define _IOSession_ + +namespace qpid { +namespace io { + + class IOSession + { + public: + virtual void read() = 0; + virtual void write() = 0; + virtual ~IOSession(){} + }; + + + class IOSessionHolder + { + IOSession* session; + public: + IOSessionHolder(IOSession* _session) : session(_session) {} + void read(){ session->read(); } + void write(){ session->write(); } + }; +} +} + + +#endif diff --git a/cpp/common/io/inc/LConnector.h b/cpp/common/io/inc/LConnector.h new file mode 100644 index 0000000000..59d95a6b57 --- /dev/null +++ b/cpp/common/io/inc/LConnector.h @@ -0,0 +1,48 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _LConnector_ +#define _LConnector_ + + +#include "InputHandler.h" +#include "OutputHandler.h" +#include "InitiationHandler.h" +#include "ProtocolInitiation.h" +#include "Thread.h" +#include "ThreadFactory.h" +#include "Connector.h" + +namespace qpid { +namespace io { + + class LConnector : public virtual qpid::framing::OutputHandler, + public virtual Connector, + private virtual qpid::concurrent::Runnable + { + + public: + LConnector(bool debug = false, u_int32_t buffer_size = 1024){}; + virtual ~LConnector(){}; + + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/LFAcceptor.h b/cpp/common/io/inc/LFAcceptor.h new file mode 100644 index 0000000000..314f811827 --- /dev/null +++ b/cpp/common/io/inc/LFAcceptor.h @@ -0,0 +1,71 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _LFAcceptor_ +#define _LFAcceptor_ + +#include <vector> +#include "apr_network_io.h" +#include "apr_poll.h" +#include "apr_time.h" + +#include "Acceptor.h" +#include "APRMonitor.h" +#include "APRThreadFactory.h" +#include "APRThreadPool.h" +#include "LFProcessor.h" +#include "LFSessionContext.h" +#include "Runnable.h" +#include "SessionContext.h" +#include "SessionHandlerFactory.h" +#include "Thread.h" + +namespace qpid { +namespace io { + + class LFAcceptor : public virtual Acceptor + { + class APRPool{ + public: + apr_pool_t* pool; + APRPool(); + ~APRPool(); + }; + + APRPool aprPool; + LFProcessor processor; + + const int max_connections_per_processor; + const bool debug; + const int connectionBacklog; + + volatile bool running; + + public: + LFAcceptor(bool debug = false, + int connectionBacklog = 10, + int worker_threads = 5, + int max_connections_per_processor = 500); + virtual void bind(int port, SessionHandlerFactory* factory); + virtual ~LFAcceptor(); + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/LFProcessor.h b/cpp/common/io/inc/LFProcessor.h new file mode 100644 index 0000000000..7d99d51943 --- /dev/null +++ b/cpp/common/io/inc/LFProcessor.h @@ -0,0 +1,116 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _LFProcessor_ +#define _LFProcessor_ + +#include "apr_poll.h" +#include <iostream> +#include <vector> +#include "APRMonitor.h" +#include "APRThreadFactory.h" +#include "IOSession.h" +#include "Runnable.h" + +namespace qpid { +namespace io { + + class LFSessionContext; + + /** + * This class processes a poll set using the leaders-followers + * pattern for thread synchronization: the leader will poll and on + * the poll returning, it will remove a session, promote a + * follower to leadership, then process the session. + */ + class LFProcessor : private virtual qpid::concurrent::Runnable + { + typedef std::vector<LFSessionContext*>::iterator iterator; + + const int size; + const apr_interval_time_t timeout; + apr_pollset_t* pollset; + int signalledCount; + int current; + const apr_pollfd_t* signalledFDs; + int count; + const int workerCount; + qpid::concurrent::Thread** const workers; + qpid::concurrent::APRMonitor leadLock; + qpid::concurrent::APRMonitor countLock; + qpid::concurrent::APRThreadFactory factory; + std::vector<LFSessionContext*> sessions; + bool hasLeader; + volatile bool stopped; + + const apr_pollfd_t* getNextEvent(); + void waitToLead(); + void relinquishLead(); + void poll(); + virtual void run(); + + public: + LFProcessor(apr_pool_t* pool, int workers, int size, int timeout); + /** + * Add the fd to the poll set. Relies on the client_data being + * an instance of LFSessionContext. + */ + void add(const apr_pollfd_t* const fd); + /** + * Remove the fd from the poll set. + */ + void remove(const apr_pollfd_t* const fd); + /** + * Signal that the fd passed in, already part of the pollset, + * has had its flags altered. + */ + void update(const apr_pollfd_t* const fd); + /** + * Add an fd back to the poll set after deactivation. + */ + void reactivate(const apr_pollfd_t* const fd); + /** + * Temporarily remove the fd from the poll set. Called when processing + * is about to begin. + */ + void deactivate(const apr_pollfd_t* const fd); + /** + * Indicates whether the capacity of this processor has been + * reached (or whether it can still handle further fd's). + */ + bool full(); + /** + * Indicates whether there are any fd's registered. + */ + bool empty(); + /** + * Stop processing. + */ + void stop(); + /** + * Start processing. + */ + void start(); + + ~LFProcessor(); + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/LFSessionContext.h b/cpp/common/io/inc/LFSessionContext.h new file mode 100644 index 0000000000..ef6a0d07b0 --- /dev/null +++ b/cpp/common/io/inc/LFSessionContext.h @@ -0,0 +1,89 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _LFSessionContext_ +#define _LFSessionContext_ + +#include <queue> + +#include "apr_network_io.h" +#include "apr_poll.h" +#include "apr_time.h" + +#include "AMQFrame.h" +#include "APRMonitor.h" +#include "APRSocket.h" +#include "Buffer.h" +#include "IOSession.h" +#include "LFProcessor.h" +#include "SessionContext.h" +#include "SessionHandler.h" + +namespace qpid { +namespace io { + + + class LFSessionContext : public virtual SessionContext, public virtual IOSession + { + const bool debug; + APRSocket socket; + bool initiated; + + qpid::framing::Buffer in; + qpid::framing::Buffer out; + + SessionHandler* handler; + LFProcessor* const processor; + + apr_pollfd_t fd; + + std::queue<qpid::framing::AMQFrame*> framesToWrite; + qpid::concurrent::APRMonitor writeLock; + + bool processing; + bool closing; + + //these are just for debug, as a crude way of detecting concurrent access + volatile unsigned int reading; + volatile unsigned int writing; + + static qpid::concurrent::APRMonitor logLock; + void log(const std::string& desc, qpid::framing::AMQFrame* const frame); + + public: + LFSessionContext(apr_pool_t* pool, apr_socket_t* socket, + LFProcessor* const processor, + bool debug = false); + ~LFSessionContext(); + virtual void send(qpid::framing::AMQFrame* frame); + virtual void close(); + virtual void read(); + virtual void write(); + void init(SessionHandler* handler); + void startProcessing(); + void stopProcessing(); + void handleClose(); + void shutdown(); + inline apr_pollfd_t* const getFd(){ return &fd; } + inline bool isClosed(){ return !socket.isOpen(); } + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/SessionContext.h b/cpp/common/io/inc/SessionContext.h new file mode 100644 index 0000000000..f223a70daa --- /dev/null +++ b/cpp/common/io/inc/SessionContext.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _SessionContext_ +#define _SessionContext_ + +#include "OutputHandler.h" + +namespace qpid { +namespace io { + + class SessionContext : public virtual qpid::framing::OutputHandler + { + public: + virtual void close() = 0; + virtual ~SessionContext(){} + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/SessionHandler.h b/cpp/common/io/inc/SessionHandler.h new file mode 100644 index 0000000000..21a992ab65 --- /dev/null +++ b/cpp/common/io/inc/SessionHandler.h @@ -0,0 +1,42 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _SessionHandler_ +#define _SessionHandler_ + +#include "InputHandler.h" +#include "InitiationHandler.h" +#include "ProtocolInitiation.h" +#include "TimeoutHandler.h" + +namespace qpid { +namespace io { + + class SessionHandler : public virtual qpid::framing::InitiationHandler, + public virtual qpid::framing::InputHandler, + public virtual TimeoutHandler + { + public: + virtual void closed() = 0; + virtual ~SessionHandler(){} + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/SessionHandlerFactory.h b/cpp/common/io/inc/SessionHandlerFactory.h new file mode 100644 index 0000000000..67d968b72e --- /dev/null +++ b/cpp/common/io/inc/SessionHandlerFactory.h @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _SessionHandlerFactory_ +#define _SessionHandlerFactory_ + +#include "SessionContext.h" +#include "SessionHandler.h" + +namespace qpid { +namespace io { + + class SessionHandlerFactory + { + public: + virtual SessionHandler* create(SessionContext* ctxt) = 0; + virtual ~SessionHandlerFactory(){} + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/SessionManager.h b/cpp/common/io/inc/SessionManager.h new file mode 100644 index 0000000000..30c5208532 --- /dev/null +++ b/cpp/common/io/inc/SessionManager.h @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _SessionManager_ +#define _SessionManager_ + +#include "SessionContext.h" +#include "SessionHandler.h" + +namespace qpid { +namespace io { + + class SessionManager + { + public: + virtual SessionHandler* init(SessionContext* ctxt) = 0; + virtual void close(SessionContext* ctxt) = 0; + virtual void updateInterest(SessionContext* ctxt, bool read, bool write) = 0; + virtual ~SessionManager(){} + }; + +} +} + + +#endif diff --git a/cpp/common/io/inc/ShutdownHandler.h b/cpp/common/io/inc/ShutdownHandler.h new file mode 100644 index 0000000000..186d9eeca4 --- /dev/null +++ b/cpp/common/io/inc/ShutdownHandler.h @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _ShutdownHandler_ +#define _ShutdownHandler_ + +namespace qpid { +namespace io { + + class ShutdownHandler + { + public: + virtual void shutdown() = 0; + virtual ~ShutdownHandler(){} + }; + +} +} + +#endif diff --git a/cpp/common/io/inc/TimeoutHandler.h b/cpp/common/io/inc/TimeoutHandler.h new file mode 100644 index 0000000000..c92220fd6e --- /dev/null +++ b/cpp/common/io/inc/TimeoutHandler.h @@ -0,0 +1,36 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _TimeoutHandler_ +#define _TimeoutHandler_ + +namespace qpid { +namespace io { + + class TimeoutHandler + { + public: + virtual void idleOut() = 0; + virtual void idleIn() = 0; + virtual ~TimeoutHandler(){} + }; + +} +} + + +#endif diff --git a/cpp/common/io/src/APRConnector.cpp b/cpp/common/io/src/APRConnector.cpp new file mode 100644 index 0000000000..0e022a8c73 --- /dev/null +++ b/cpp/common/io/src/APRConnector.cpp @@ -0,0 +1,198 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "APRBase.h" +#include "APRConnector.h" +#include "APRThreadFactory.h" +#include "QpidError.h" + +using namespace qpid::io; +using namespace qpid::concurrent; +using namespace qpid::framing; +using qpid::QpidError; + +APRConnector::APRConnector(bool _debug, u_int32_t buffer_size) : closed(true), debug(_debug), + idleIn(0), idleOut(0), timeout(0), + timeoutHandler(0), + shutdownHandler(0), + lastIn(0), lastOut(0), + receive_buffer_size(buffer_size), + send_buffer_size(buffer_size), + inbuf(receive_buffer_size), + outbuf(send_buffer_size){ + + APRBase::increment(); + + CHECK_APR_SUCCESS(apr_pool_create(&pool, NULL)); + CHECK_APR_SUCCESS(apr_socket_create(&socket, APR_INET, SOCK_STREAM, APR_PROTO_TCP, pool)); + + threadFactory = new APRThreadFactory(); + writeLock = new APRMonitor(); +} + +APRConnector::~APRConnector(){ + delete receiver; + delete writeLock; + delete threadFactory; + apr_pool_destroy(pool); + + APRBase::decrement(); +} + +void APRConnector::connect(const std::string& host, int port){ + apr_sockaddr_t* address; + CHECK_APR_SUCCESS(apr_sockaddr_info_get(&address, host.c_str(), APR_UNSPEC, port, APR_IPV4_ADDR_OK, pool)); + CHECK_APR_SUCCESS(apr_socket_connect(socket, address)); + closed = false; + + receiver = threadFactory->create(this); + receiver->start(); +} + +void APRConnector::init(ProtocolInitiation* header){ + writeBlock(header); + delete header; +} + +void APRConnector::close(){ + closed = true; + CHECK_APR_SUCCESS(apr_socket_close(socket)); + receiver->join(); +} + +void APRConnector::setInputHandler(InputHandler* handler){ + input = handler; +} + +void APRConnector::setShutdownHandler(ShutdownHandler* handler){ + shutdownHandler = handler; +} + +OutputHandler* APRConnector::getOutputHandler(){ + return this; +} + +void APRConnector::send(AMQFrame* frame){ + writeBlock(frame); + if(debug) std::cout << "SENT: " << *frame << std::endl; + delete frame; +} + +void APRConnector::writeBlock(AMQDataBlock* data){ + writeLock->acquire(); + data->encode(outbuf); + + //transfer data to wire + outbuf.flip(); + writeToSocket(outbuf.start(), outbuf.available()); + outbuf.clear(); + writeLock->release(); +} + +void APRConnector::writeToSocket(char* data, int available){ + apr_size_t bytes(available); + apr_size_t written(0); + while(written < available && !closed){ + apr_status_t status = apr_socket_send(socket, data + written, &bytes); + if(status == APR_TIMEUP){ + std::cout << "Write request timed out." << std::endl; + } + if(bytes == 0){ + std::cout << "Write request wrote 0 bytes." << std::endl; + } + lastOut = apr_time_as_msec(apr_time_now()); + written += bytes; + bytes = available - written; + } +} + +void APRConnector::checkIdle(apr_status_t status){ + if(timeoutHandler){ + apr_time_t now = apr_time_as_msec(apr_time_now()); + if(APR_STATUS_IS_TIMEUP(status)){ + if(idleIn && (now - lastIn > idleIn)){ + timeoutHandler->idleIn(); + } + }else if(APR_STATUS_IS_EOF(status)){ + closed = true; + CHECK_APR_SUCCESS(apr_socket_close(socket)); + if(shutdownHandler) shutdownHandler->shutdown(); + }else{ + lastIn = now; + } + if(idleOut && (now - lastOut > idleOut)){ + timeoutHandler->idleOut(); + } + } +} + +void APRConnector::setReadTimeout(u_int16_t t){ + idleIn = t * 1000;//t is in secs + if(idleIn && (!timeout || idleIn < timeout)){ + timeout = idleIn; + setSocketTimeout(); + } + +} + +void APRConnector::setWriteTimeout(u_int16_t t){ + idleOut = t * 1000;//t is in secs + if(idleOut && (!timeout || idleOut < timeout)){ + timeout = idleOut; + setSocketTimeout(); + } +} + +void APRConnector::setSocketTimeout(){ + //interval is in microseconds, timeout in milliseconds + //want the interval to be a bit shorter than the timeout, hence multiply + //by 800 rather than 1000. + apr_interval_time_t interval(timeout * 800); + apr_socket_timeout_set(socket, interval); +} + +void APRConnector::setTimeoutHandler(TimeoutHandler* handler){ + timeoutHandler = handler; +} + +void APRConnector::run(){ + try{ + while(!closed){ + apr_size_t bytes(inbuf.available()); + if(bytes < 1){ + THROW_QPID_ERROR(INTERNAL_ERROR, "Frame exceeds buffer size."); + } + checkIdle(apr_socket_recv(socket, inbuf.start(), &bytes)); + + if(bytes > 0){ + inbuf.move(bytes); + inbuf.flip();//position = 0, limit = total data read + + AMQFrame frame; + while(frame.decode(inbuf)){ + if(debug) std::cout << "RECV: " << frame << std::endl; + input->received(&frame); + } + //need to compact buffer to preserve any 'extra' data + inbuf.compact(); + } + } + }catch(QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } +} diff --git a/cpp/common/io/src/APRIOProcessor.cpp b/cpp/common/io/src/APRIOProcessor.cpp new file mode 100644 index 0000000000..d630f2f315 --- /dev/null +++ b/cpp/common/io/src/APRIOProcessor.cpp @@ -0,0 +1,100 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "APRIOProcessor.h" +#include "APRBase.h" +#include "QpidError.h" + +using namespace qpid::io; +using namespace qpid::concurrent; + +APRIOProcessor::APRIOProcessor(apr_pool_t* pool, int _size, int _timeout) : size(_size), + timeout(_timeout), + count(0), + thread(pool, this), + stopped(false){ + + CHECK_APR_SUCCESS(apr_pollset_create(&pollset, size, pool, APR_POLLSET_THREADSAFE)); + thread.start(); +} + +void APRIOProcessor::add(apr_pollfd_t* const fd){ + CHECK_APR_SUCCESS(apr_pollset_add(pollset, fd)); + lock.acquire(); + if(!count++) lock.notify(); + lock.release(); +} + +void APRIOProcessor::remove(apr_pollfd_t* const fd){ + CHECK_APR_SUCCESS(apr_pollset_remove(pollset, fd)); + lock.acquire(); + count--; + lock.release(); +} + +bool APRIOProcessor::full(){ + lock.acquire(); + bool full = count == size; + lock.release(); + return full; +} + +bool APRIOProcessor::empty(){ + lock.acquire(); + bool empty = count == 0; + lock.release(); + return empty; +} + +void APRIOProcessor::poll(){ + try{ + int signalledCount; + const apr_pollfd_t* signalledFDs; + apr_status_t status = apr_pollset_poll(pollset, timeout, &signalledCount, &signalledFDs); + if(status == APR_SUCCESS){ + for(int i = 0; i < signalledCount; i++){ + IOSessionHolder* session = reinterpret_cast<IOSessionHolder*>(signalledFDs[i].client_data); + if(signalledFDs[i].rtnevents & APR_POLLIN) session->read(); + if(signalledFDs[i].rtnevents & APR_POLLOUT) session->write(); + } + } + }catch(qpid::QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } + +} + +void APRIOProcessor::run(){ + while(!stopped){ + lock.acquire(); + while(count == 0) lock.wait(); + lock.release(); + poll(); + } +} + +void APRIOProcessor::stop(){ + lock.acquire(); + stopped = true; + lock.notify(); + lock.release(); +} + +APRIOProcessor::~APRIOProcessor(){ + CHECK_APR_SUCCESS(apr_pollset_destroy(pollset)); +} + diff --git a/cpp/common/io/src/APRSocket.cpp b/cpp/common/io/src/APRSocket.cpp new file mode 100644 index 0000000000..32861ea442 --- /dev/null +++ b/cpp/common/io/src/APRSocket.cpp @@ -0,0 +1,76 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "APRBase.h" +#include "APRSocket.h" + +#include <iostream> + +using namespace qpid::io; +using namespace qpid::framing; +using namespace qpid::concurrent; + +APRSocket::APRSocket(apr_socket_t* _socket) : socket(_socket), closed(false){ + +} + +void APRSocket::read(qpid::framing::Buffer& buffer){ + apr_size_t bytes; + bytes = buffer.available(); + apr_status_t s = apr_socket_recv(socket, buffer.start(), &bytes); + buffer.move(bytes); + if(APR_STATUS_IS_TIMEUP(s)){ + //timed out + }else if(APR_STATUS_IS_EOF(s)){ + close(); + } +} + +void APRSocket::write(qpid::framing::Buffer& buffer){ + apr_size_t bytes; + do{ + bytes = buffer.available(); + apr_status_t s = apr_socket_send(socket, buffer.start(), &bytes); + buffer.move(bytes); + }while(bytes > 0); +} + +void APRSocket::close(){ + if(!closed){ + std::cout << "Closing socket " << socket << "@" << this << std::endl; + CHECK_APR_SUCCESS(apr_socket_close(socket)); + closed = true; + } +} + +bool APRSocket::isOpen(){ + return !closed; +} + +u_int8_t APRSocket::read(){ + char data[1]; + apr_size_t bytes = 1; + apr_status_t s = apr_socket_recv(socket, data, &bytes); + if(APR_STATUS_IS_EOF(s) || bytes == 0){ + return 0; + }else{ + return *data; + } +} + +APRSocket::~APRSocket(){ +} diff --git a/cpp/common/io/src/BlockingAPRAcceptor.cpp b/cpp/common/io/src/BlockingAPRAcceptor.cpp new file mode 100644 index 0000000000..380318bcfa --- /dev/null +++ b/cpp/common/io/src/BlockingAPRAcceptor.cpp @@ -0,0 +1,81 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "BlockingAPRAcceptor.h" +#include "APRBase.h" +#include "APRThreadFactory.h" + +using namespace qpid::concurrent; +using namespace qpid::framing; +using namespace qpid::io; + +BlockingAPRAcceptor::BlockingAPRAcceptor(bool _debug, int c) : connectionBacklog(c), + threadFactory(new APRThreadFactory()), + debug(_debug){ + + APRBase::increment(); + CHECK_APR_SUCCESS(apr_pool_create(&apr_pool, NULL)); +} + +void BlockingAPRAcceptor::bind(int port, SessionHandlerFactory* factory){ + apr_sockaddr_t* address; + CHECK_APR_SUCCESS(apr_sockaddr_info_get(&address, APR_ANYADDR, APR_UNSPEC, port, APR_IPV4_ADDR_OK, apr_pool)); + CHECK_APR_SUCCESS(apr_socket_create(&socket, APR_INET, SOCK_STREAM, APR_PROTO_TCP, apr_pool)); + CHECK_APR_SUCCESS(apr_socket_bind(socket, address)); + CHECK_APR_SUCCESS(apr_socket_listen(socket, connectionBacklog)); + running = true; + std::cout << "Listening on port " << port << "..." << std::endl; + while(running){ + apr_socket_t* client; + apr_status_t status = apr_socket_accept(&client, socket, apr_pool); + if(status == APR_SUCCESS){ + //configure socket: + CHECK_APR_SUCCESS(apr_socket_timeout_set(client, 1000000/* i.e. 1 sec*/)); + CHECK_APR_SUCCESS(apr_socket_opt_set(client, APR_TCP_NODELAY, 1)); + CHECK_APR_SUCCESS(apr_socket_opt_set(client, APR_SO_SNDBUF, 32768)); + CHECK_APR_SUCCESS(apr_socket_opt_set(client, APR_SO_RCVBUF, 32768)); + + BlockingAPRSessionContext* session = new BlockingAPRSessionContext(client, threadFactory, this, debug); + session->init(factory->create(session)); + sessions.push_back(session); + }else{ + running = false; + if(status != APR_EINTR){ + std::cout << "ERROR: " << get_desc(status) << std::endl; + } + } + } + for(iterator i = sessions.begin(); i < sessions.end(); i++){ + (*i)->shutdown(); + } + + CHECK_APR_SUCCESS(apr_socket_close(socket)); +} + +BlockingAPRAcceptor::~BlockingAPRAcceptor(){ + delete threadFactory; + apr_pool_destroy(apr_pool); + APRBase::decrement(); +} + + +void BlockingAPRAcceptor::closed(BlockingAPRSessionContext* session){ + sessions.erase(find(sessions.begin(), sessions.end(), session)); + delete this; +} + diff --git a/cpp/common/io/src/BlockingAPRSessionContext.cpp b/cpp/common/io/src/BlockingAPRSessionContext.cpp new file mode 100644 index 0000000000..99352c90d5 --- /dev/null +++ b/cpp/common/io/src/BlockingAPRSessionContext.cpp @@ -0,0 +1,177 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include "BlockingAPRSessionContext.h" +#include "BlockingAPRAcceptor.h" +#include "APRBase.h" +#include "QpidError.h" + +using namespace qpid::concurrent; +using namespace qpid::framing; +using namespace qpid::io; + + +BlockingAPRSessionContext::BlockingAPRSessionContext(apr_socket_t* _socket, + ThreadFactory* factory, + BlockingAPRAcceptor* _acceptor, + bool _debug) + : socket(_socket), + debug(_debug), + inbuf(65536), + outbuf(65536), + handler(0), + acceptor(_acceptor), + closed(false){ + + reader = new Reader(this); + writer = new Writer(this); + + rThread = factory->create(reader); + wThread = factory->create(writer); +} + +BlockingAPRSessionContext::~BlockingAPRSessionContext(){ + delete reader; + delete writer; + + delete rThread; + delete wThread; + + delete handler; +} + +void BlockingAPRSessionContext::read(){ + try{ + bool initiated(false); + while(!closed){ + apr_size_t bytes(inbuf.available()); + if(bytes < 1){ + THROW_QPID_ERROR(INTERNAL_ERROR, "Frame exceeds buffer size."); + } + apr_status_t s = apr_socket_recv(socket, inbuf.start(), &bytes); + if(APR_STATUS_IS_TIMEUP(s)){ + //timed out, check closed on loop + }else if(APR_STATUS_IS_EOF(s) || bytes == 0){ + closed = true; + }else{ + inbuf.move(bytes); + inbuf.flip(); + + if(!initiated){ + ProtocolInitiation* init = new ProtocolInitiation(); + if(init->decode(inbuf)){ + handler->initiated(init); + if(debug) std::cout << "RECV: [" << &socket << "]: Initialised " << std::endl; + initiated = true; + } + }else{ + AMQFrame frame; + while(frame.decode(inbuf)){ + if(debug) std::cout << "RECV: [" << &socket << "]:" << frame << std::endl; + handler->received(&frame); + } + } + //need to compact buffer to preserve any 'extra' data + inbuf.compact(); + } + } + + //close socket + }catch(qpid::QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } +} + +void BlockingAPRSessionContext::write(){ + while(!closed){ + //get next frame + outlock.acquire(); + while(outframes.empty() && !closed){ + outlock.wait(); + } + if(!closed){ + AMQFrame* frame = outframes.front(); + outframes.pop(); + outlock.release(); + + //encode + frame->encode(outbuf); + if(debug) std::cout << "SENT [" << &socket << "]:" << *frame << std::endl; + delete frame; + outbuf.flip(); + + //write from outbuf to socket + char* data = outbuf.start(); + const int available = outbuf.available(); + int written = 0; + apr_size_t bytes = available; + while(available > written){ + apr_status_t s = apr_socket_send(socket, data + written, &bytes); + written += bytes; + bytes = available - written; + } + outbuf.clear(); + }else{ + outlock.release(); + } + } +} + +void BlockingAPRSessionContext::send(AMQFrame* frame){ + if(!closed){ + outlock.acquire(); + bool was_empty(outframes.empty()); + outframes.push(frame); + if(was_empty){ + outlock.notify(); + } + outlock.release(); + }else{ + std::cout << "WARNING: Session closed[" << &socket << "], dropping frame. " << &frame << std::endl; + } +} + +void BlockingAPRSessionContext::init(SessionHandler* handler){ + this->handler = handler; + //start the threads + rThread->start(); + wThread->start(); +} + +void BlockingAPRSessionContext::close(){ + closed = true; + wThread->join(); + CHECK_APR_SUCCESS(apr_socket_close(socket)); + if(debug) std::cout << "RECV: [" << &socket << "]: Closed " << std::endl; + handler->closed(); + acceptor->closed(this); + delete this; +} + +void BlockingAPRSessionContext::shutdown(){ + closed = true; + outlock.acquire(); + outlock.notify(); + outlock.release(); + + wThread->join(); + CHECK_APR_SUCCESS(apr_socket_close(socket)); + rThread->join(); + handler->closed(); + delete this; +} diff --git a/cpp/common/io/src/LFAcceptor.cpp b/cpp/common/io/src/LFAcceptor.cpp new file mode 100644 index 0000000000..6653e926db --- /dev/null +++ b/cpp/common/io/src/LFAcceptor.cpp @@ -0,0 +1,80 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "LFAcceptor.h" +#include "APRBase.h" + +using namespace qpid::concurrent; +using namespace qpid::io; + +LFAcceptor::LFAcceptor(bool _debug, int c, int worker_threads, int m) : processor(aprPool.pool, worker_threads, 1000, 5000000), + connectionBacklog(c), + max_connections_per_processor(m), + debug(_debug){ + +} + + +void LFAcceptor::bind(int port, SessionHandlerFactory* factory){ + apr_socket_t* socket; + apr_sockaddr_t* address; + CHECK_APR_SUCCESS(apr_sockaddr_info_get(&address, APR_ANYADDR, APR_UNSPEC, port, APR_IPV4_ADDR_OK, aprPool.pool)); + CHECK_APR_SUCCESS(apr_socket_create(&socket, APR_INET, SOCK_STREAM, APR_PROTO_TCP, aprPool.pool)); + CHECK_APR_SUCCESS(apr_socket_opt_set(socket, APR_SO_REUSEADDR, 1)); + CHECK_APR_SUCCESS(apr_socket_bind(socket, address)); + CHECK_APR_SUCCESS(apr_socket_listen(socket, connectionBacklog)); + running = true; + processor.start(); + + std::cout << "Listening on port " << port << "..." << std::endl; + while(running){ + apr_socket_t* client; + apr_status_t status = apr_socket_accept(&client, socket, aprPool.pool); + if(status == APR_SUCCESS){ + //make this socket non-blocking: + CHECK_APR_SUCCESS(apr_socket_timeout_set(client, 0)); + CHECK_APR_SUCCESS(apr_socket_opt_set(client, APR_SO_NONBLOCK, 1)); + CHECK_APR_SUCCESS(apr_socket_opt_set(client, APR_TCP_NODELAY, 1)); + CHECK_APR_SUCCESS(apr_socket_opt_set(client, APR_SO_SNDBUF, 32768)); + CHECK_APR_SUCCESS(apr_socket_opt_set(client, APR_SO_RCVBUF, 32768)); + LFSessionContext* session = new LFSessionContext(aprPool.pool, client, &processor, debug); + session->init(factory->create(session)); + }else{ + running = false; + if(status != APR_EINTR){ + std::cout << "ERROR: " << get_desc(status) << std::endl; + } + } + } + + processor.stop(); + CHECK_APR_SUCCESS(apr_socket_close(socket)); +} + + +LFAcceptor::~LFAcceptor(){ +} + +LFAcceptor::APRPool::APRPool(){ + APRBase::increment(); + CHECK_APR_SUCCESS(apr_pool_create(&pool, NULL)); +} + +LFAcceptor::APRPool::~APRPool(){ + apr_pool_destroy(pool); + APRBase::decrement(); +} diff --git a/cpp/common/io/src/LFProcessor.cpp b/cpp/common/io/src/LFProcessor.cpp new file mode 100644 index 0000000000..8ef3543b8f --- /dev/null +++ b/cpp/common/io/src/LFProcessor.cpp @@ -0,0 +1,191 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "LFProcessor.h" +#include "APRBase.h" +#include "LFSessionContext.h" +#include "QpidError.h" +#include <sstream> + +using namespace qpid::io; +using namespace qpid::concurrent; +using qpid::QpidError; + +LFProcessor::LFProcessor(apr_pool_t* pool, int _workers, int _size, int _timeout) : size(_size), + timeout(_timeout), + signalledCount(0), + current(0), + count(0), + hasLeader(false), + workerCount(_workers), + workers(new Thread*[_workers]), + stopped(false){ + + CHECK_APR_SUCCESS(apr_pollset_create(&pollset, size, pool, APR_POLLSET_THREADSAFE)); + //create & start the required number of threads + for(int i = 0; i < workerCount; i++){ + workers[i] = factory.create(this); + } +} + + +LFProcessor::~LFProcessor(){ + for(int i = 0; i < workerCount; i++){ + delete workers[i]; + } + delete[] workers; + CHECK_APR_SUCCESS(apr_pollset_destroy(pollset)); +} + +void LFProcessor::start(){ + for(int i = 0; i < workerCount; i++){ + workers[i]->start(); + } +} + +void LFProcessor::add(const apr_pollfd_t* const fd){ + CHECK_APR_SUCCESS(apr_pollset_add(pollset, fd)); + countLock.acquire(); + sessions.push_back(reinterpret_cast<LFSessionContext*>(fd->client_data)); + count++; + countLock.release(); +} + +void LFProcessor::remove(const apr_pollfd_t* const fd){ + CHECK_APR_SUCCESS(apr_pollset_remove(pollset, fd)); + countLock.acquire(); + sessions.erase(find(sessions.begin(), sessions.end(), reinterpret_cast<LFSessionContext*>(fd->client_data))); + count--; + countLock.release(); +} + +void LFProcessor::reactivate(const apr_pollfd_t* const fd){ + CHECK_APR_SUCCESS(apr_pollset_add(pollset, fd)); +} + +void LFProcessor::deactivate(const apr_pollfd_t* const fd){ + CHECK_APR_SUCCESS(apr_pollset_remove(pollset, fd)); +} + +void LFProcessor::update(const apr_pollfd_t* const fd){ + CHECK_APR_SUCCESS(apr_pollset_remove(pollset, fd)); + CHECK_APR_SUCCESS(apr_pollset_add(pollset, fd)); +} + +bool LFProcessor::full(){ + countLock.acquire(); + bool full = count == size; + countLock.release(); + return full; +} + +bool LFProcessor::empty(){ + countLock.acquire(); + bool empty = count == 0; + countLock.release(); + return empty; +} + +void LFProcessor::poll(){ + apr_status_t status; + do{ + current = 0; + if(!stopped){ + status = apr_pollset_poll(pollset, timeout, &signalledCount, &signalledFDs); + } + }while(status != APR_SUCCESS && !stopped); +} + +void LFProcessor::run(){ + try{ + while(!stopped){ + leadLock.acquire(); + waitToLead(); + if(!stopped){ + const apr_pollfd_t* evt = getNextEvent(); + if(evt){ + LFSessionContext* session = reinterpret_cast<LFSessionContext*>(evt->client_data); + session->startProcessing(); + + relinquishLead(); + leadLock.release(); + + //process event: + if(evt->rtnevents & APR_POLLIN) session->read(); + if(evt->rtnevents & APR_POLLOUT) session->write(); + + if(session->isClosed()){ + session->handleClose(); + countLock.acquire(); + sessions.erase(find(sessions.begin(), sessions.end(), session)); + count--; + countLock.release(); + }else{ + session->stopProcessing(); + } + + }else{ + leadLock.release(); + } + }else{ + leadLock.release(); + } + } + }catch(QpidError error){ + std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; + } +} + +void LFProcessor::waitToLead(){ + while(hasLeader && !stopped) leadLock.wait(); + hasLeader = !stopped; +} + +void LFProcessor::relinquishLead(){ + hasLeader = false; + leadLock.notify(); +} + +const apr_pollfd_t* LFProcessor::getNextEvent(){ + while(true){ + if(stopped){ + return 0; + }else if(current < signalledCount){ + //use result of previous poll if one is available + return signalledFDs + (current++); + }else{ + //else poll to get new events + poll(); + } + } +} + +void LFProcessor::stop(){ + stopped = true; + leadLock.acquire(); + leadLock.notifyAll(); + leadLock.release(); + + for(int i = 0; i < workerCount; i++){ + workers[i]->join(); + } + + for(iterator i = sessions.begin(); i < sessions.end(); i++){ + (*i)->shutdown(); + } +} + diff --git a/cpp/common/io/src/LFSessionContext.cpp b/cpp/common/io/src/LFSessionContext.cpp new file mode 100644 index 0000000000..d786cb5e98 --- /dev/null +++ b/cpp/common/io/src/LFSessionContext.cpp @@ -0,0 +1,187 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "LFSessionContext.h" +#include "APRBase.h" +#include "QpidError.h" +#include <assert.h> + +using namespace qpid::concurrent; +using namespace qpid::io; +using namespace qpid::framing; + +LFSessionContext::LFSessionContext(apr_pool_t* _pool, apr_socket_t* _socket, + LFProcessor* const _processor, + bool _debug) : socket(_socket), + processor(_processor), + initiated(false), + processing(false), + closing(false), + in(32768), + out(32768), + reading(0), + writing(0), + debug(_debug){ + + fd.p = _pool; + fd.desc_type = APR_POLL_SOCKET; + fd.reqevents = APR_POLLIN; + fd.client_data = this; + fd.desc.s = _socket; + + out.flip(); +} + +LFSessionContext::~LFSessionContext(){ + +} + +void LFSessionContext::read(){ + assert(!reading); // No concurrent read. + reading = APRThread::currentThread(); + + socket.read(in); + in.flip(); + if(initiated){ + AMQFrame frame; + while(frame.decode(in)){ + if(debug) log("RECV", &frame); + handler->received(&frame); + } + }else{ + ProtocolInitiation init; + if(init.decode(in)){ + handler->initiated(&init); + initiated = true; + if(debug) std::cout << "INIT [" << &socket << "]" << std::endl; + } + } + in.compact(); + + reading = 0; +} + +void LFSessionContext::write(){ + assert(!writing); // No concurrent writes. + writing = APRThread::currentThread(); + + bool done = isClosed(); + while(!done){ + if(out.available() > 0){ + socket.write(out); + if(out.available() > 0){ + writing = 0; + + //incomplete write, leave flags to receive notification of readiness to write + done = true;//finished processing for now, but write is still in progress + } + }else{ + //do we have any frames to write? + writeLock.acquire(); + if(!framesToWrite.empty()){ + out.clear(); + bool encoded(false); + AMQFrame* frame = framesToWrite.front(); + while(frame && out.available() >= frame->size()){ + encoded = true; + frame->encode(out); + if(debug) log("SENT", frame); + delete frame; + framesToWrite.pop(); + frame = framesToWrite.empty() ? 0 : framesToWrite.front(); + } + if(!encoded) THROW_QPID_ERROR(FRAMING_ERROR, "Could not write frame, too large for buffer."); + out.flip(); + }else{ + //reset flags, don't care about writability anymore + fd.reqevents = APR_POLLIN; + done = true; + + writing = 0; + + if(closing){ + socket.close(); + } + } + writeLock.release(); + } + } +} + +void LFSessionContext::send(AMQFrame* frame){ + writeLock.acquire(); + if(!closing){ + framesToWrite.push(frame); + if(!(fd.reqevents & APR_POLLOUT)){ + fd.reqevents |= APR_POLLOUT; + if(!processing){ + processor->update(&fd); + } + } + } + writeLock.release(); +} + +void LFSessionContext::startProcessing(){ + writeLock.acquire(); + processing = true; + processor->deactivate(&fd); + writeLock.release(); +} + +void LFSessionContext::stopProcessing(){ + writeLock.acquire(); + processor->reactivate(&fd); + processing = false; + writeLock.release(); +} + +void LFSessionContext::close(){ + closing = true; + writeLock.acquire(); + if(!processing){ + //allow pending frames to be written to socket + fd.reqevents = APR_POLLOUT; + processor->update(&fd); + } + writeLock.release(); +} + +void LFSessionContext::handleClose(){ + handler->closed(); + std::cout << "Session closed [" << &socket << "]" << std::endl; + delete handler; + delete this; +} + +void LFSessionContext::shutdown(){ + socket.close(); + handleClose(); +} + +void LFSessionContext::init(SessionHandler* handler){ + this->handler = handler; + processor->add(&fd); +} + +void LFSessionContext::log(const std::string& desc, AMQFrame* const frame){ + logLock.acquire(); + std::cout << desc << " [" << &socket << "]: " << *frame << std::endl; + logLock.release(); +} + +APRMonitor LFSessionContext::logLock; diff --git a/cpp/common/utils/inc/logger.h b/cpp/common/utils/inc/logger.h new file mode 100644 index 0000000000..8a57854476 --- /dev/null +++ b/cpp/common/utils/inc/logger.h @@ -0,0 +1,82 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +/********************************************************************* +* +* NOTE: This is a lightweight logging class intended for debugging and +* verification purposes only. +* +* DO NOT USE FOR PRODUCT DEVELOPMENT - Rather, use an agreed upon +* established logging class (such as Apache's log4cxx) for product +* development purposes. +* +*********************************************************************/ + +#ifndef __LOGGER__ +#define __LOGGER__ + +#include <fstream> +#include <iostream> + +namespace qpid { +namespace utils { + +class Logger : public std::ofstream +{ + private: + bool echo_flag; + bool timestamp_flag; + bool eol_flag; + char buff[128]; // Buffer for writing formatted strings + + void write_timestamp(); + + public: + Logger(const char* filename, const bool append); + Logger(std::string& filename, const bool append); + ~Logger(); + + bool getEchoFlag() {return echo_flag;} + bool setEchoFlag(const bool _echo_flag) {echo_flag = _echo_flag;} + bool getTimestampFlag() {return timestamp_flag;} + bool setTimestampFlag(const bool _timestamp_flag) {timestamp_flag = _timestamp_flag;} + + void log(const char* message); + void log(const char* message, const bool echo); + void log(const char* message, const bool echo, const bool timestamp); + + Logger& operator<< (bool b); + Logger& operator<< (const short s); + Logger& operator<< (const unsigned short us); + Logger& operator<< (const int i); + Logger& operator<< (const unsigned int ui); + Logger& operator<< (const long l); + Logger& operator<< (const unsigned long ul); + Logger& operator<< (const long long l); + Logger& operator<< (const unsigned long long ul); + Logger& operator<< (const float f); + Logger& operator<< (const double d); + Logger& operator<< (const long double ld); + Logger& operator<< (const char* cstr); + Logger& operator<< (const std::string& str); +}; + +} +} + + +#endif diff --git a/cpp/common/utils/inc/memory.h b/cpp/common/utils/inc/memory.h new file mode 100644 index 0000000000..2d65877adb --- /dev/null +++ b/cpp/common/utils/inc/memory.h @@ -0,0 +1,17 @@ +#ifndef __UTIL_MEMORY__ +#define __UTIL_MEMORY__ + +#if __GNUC__ < 4 + #include "boost/shared_ptr.hpp" + namespace std { + namespace tr1 { + using boost::shared_ptr; + using boost::dynamic_pointer_cast; + using boost::static_pointer_cast; + } + } +#else + #include <tr1/memory> +#endif +#endif + diff --git a/cpp/common/utils/src/Makefile b/cpp/common/utils/src/Makefile new file mode 100644 index 0000000000..0185ab9975 --- /dev/null +++ b/cpp/common/utils/src/Makefile @@ -0,0 +1,40 @@ + # + # Copyright (c) 2006 The Apache Software Foundation + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # +##### Options ##### +QPID_HOME = ../../../.. + +include ${QPID_HOME}/cpp/options.mk + +##### Compiler flags ##### +CXXFLAGS = -I ../inc -I ${APR_HOME}/include/apr-1/ + +##### Targets ##### +# Add additional source files to SOURCE LIST to include them in the build. +COMMON_SOURCE_LIST = logger.cpp + +COMMON_OBJ_LIST = $(COMMON_SOURCE_LIST:.cpp=.o) +LOGGER_TEST_EXE = logger_test + + +.PHONY: all clean + +all: $(LOGGER_TEST_EXE) + +$(LOGGER_TEST_EXE) : $(COMMON_OBJ_LIST) $(LOGGER_TEST_EXE).o + $(CXX) -o $@ $^ -l apr-1 -L /usr/local/apr/lib/ + +clean: + -@rm -f $(LOGGER_TEST_EXE) $(LOGGER_TEST_EXE).o $(COMMON_OBJ_LIST) test_log.txt *~ ../inc/*~ diff --git a/cpp/common/utils/src/logger.cpp b/cpp/common/utils/src/logger.cpp new file mode 100644 index 0000000000..603fa6574e --- /dev/null +++ b/cpp/common/utils/src/logger.cpp @@ -0,0 +1,209 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +/********************************************************************* +* +* NOTE: This is a lightweight logging class intended for debugging and +* verification purposes only. +* +* DO NOT USE FOR PRODUCT DEVELOPMENT - Rather, use an agreed upon +* established logging class (such as Apache's log4cxx) for product +* development purposes. +* +*********************************************************************/ + +#include <iostream> +#include <ostream> +#include <string.h> +#include "apr_time.h" +#include "logger.h" + +namespace qpid { +namespace utils { + +Logger::Logger(const char* filename, const bool append): + std::ofstream(filename, append ? std::ios::app : std::ios::out) +{ + echo_flag = false; + timestamp_flag = true; + eol_flag = true; +} + +Logger::Logger(std::string& filename, const bool append): + std::ofstream(filename.c_str(), append ? std::ios::app : std::ios::out) +{ + echo_flag = false; + timestamp_flag = true; + eol_flag = true; +} + +Logger::~Logger() +{ + close(); +} + +void Logger::write_timestamp() +{ + int len; + apr_time_exp_t now; + apr_time_exp_lt(&now, apr_time_now()); + sprintf(buff, "%4d/%02d/%02d %02d:%02d:%02d.%06d : ", 1900+now.tm_year, now.tm_mon, + now.tm_mday, now.tm_hour, now.tm_min, now.tm_sec, now.tm_usec); + write(buff, strlen(buff)); +} + + +void Logger::log(const char* message) +{ + if (timestamp_flag && eol_flag) + { + eol_flag = false; + write_timestamp(); + } + write(message, strlen(message)); + if (echo_flag) + std::cout << message; + if (strchr(message, '\n')) + eol_flag = true; +} + +void Logger::log(const char* message, const bool echo) +{ + if (timestamp_flag && eol_flag) + { + eol_flag = false; + write_timestamp(); + } + write(message, strlen(message)); + if (echo) + std::cout << message; + if (strchr(message, '\n')) + eol_flag = true; +} + +void Logger::log(const char* message, const bool echo, const bool timestamp) +{ + if (timestamp && eol_flag) + { + eol_flag = false; + write_timestamp(); + } + write(message, strlen(message)); + if (echo) + std::cout << message; + if (strchr(message, '\n')) + eol_flag = true; +} + +Logger& Logger::operator<< (const bool b) +{ + log(b ? "true" : "false"); + return *this; +} + +Logger& Logger::operator<< (const short s) +{ + sprintf(buff, "%d", s); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const unsigned short us) +{ + sprintf(buff, "%u", us); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const int i) +{ + sprintf(buff, "%d", i); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const unsigned int ui) +{ + sprintf(buff, "%u", ui); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const long l) +{ + sprintf(buff, "%ld", l); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const unsigned long ul) +{ + sprintf(buff, "%lu", ul); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const long long l) +{ + sprintf(buff, "%ld", l); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const unsigned long long ul) +{ + sprintf(buff, "%lu", ul); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const float f) +{ + sprintf(buff, "%f", f); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const double d) +{ + sprintf(buff, "%lf", d); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const long double ld) +{ + sprintf(buff, "%Lf", ld); + log(buff); + return *this; +} + +Logger& Logger::operator<< (const char* cstr) +{ + log(cstr); + return *this; +} + +Logger& Logger::operator<< (const std::string& str) +{ + log(str.c_str()); + return *this; +} + +} +} + diff --git a/cpp/common/utils/src/logger_test.cpp b/cpp/common/utils/src/logger_test.cpp new file mode 100644 index 0000000000..1866af9fbb --- /dev/null +++ b/cpp/common/utils/src/logger_test.cpp @@ -0,0 +1,78 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include <iostream> +#include <string> +#include "logger.h" + +using namespace qpid::utils; + +void run_sequence(Logger& log) +{ + bool b = true; + short s = -5; + unsigned short us = 12; + int i = -2345; + unsigned int ui = 34567; + long l = -12345678; + unsigned long ul = 23456789; + long long ll = -1234567890; + unsigned long long ull = 1234567890; + float f = -123.45678; + double d = 123.45678901; + long double ld = 23456.789012345678; + char* cstr = "This is a test C string."; + char* cr = "\n"; + std::string str("This is a test std::string"); + log << "bool = " << b << cr; + log << "short = " << s << cr; + log << "unsigned sort = " << us << cr; + log << "int = " << i << cr; + log << "unsigned int = " << ui << cr; + log << "long = " << l << cr; + log << "unsigned long = " << ul << cr; + log << "long long = " << ll << cr; + log << "unsigned long long = " << ull << cr; + log << "float = " << f << cr; + log << "double = " << d << cr; + log << "long double = " << ld << cr; + log << "char* = " << cstr << cr; + log << "std::string = " << str << cr; + log << "String 1\n"; + log << "String 2\n" << "String 3 " << "String 4\n"; + log << "Literal bool = " << false << cr; + log << "Literal unsigned int = " << 15 << cr; + log << "Literal double = " << (double)15 << cr; +} + +int main(int argc, char** argv) +{ + Logger log("test_log.txt", false); + std::cout << "****** Initial state (echo off, timestamp on)" << std::endl; + run_sequence(log); + std::cout << std::endl << "****** (echo off, timestamp off)" << std::endl; + log.setTimestampFlag(false); + run_sequence(log); + std::cout << std::endl << "****** (echo on, timestamp on)" << std::endl; + log.setEchoFlag(true); + log.setTimestampFlag(true); + run_sequence(log); + std::cout << std::endl << "****** (echo on, timestamp off)" << std::endl; + log.setTimestampFlag(false); + run_sequence(log); + return 0; +} diff --git a/cpp/doxygen/Makefile b/cpp/doxygen/Makefile new file mode 100644 index 0000000000..187fe698a0 --- /dev/null +++ b/cpp/doxygen/Makefile @@ -0,0 +1,23 @@ + # + # Copyright (c) 2006 The Apache Software Foundation + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # + +.PHONY: all + +all: + doxygen doxygen.cfg + +clean: + rm -rf html diff --git a/cpp/doxygen/doxygen.cfg b/cpp/doxygen/doxygen.cfg new file mode 100644 index 0000000000..d31c1bb134 --- /dev/null +++ b/cpp/doxygen/doxygen.cfg @@ -0,0 +1,1238 @@ +# NB: requires doxygen and graphviz - install with yum. + +# Doxyfile 1.4.6 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = Qpid + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 0 + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, +# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, +# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, +# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, +# Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to +# include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = YES + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from the +# version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = .. + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: + + +FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that a graph may be further truncated if the graph's +# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH +# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), +# the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, which results in a white background. +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = YES diff --git a/cpp/options.mk b/cpp/options.mk new file mode 100644 index 0000000000..a1dfd695a7 --- /dev/null +++ b/cpp/options.mk @@ -0,0 +1,54 @@ + #l + # Copyright (c) 2006 The Apache Software Foundation + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # + +# Directories +SPEC_DIR = ${QPID_HOME}/specs +QPID_CPP_HOME = ${QPID_HOME}/cpp +COMMON_HOME = ${QPID_CPP_HOME}/common +TOOLS_DIR = ${QPID_CPP_HOME}/tools +LIB_DIR = ${QPID_CPP_HOME}/lib +BIN_DIR = ${QPID_CPP_HOME}/bin +APR_HOME= /usr +BOOST_HOME= /usr +CPPUNIT_HOME= /usr + +# Compile flags +DEBUG = -g +# _USE_APR_IO_ set when APR IO build is desired. +OPT = -D _USE_APR_IO_ #-O3 +APR_INCLUDES=-I ${APR_HOME}/include/apr-1/ +BOOST_INCLUDES=-I ${BOOST_HOME}/include/boost-1_33_1 +CPPUNIT_INCLUDES=-I ${CPPUNIT_HOME}/include +COMMON_INCLUDES = -I ${COMMON_HOME}/framing/inc -I ${COMMON_HOME}/framing/generated -I ${COMMON_HOME}/concurrent/inc -I ${COMMON_HOME}/io/inc -I ${COMMON_HOME}/error/inc -I $(COMMON_HOME)/utils/inc ${APR_INCLUDES} ${BOOST_INCLUDES} ${CPPUNIT_INCLUDES} +SRC_INCLUDES = $(COMMON_INCLUDES) -I inc +TEST_INCLUDES = $(COMMON_INCLUDES) -I ../inc +INCLUDES=$(SRC_INCLUDES) # Default to src +CXXFLAGS = $(DEBUG) $(OPT) -MMD -fpic $(INCLUDES) + +# TODO aconway 2006-09-12: This is not something we want in a release +# but it's useful for development. +RPATH= -Wl,-rpath,$(CURDIR)/$(LIB_DIR) + +# General link flags +LDFLAGS= -L $(LIB_DIR) -L ${APR_HOME}/lib -L ${BOOST_HOME}/lib -L ${CPPUNIT_HOME}/lib $(RPATH) + +# Libraries and executables. Use absolute paths so exes can find +# libs wherever they are run. TODO: Proper library management. +BROKER=$(BIN_DIR)/qpidd +BROKER_LIB=$(CURDIR)/$(LIB_DIR)/libqpid_broker.so.1.0 +COMMON_LIB=$(CURDIR)/$(LIB_DIR)/libqpid_common.so.1.0 +CLIENT_LIB=$(CURDIR)/$(LIB_DIR)/libqpid_client.so.1.0 + diff --git a/cpp/test_plugins.mk b/cpp/test_plugins.mk new file mode 100644 index 0000000000..abac186954 --- /dev/null +++ b/cpp/test_plugins.mk @@ -0,0 +1,42 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +# +# Standard make fragment for building test plugins in a directory. +# + +include ${QPID_HOME}/cpp/options.mk + +SOURCES := $(wildcard *.cpp) +TESTS := $(SOURCES:.cpp=.so) +DEPS= $(SOURCES:.cpp=.d) + +INCLUDES = $(TEST_INCLUDES) + +.PHONY: all clean + +all: $(TESTS) + +clean: + -@rm -f $(TESTS) $(DEPS) + +# Rule to build test plugins from .cpp files. +%.so: %.cpp + $(CXX) -shared -o $@ $< $(CXXFLAGS) $(LDFLAGS) $(LDLIBS) + +# Dependencies +-include $(DEPS) diff --git a/cpp/tools/saxon8.jar b/cpp/tools/saxon8.jar Binary files differnew file mode 100644 index 0000000000..197ce75c5b --- /dev/null +++ b/cpp/tools/saxon8.jar diff --git a/java/Developing.txt b/java/Developing.txt new file mode 100644 index 0000000000..710e5ecc31 --- /dev/null +++ b/java/Developing.txt @@ -0,0 +1,75 @@ +Developing +---------- + +In order to build Qpid you need Ant 1.6.5. Use ant -p to list the +available targets. The default ant target, build, creates a working +development-mode distribution in the build directory. To run the +scripts in build/bin set QPID_HOME to the build directory and put +${QPID_HOME}/bin on your PATH. The scripts in that directory include +the standard ones in the distribution and a number of testing scripts. + +Running Tests +------------- + +The simplest test to ensure everything is working is the "service +request reply" test. This involves one client that is known as a +"service provider" and it listens on a well-known queue for +requests. Another client, known as the "service requester" creates a +private (temporary) response queue, creates a message with the private +response queue set as the "reply to" field and then publishes the +message to the well known service queue. The test allows you to time +how long it takes to send messages and receive the response back. It +also allows varying of the message size. + +You must start the service provider first: + +serviceProvidingClient.sh nop host:port + +where host:port is the host and port you are running the broker +on. + +To run the service requester: + +serviceRequestingClient.sh nop host:post <count> <bytes> + +This requests <count> messages, each of size <bytes>. After +receiving all the messages the client outputs the rate it achieved. + +A more realistic test is the "headers test", which tests the +performance of routing messages based on message headers to a +configurable number of clients (e.g. 50). A publisher sends 10000 +messages to each client and waits to receive a message from each +client when it has received all the messages. + +You run the listener processes first: + +run_many.sh 10 header "headersListener.sh -host 10.0.0.1 -port 5672" + +In this command, the first argument means start 10 processes, the +second is just a name use in the log files generated and the third +argument is the command to run. In this case it runs another shell +script but it could be anything. + +Then run the publisher process: + +headersPublisher.sh -host 10.0.0.1 -port 5672 10000 10 + +The last two arguments are: the number of messages to send to each +client, and the number of clients. + +Note that before starting the publisher you should wait about 30 +seconds to ensure all the clients are registered with the broker (you +can see this from the broker output). Otherwise the numbers will be +slightly skewed. + +A third useful test, which can easily be ported to other JMS +implementations is the "topic test". It does the same as the headers +test but using a standard topic (e.g. pub sub). + +To run the listeners: + +run_many.sh 10 topic "topicListener.sh -host 10.0.0.1 -port 5672" + +and to run the publisher: + +topicPublisher.sh -host 10.0.0.1 -port 5672 -clients 10 -messages 10000 diff --git a/java/ReadMe.txt b/java/ReadMe.txt new file mode 100644 index 0000000000..a389131844 --- /dev/null +++ b/java/ReadMe.txt @@ -0,0 +1,15 @@ +Running the Broker +------------------ + +To run the broker, set the QPID_HOME environment variable to +distribution directory and add $QPID_HOME/bin to your PATH. Then run +the qpid-server shell script or qpid-server.bat batch file to start +the broker. By default, the broker will use $QPID_HOME/etc to find +the configuration files. You can supply a custom configuration using +the -c argument. + +For example: + +qpid-server -c ~/etc/config.xml + +You can get a list of all command line arguments by using the -h argument. diff --git a/java/broker/README.txt b/java/broker/README.txt new file mode 100644 index 0000000000..d6519ab1d1 --- /dev/null +++ b/java/broker/README.txt @@ -0,0 +1,40 @@ +======================================================================== +This software uses berkeley db java edition, licensed as described +below. + +======================================================================== +Copyright (c) 1990-2005 + Sleepycat Software. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Redistributions in any form must be accompanied by information on + how to obtain complete source code for the DB software and any + accompanying software that uses the DB software. The source code + must either be included in the distribution or be available for no + more than the cost of distribution plus a nominal fee, and must be + freely redistributable under reasonable conditions. For an + executable file, complete source code means the source code for all + modules it contains. It does not include source code for modules or + files that typically accompany the major components of the operating + system on which the executable file runs. + +THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL SLEEPYCAT SOFTWARE +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +
\ No newline at end of file diff --git a/java/broker/bin/qpid-server b/java/broker/bin/qpid-server new file mode 100644 index 0000000000..353b2a2077 --- /dev/null +++ b/java/broker/bin/qpid-server @@ -0,0 +1,18 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +. qpid-run org.apache.qpid.server.Main "$@" diff --git a/java/broker/bin/qpid-server.bat b/java/broker/bin/qpid-server.bat new file mode 100644 index 0000000000..1e2ca7c1ac --- /dev/null +++ b/java/broker/bin/qpid-server.bat @@ -0,0 +1,53 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+REM Script to run the Qpid Java Broker
+
+rem Guess QPID_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%QPID_HOME%" == "" goto gotHome
+set QPID_HOME=%CURRENT_DIR%
+echo %QPID_HOME%
+if exist "%QPID_HOME%\bin\qpid-server.bat" goto okHome
+cd ..
+set QPID_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%QPID_HOME%\bin\qpid-server.bat" goto okHome
+echo The QPID_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+if not "%JAVA_HOME%" == "" goto gotJavaHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotJavaHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+goto okJavaHome
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program.
+goto exit
+:okJavaHome
+
+set LAUNCH_JAR=%QPID_HOME%\lib\broker-launch.jar
+set MODULE_JARS=%QPID_HOME%\lib\bdbstore-launch.jar
+"%JAVA_HOME%"\bin\java -server -Xmx1024m -DQPID_HOME="%QPID_HOME%" -cp "%LAUNCH_JAR%;%MODULE_JARS%" org.apache.qpid.server.Main *
+
+:end
diff --git a/java/broker/bin/run.bat b/java/broker/bin/run.bat new file mode 100755 index 0000000000..fde68364fd --- /dev/null +++ b/java/broker/bin/run.bat @@ -0,0 +1,28 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+set CORE_CLASSES=..\classes;..\testclasses
+
+set COMMONDIR=..\..\common
+
+set COMMONLIB=%COMMONDIR%\lib\slf4j\slf4j-simple.jar;%COMMONDIR%\lib\logging-log4j\log4j-1.2.9.jar;%COMMONDIR%\lib\mina\mina-core-0.9.2.jar
+
+set DIST=..\lib\bdb\je-3.0.12.jar;..\dist\amqpd.jar;..\..\client\dist\amqp-common.jar
+
+set CP=%CORE_CLASSES%;%DIST%;%COMMONLIB%
+
+"%JAVA_HOME%\bin\java" -Xmx512m -Damqj.logging.level=INFO -cp %CP% %*
diff --git a/java/broker/bin/run.sh b/java/broker/bin/run.sh new file mode 100755 index 0000000000..06ad56b61c --- /dev/null +++ b/java/broker/bin/run.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +COMMONDIR=../../common + +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/slf4j/slf4j-simple.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/logging-log4j/log4j-1.2.13.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/mina/mina-core-0.9.5-SNAPSHOT.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/mina/mina-filter-ssl-0.9.5-SNAPSHOT.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/commons-collections/commons-collections-3.1.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/commons-cli/commons-cli-1.0.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/commons-configuration/commons-configuration-1.2.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/commons-logging/commons-logging-api.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/commons-logging/commons-logging.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/commons-lang/commons-lang-2.1.jar +COMMONLIB=$COMMONLIB:$COMMONDIR/lib/junit/junit-4.0.jar + +DIST=../lib/bdb/je-3.0.12.jar:../dist/amqpd-tests.jar:../dist/amqpd.jar:../../client/dist/amqp-common.jar + +CP=../intellijclasses:$DIST:$COMMONLIB + +if [ "$(uname -a | fgrep Cygwin)" != "" ]; then + CP=$(cygpath --mixed --path $CP) +fi + +"$JAVA_HOME/bin/java" -Xmx512m -Dprepopulate=10 -Damqj.logging.level=INFO -cp $CP $* diff --git a/java/broker/bin/runAll b/java/broker/bin/runAll new file mode 100644 index 0000000000..0d6c6068e6 --- /dev/null +++ b/java/broker/bin/runAll @@ -0,0 +1,18 @@ +#!/bin/sh + +doRun() +{ + class=$1 + shift + echo + echo ================================================================================ + echo Running $class + ./run.sh $class "$@" +} + +# parameters are: clients messages iterations +doRun org.apache.qpid.server.queue.SendPerfTest 10 1000 100 + +doRun org.apache.qpid.server.queue.QueuePerfTest + +doRun org.apache.qpid.server.queue.QueueConcurrentPerfTest diff --git a/java/broker/build-module.xml b/java/broker/build-module.xml new file mode 100644 index 0000000000..4c3aa56396 --- /dev/null +++ b/java/broker/build-module.xml @@ -0,0 +1,22 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Broker" default="build"> + <property name="module.depends" value="common"/> + <property name="module.main" value="org.apache.qpid.server.Main"/> + <import file="../module.xml"/> +</project> diff --git a/java/broker/build-old.xml b/java/broker/build-old.xml new file mode 100644 index 0000000000..0f910610ea --- /dev/null +++ b/java/broker/build-old.xml @@ -0,0 +1,265 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<!-- AMQPd build file --> + +<project name="qpid-broker" default="jar" basedir="."> + + <!-- Global task properties --> + <property name="common.root" value="${basedir}/../common"/> + <property name="common.lib" value="${common.root}/lib"/> + <property name="common.src" value="${common.root}/src"/> + <property name="common.resources" value="${common.root}/resources"/> + + <property name="common.generated.java.src" value="${common.root}/generated/java"/> + + <property name="client.classes" value="${basedir}/../client/classes"/> + <property name="client.testclasses" value="${basedir}/../client/testclasses"/> + + <property name="broker.root" value="${basedir}"/> + <property name="broker.lib" value="${basedir}/lib"/> + <property name="broker.src" value="${broker.root}/src"/> + <property name="broker.tests" value="${broker.root}/test"/> + <property name="broker.classes" value="${broker.root}/classes"/> + <property name="broker.testclasses" value="${broker.root}/testclasses"/> + + <property name="broker.dist" value="${basedir}/dist"/> + <property name="dam.dist" value="${basedir}/damPackage"/> + + <!-- Path structures used by several tasks --> + <path id="amqp.classpath"> + <fileset dir="${broker.lib}"> + <include name="**/*.jar"/> + </fileset> + <fileset dir="${common.lib}"> + <include name="**/*.jar"/> + </fileset> + <pathelement path="${client.classes}"/> + <pathelement path="${client.testclasses}"/> + <pathelement path="${broker.classes}"/> + <pathelement path="${broker.testclasses}"/> + </path> + + <!-- Task definitions --> + + <target name="init" description="Initialise the build process"> + <tstamp> + <format property="release" pattern="-dMMMyy" locale="en" timezone="GMT"/> + </tstamp> + + <mkdir dir="${broker.classes}"/> + <mkdir dir="${broker.testclasses}"/> + <mkdir dir="${broker.dist}"/> + </target> + + <!-- Remove all built files --> + <target name="clean" depends="init" description="Remove all built and generated files"> + <delete dir="${broker.dist}"/> + <!--<delete dir="${generated.java.src}"/>--> + <delete dir="${broker.classes}"/> + <delete dir="${broker.testclasses}"/> + </target> + + <!-- Generate framing source code from protocol specification --> + <target name="generate" description="Generates framing source code from protocol specification"> + <ant dir="../common" target="generate"/> + </target> + + <!-- Compile Java --> + <target name="compile" depends="init, generate" description="Compile all source files excluding tests"> + <javac destdir="${broker.classes}" target="1.5" source="1.5" classpathref="amqp.classpath" debug="on"> + <compilerarg value="-Xlint:unchecked" /> + <compilerarg value="-Xlint:deprecation" /> + <src path="${common.src}"/> + <src path="${broker.src}"/> + <src path="${common.generated.java.src}"/> + </javac> + + <copy todir="${broker.classes}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${broker.src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + <fileset dir="${common.src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + <fileset dir="${common.resources}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <target name="compiletests" depends="compile" description="Compile all tests"> + <javac destdir="${broker.testclasses}" target="1.5" source="1.5" classpathref="amqp.classpath" debug="on"> + <compilerarg value="-Xlint:unchecked"/> + <compilerarg value="-Xlint:deprecation"/> + <src path="${broker.tests}"/> + </javac> + + <copy todir="${broker.testclasses}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${broker.tests}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <target name="test" depends="compiletests"> + <junit fork="yes" showoutput="true" haltonfailure="yes"> + <test name="org.apache.qpid.server.UnitTests"/> + <formatter type="plain"/> + <classpath refid="amqp.classpath"/> + </junit> + </target> + + <!-- Build jar archive --> + <target name="jar" depends="compile, compiletests" description="Create Jar files as the distribution"> + <mkdir dir="${broker.dist}"/> + <jar basedir="${broker.classes}" jarfile="${broker.dist}/amqpd.jar"/> + <jar basedir="${broker.testclasses}" jarfile="${broker.dist}/amqpd-tests.jar"/> + </target> + + <target name="release" depends="jar" description="Create a release package"> + <!-- create a jar file that will contain classpath entries for all required jars --> + <jar jarfile="${broker.dist}/broker-launch.jar"> + <manifest> + <attribute name="Main-Class" value="org.apache.qpid.server.Main"/> + <attribute name="Class-Path" value="lib/je-3.0.35.jar lib/slf4j-simple.jar lib/log4j-1.2.13.jar lib/mina-core-0.9.5-SNAPSHOT.jar lib/mina-filter-ssl-0.9.5-SNAPSHOT.jar lib/commons-cli-1.0.jar lib/commons-configuration-1.2.jar lib/commons-collections-3.1.jar lib/commons-logging-api.jar lib/commons-logging.jar lib/commons-lang-2.1.jar lib/amqpd.jar lib/amqp-common.jar"/> + </manifest> + </jar> + <!-- create a zip for releasing --> + <zip destfile="${broker.dist}/broker.zip"> + <fileset dir="bin" includes="*.sh,*.bat"/> + <fileset file="${broker.dist}/broker-launch.jar" /> + <zipfileset prefix="etc" dir="etc" includes="*"/> + <zipfileset prefix="lib" file="${broker.lib}/bdb/je-3.0.35.jar"/> + <zipfileset prefix="lib" file="${common.lib}/slf4j/slf4j-simple.jar"/> + <zipfileset prefix="lib" file="${common.lib}/logging-log4j/log4j-1.2.13.jar"/> + <zipfileset prefix="lib" file="${common.lib}/mina/mina-core-0.9.5-SNAPSHOT.jar"/> + <zipfileset prefix="lib" file="${common.lib}/mina/mina-filter-ssl-0.9.5-SNAPSHOT.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-cli/commons-cli-1.0.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-configuration/commons-configuration-1.2.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-collections/commons-collections-3.1.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-logging/commons-logging-api.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-logging/commons-logging.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-lang/commons-lang-2.1.jar"/> + <zipfileset prefix="lib" file="${broker.dist}/amqpd.jar"/> + <zipfileset prefix="lib" file="${broker.dist}/amqp-common.jar"/> + </zip> + + <tar destfile="${broker.dist}/broker.tar.gz" compression="gzip"> + <tarfileset dir="bin" includes="*.sh,*.bat"/> + <tarfileset file="${broker.dist}/broker-launch.jar" /> + <tarfileset prefix="etc" dir="etc" includes="*"/> + <tarfileset prefix="lib" file="${broker.lib}/bdb/je-3.0.35.jar"/> + <tarfileset prefix="lib" file="${common.lib}/slf4j/slf4j-simple.jar"/> + <tarfileset prefix="lib" file="${common.lib}/logging-log4j/log4j-1.2.13.jar"/> + <tarfileset prefix="lib" file="${common.lib}/mina/mina-core-0.9.5-SNAPSHOT.jar"/> + <tarfileset prefix="lib" file="${common.lib}/mina/mina-filter-ssl-0.9.5-SNAPSHOT.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-cli/commons-cli-1.0.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-configuration/commons-configuration-1.2.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-collections/commons-collections-3.1.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-logging/commons-logging-api.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-logging/commons-logging.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-lang/commons-lang-2.1.jar"/> + <tarfileset prefix="lib" file="${broker.dist}/amqpd.jar"/> + <tarfileset prefix="lib" file="${broker.dist}/amqp-common.jar"/> + </tar> + </target> + + <!-- @TODO finish this target MM !! --> + <target name="damit"> + + <property name="tarFileName" value="ams_amq.tar"/> + <delete failonerror="false" file="${tarFileName}"/> + <delete includeEmptyDirs="true" failonerror="false"> + <fileset dir="${dam.dist}"/> + </delete> + <mkdir dir="${dam.dist}"/> + <copy todir="${dam.dist}"> + <fileset dir="${basedir}/damPackage"> + <exclude name="config/gps_domain/applications/gps.ear"/> + </fileset> + </copy> + <!-- Remove CR and EOF characters from shell scripts within the DAM package --> + <fixcrlf srcdir="${dam.dist}" eol="lf" eof="remove"> + <include name="**/*.sh"/> + <include name="**/*.startup"/> + </fixcrlf> + + <tar tarfile="${tarFileName}"> + <!-- add everything _except_ shell scripts: rw_r__r__ --> + <tarfileset dir="${dam.dist}" mode="644"> + <exclude name="**/*.sh"/> + <exclude name="**/*.startup"/> + </tarfileset> + <!-- add all shell scripts as executable: rwxr_xr_x --> + <tarfileset dir="${dam.dist}" mode="755"> + <include name="**/*.sh"/> + <include name="**/*.startup"/> + </tarfileset> + </tar> + + </target> + + <target name="javadoc" depends="compile, compiletests" description="Generate javadoc for all broker classes"> + <mkdir dir="${broker.dist}/docs/api"/> + <javadoc sourcepath="${broker.src}" destdir="${broker.dist}/docs/api" + packagenames="org.apache.qpid.*" classpathref="amqp.classpath" author="true" + version="true" windowTitle="AMQPd (Project Qpid) API" doctitle="AMQP Broker API" + footer="See <a href="http://www.amqp.org">www.amqp.org</a> for more information." + use="true" verbose="false"/> + </target> + + <target name="RunBroker" depends="compile" description="Run broker"> + <java classpathref="amqp.classpath" fork="yes" classname="org.apache.qpid.server.Main"> + <sysproperty key="amqj.logging.level" value="INFO"/> + <jvmarg value="-server"/> + </java> + </target> + + <target name="profile" depends="compile" description="Run broker in Netbeans profiler"> + <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath refid="amqp.classpath"/> + </nbprofiledirect> + + <java classpathref="amqp.classpath" fork="yes" classname="org.apache.qpid.server.Main" + dir="${profiler.session.working.dir}" + jvm="${profiler.info.jvm}"> + <sysproperty key="amqj.logging.level" value="INFO"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <jvmarg value="-server"/> + <jvmarg value="-Xmx512m"/> + <env key="Path" path="${profiler.info.agentpath}:${env.Path}"/> + </java> + </target> + + <target name="profile-single" depends="compile" description="Profile File"> + <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail> + <nbprofile classname="${profile.class}"> + <classpath refid="amqp.classpath"/> + </nbprofile> + </target> +</project> diff --git a/java/broker/etc/config.xml b/java/broker/etc/config.xml new file mode 100644 index 0000000000..531054dd86 --- /dev/null +++ b/java/broker/etc/config.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<broker> + <prefix>${QPID_HOME}</prefix> + <work>${prefix}/work</work> + <conf>${prefix}/etc</conf> + <connector> + <ssl>false</ssl> + <nonssl>true</nonssl> + <transport>nio</transport> + <port>5672</port> + <sslport>8672</sslport> + <socketReceiveBuffer>32768</socketReceiveBuffer> + <socketSendBuffer>32768</socketSendBuffer> + </connector> + <management> + <enabled>true</enabled> + </management> + <advanced> + <filterchain enableExecutorPool="true"/> + <enablePooledAllocator>false</enablePooledAllocator> + <enableDirectBuffers>false</enableDirectBuffers> + <framesize>65535</framesize> + </advanced> + <security> + <principal-databases> + <principal-database> + <name>passwordfile</name> + <class>org.apache.qpid.server.security.auth.PasswordFilePrincipalDatabase</class> + <attributes> + <attribute> + <name>passwordFile</name> + <value>${conf}/passwd</value> + </attribute> + </attributes> + </principal-database> + </principal-databases> + <sasl> + <mechanisms> + <mechanism> + <initialiser> + <class>org.apache.qpid.server.security.auth.CRAMMD5Initialiser</class> + <principal-database>passwordfile</principal-database> + </initialiser> + </mechanism> + <mechanism> + <initialiser> + <class>org.apache.qpid.server.security.auth.amqplain.AmqPlainInitialiser</class> + <principal-database>passwordfile</principal-database> + </initialiser> + </mechanism>--> + <mechanism> + <initialiser> + <class>org.apache.qpid.server.security.auth.plain.PlainInitialiser</class> + <principal-database>passwordfile</principal-database> + </initialiser> + </mechanism> + </mechanisms> + </sasl> + </security> + <heartbeat> + <delay>0</delay> + <timeoutFactor>2.0</timeoutFactor> + </heartbeat> + <queue> + <auto_register>true</auto_register> + </queue> + <store> + <!--<class>org.apache.qpid.server.store.MemoryMessageStore</class>--> + <class>org.apache.qpid.server.store.berkeleydb.BDBMessageStore</class> + <environment-path>${work}/bdb</environment-path> + </store> + <virtualhosts>${conf}/virtualhosts.xml</virtualhosts> +</broker> diff --git a/java/broker/etc/log4j.xml b/java/broker/etc/log4j.xml new file mode 100644 index 0000000000..a4a154cca7 --- /dev/null +++ b/java/broker/etc/log4j.xml @@ -0,0 +1,46 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + <appender name="FileAppender" class="org.apache.log4j.FileAppender"> + <param name="File" value="${QPID_HOME}/log/qpid.log"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/> + </layout> + </appender> + + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + <!--<category name="org.apache.qpid.server.store"> + <priority value="debug"/> + </category>--> + + <root> + <priority value="info"/> + <appender-ref ref="STDOUT"/> + <appender-ref ref="FileAppender"/> + </root> +</log4j:configuration> diff --git a/java/broker/etc/passwd b/java/broker/etc/passwd new file mode 100644 index 0000000000..9e06cab884 --- /dev/null +++ b/java/broker/etc/passwd @@ -0,0 +1 @@ +guest:guest diff --git a/java/broker/etc/qpid-server.conf b/java/broker/etc/qpid-server.conf new file mode 100644 index 0000000000..494dae6534 --- /dev/null +++ b/java/broker/etc/qpid-server.conf @@ -0,0 +1,22 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +QPID_LIBS=$QPID_HOME/lib/broker-launch.jar:$QPID_HOME/lib/bdbstore-launch.jar + +export JAVA=java \ + JAVA_VM=-server \ + JAVA_MEM=-Xmx1024m \ + CLASSPATH=$QPID_LIBS diff --git a/java/broker/etc/virtualhosts.xml b/java/broker/etc/virtualhosts.xml new file mode 100644 index 0000000000..1f4f5e4d6b --- /dev/null +++ b/java/broker/etc/virtualhosts.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<virtualhosts> + <virtualhost> + <path>/development</path> + <bind>direct://amq.direct//queue</bind> + <bind>direct://amq.direct//ping</bind> + </virtualhost> +</virtualhosts> diff --git a/java/broker/src/log4j.properties b/java/broker/src/log4j.properties new file mode 100644 index 0000000000..3ff6f0b581 --- /dev/null +++ b/java/broker/src/log4j.properties @@ -0,0 +1,6 @@ +log4j.rootCategory=${amqj.logging.level}, console + +log4j.appender.console=org.apache.log4j.ConsoleAppender +log4j.appender.console.Threshold=info +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern=%t %d %p [%c{4}] %m%n diff --git a/java/broker/src/org/apache/qpid/server/AMQChannel.java b/java/broker/src/org/apache/qpid/server/AMQChannel.java new file mode 100644 index 0000000000..8dc4626c46 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/AMQChannel.java @@ -0,0 +1,702 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.server.exchange.MessageRouter; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.txn.TxnBuffer; +import org.apache.qpid.server.txn.TxnOp; +import org.apache.qpid.server.management.Managable; +import org.apache.qpid.server.management.ManagedObject; +import org.apache.qpid.server.management.DefaultManagedObject; + +import javax.management.ObjectName; +import javax.management.MalformedObjectNameException; +import javax.management.JMException; +import javax.management.MBeanException; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.Map; +import java.util.TreeMap; +import java.util.concurrent.atomic.AtomicBoolean; + +public class AMQChannel implements Managable +{ + public static final int DEFAULT_PREFETCH = 5000; + + private static final Logger _log = Logger.getLogger(AMQChannel.class); + + private final int _channelId; + + private final String _channelName; + + private boolean _transactional; + + private long _prefetchCount; + + /** + * The delivery tag is unique per channel. This is pre-incremented before putting into the deliver frame so that + * value of this represents the <b>last</b> tag sent out + */ + private long _deliveryTag; + + /** + * A channel has a default queue (the last declared) that is used when no queue name is + * explictily set + */ + private AMQQueue _defaultQueue; + + /** + * This tag is unique per subscription to a queue. The server returns this in response to a + * basic.consume request. + */ + private int _consumerTag = 0; + + /** + * The current message - which may be partial in the sense that not all frames have been received yet - + * which has been received by this channel. As the frames are received the message gets updated and once all + * frames have been received the message can then be routed. + */ + private AMQMessage _currentMessage; + + /** + * Maps from consumer tag to queue instance. Allows us to unsubscribe from a queue. + */ + private final Map<String, AMQQueue> _consumerTag2QueueMap = new TreeMap<String, AMQQueue>(); + + private final MessageStore _messageStore; + + private final Object _unacknowledgedMessageMapLock = new Object(); + + private Map<Long, UnacknowledgedMessage> _unacknowledgedMessageMap = new LinkedHashMap<Long, UnacknowledgedMessage>(DEFAULT_PREFETCH); + + private final AtomicBoolean _suspended = new AtomicBoolean(false); + + private final MessageRouter _exchanges; + + private final TxnBuffer _txnBuffer; + + private final AMQChannelMBean _managedObject; + + public ManagedObject getManagedObject() + { + return _managedObject; + } + + /** + * MBean interface for the implementation AMQChannelMBean + */ + public interface AMQChannelMBeanMBean extends ManagedChannel + { + + } + + /** + * AMQChannelMBean. It implements the management interface exposed for + * monitoring and managing the channel. + */ + public final class AMQChannelMBean extends DefaultManagedObject implements AMQChannelMBeanMBean + { + public AMQChannelMBean() + { + super(ManagedChannel.class, ManagedChannel.TYPE); + } + + public String getObjectInstanceName() + { + return _channelName; + } + + public boolean isTransactional() + { + return _transactional; + } + + public int getUnacknowledgedMessageCount() + { + return _unacknowledgedMessageMap.size(); + } + + public void commitTransactions() throws JMException + { + try + { + if (_transactional) + { + _txnBuffer.commit(); + } + } + catch(AMQException ex) + { + throw new MBeanException(ex, ex.toString()); + } + } + + public void rollbackTransactions() throws JMException + { + if (_transactional) + { + synchronized (_txnBuffer) + { + try + { + _txnBuffer.rollback(); + } + catch(AMQException ex) + { + throw new MBeanException(ex, ex.toString()); + } + } + } + } + + } // End of MBean class + + + public static class UnacknowledgedMessage + { + public final AMQMessage message; + public final String consumerTag; + public AMQQueue queue; + + public UnacknowledgedMessage(AMQQueue queue, AMQMessage message, String consumerTag) + { + this.queue = queue; + this.message = message; + this.consumerTag = consumerTag; + } + + private void discard() throws AMQException + { + if (queue != null) + { + message.dequeue(queue); + } + message.decrementReference(); + } + } + + public AMQChannel(int channelId, MessageStore messageStore, MessageRouter exchanges) + throws AMQException + { + _channelId = channelId; + _channelName = _channelId + "-" + this.hashCode(); + _prefetchCount = DEFAULT_PREFETCH; + _messageStore = messageStore; + _exchanges = exchanges; + _txnBuffer = new TxnBuffer(_messageStore); + + _managedObject = new AMQChannelMBean(); + _managedObject.register(); + } + + public int getChannelId() + { + return _channelId; + } + + public boolean isTransactional() + { + return _transactional; + } + + public void setTransactional(boolean transactional) + { + _transactional = transactional; + } + + public long getPrefetchCount() + { + return _prefetchCount; + } + + public void setPrefetchCount(long prefetchCount) + { + _prefetchCount = prefetchCount; + } + + public void setPublishFrame(BasicPublishBody publishBody, AMQProtocolSession publisher) throws AMQException + { + _currentMessage = new AMQMessage(_messageStore, publishBody); + _currentMessage.setPublisher(publisher); + } + + public void publishContentHeader(ContentHeaderBody contentHeaderBody) + throws AMQException + { + if (_currentMessage == null) + { + throw new AMQException("Received content header without previously receiving a BasicDeliver frame"); + } + else + { + _currentMessage.setContentHeaderBody(contentHeaderBody); + // check and route if header says body length is zero + if (contentHeaderBody.bodySize == 0) + { + routeCurrentMessage(); + } + } + } + + public void publishContentBody(ContentBody contentBody) + throws AMQException + { + if (_currentMessage == null) + { + throw new AMQException("Received content body without previously receiving a JmsPublishBody"); + } + if (_currentMessage.getContentHeaderBody() == null) + { + throw new AMQException("Received content body without previously receiving a content header"); + } + + _currentMessage.addContentBodyFrame(contentBody); + if (_currentMessage.isAllContentReceived()) + { + routeCurrentMessage(); + } + } + + protected void routeCurrentMessage() throws AMQException + { + if (_transactional) + { + //don't route this until commit + _txnBuffer.enlist(new Publish(_currentMessage)); + _currentMessage = null; + } + else + { + _exchanges.routeContent(_currentMessage); + _currentMessage.decrementReference(); + _currentMessage = null; + } + } + + public long getNextDeliveryTag() + { + return ++_deliveryTag; + } + + public int getNextConsumerTag() + { + return ++_consumerTag; + } + + /** + * Subscribe to a queue. We register all subscriptions in the channel so that + * if the channel is closed we can clean up all subscriptions, even if the + * client does not explicitly unsubscribe from all queues. + * + * @param tag the tag chosen by the client (if null, server will generate one) + * @param queue the queue to subscribe to + * @param session the protocol session of the subscriber + * @return the consumer tag. This is returned to the subscriber and used in + * subsequent unsubscribe requests + * @throws ConsumerTagNotUniqueException if the tag is not unique + * @throws AMQException if something goes wrong + */ + public String subscribeToQueue(String tag, AMQQueue queue, AMQProtocolSession session, boolean acks) throws AMQException, ConsumerTagNotUniqueException + { + if (tag == null) + { + tag = "sgen_" + getNextConsumerTag(); + } + if (_consumerTag2QueueMap.containsKey(tag)) + { + throw new ConsumerTagNotUniqueException(); + } + + queue.registerProtocolSession(session, _channelId, tag, acks); + _consumerTag2QueueMap.put(tag, queue); + return tag; + } + + + public void unsubscribeConsumer(AMQProtocolSession session, String consumerTag) throws AMQException + { + AMQQueue q = _consumerTag2QueueMap.remove(consumerTag); + if (q != null) + { + q.unregisterProtocolSession(session, _channelId, consumerTag); + } + else + { + throw new AMQException(_log, "Consumer tag " + consumerTag + " not known to channel " + + _channelId); + } + } + + /** + * Called from the protocol session to close this channel and clean up. + * + * @throws AMQException if there is an error during closure + */ + public void close(AMQProtocolSession session) throws AMQException + { + if (_transactional) + { + synchronized (_txnBuffer) + { + _txnBuffer.rollback();//releases messages + } + } + unsubscribeAllConsumers(session); + requeue(); + _managedObject.unregister(); + } + + private void unsubscribeAllConsumers(AMQProtocolSession session) throws AMQException + { + _log.info("Unsubscribing all consumers on channel " + toString()); + for (Map.Entry<String, AMQQueue> me : _consumerTag2QueueMap.entrySet()) + { + me.getValue().unregisterProtocolSession(session, _channelId, me.getKey()); + } + _consumerTag2QueueMap.clear(); + } + + /** + * Add a message to the channel-based list of unacknowledged messages + * + * @param message + * @param deliveryTag + * @param queue + */ + public void addUnacknowledgedMessage(AMQMessage message, long deliveryTag, String consumerTag, AMQQueue queue) + { + synchronized (_unacknowledgedMessageMapLock) + { + _unacknowledgedMessageMap.put(deliveryTag, new UnacknowledgedMessage(queue, message, consumerTag)); + checkSuspension(); + } + } + + /** + * Called to attempt re-enqueue all outstanding unacknowledged messages on the channel. + * May result in delivery to this same channel or to other subscribers. + */ + public void requeue() throws AMQException + { + // we must create a new map since all the messages will get a new delivery tag when they are redelivered + Map<Long, UnacknowledgedMessage> currentList; + synchronized (_unacknowledgedMessageMapLock) + { + currentList = _unacknowledgedMessageMap; + _unacknowledgedMessageMap = new LinkedHashMap<Long, UnacknowledgedMessage>(DEFAULT_PREFETCH); + } + + for (UnacknowledgedMessage unacked : currentList.values()) + { + if (unacked.queue != null) + { + unacked.queue.deliver(unacked.message); + } + } + } + + /** + * Called to resend all outstanding unacknowledged messages to this same channel. + */ + public void resend(AMQProtocolSession session) + { + //messages go to this channel + synchronized (_unacknowledgedMessageMapLock) + { + for (Map.Entry<Long, UnacknowledgedMessage> entry : _unacknowledgedMessageMap.entrySet()) + { + long deliveryTag = entry.getKey(); + String consumerTag = entry.getValue().consumerTag; + AMQMessage msg = entry.getValue().message; + + session.writeFrame(msg.getDataBlock(_channelId, consumerTag, deliveryTag)); + } + } + } + + /** + * Callback indicating that a queue has been deleted. We must update the structure of unacknowledged + * messages to remove the queue reference and also decrement any message reference counts, without + * actually removing the item sine we may get an ack for a delivery tag that was generated from the + * deleted queue. + * + * @param queue + */ + public void queueDeleted(AMQQueue queue) + { + synchronized (_unacknowledgedMessageMapLock) + { + for (Map.Entry<Long, UnacknowledgedMessage> unacked : _unacknowledgedMessageMap.entrySet()) + { + final UnacknowledgedMessage unackedMsg = unacked.getValue(); + // we can compare the reference safely in this case + if (unackedMsg.queue == queue) + { + unackedMsg.queue = null; + try + { + unackedMsg.message.decrementReference(); + } + catch (AMQException e) + { + _log.error("Error decrementing ref count on message " + unackedMsg.message.getMessageId() + ": " + + e, e); + } + } + } + } + } + + /** + * Acknowledge one or more messages. + * + * @param deliveryTag the last delivery tag + * @param multiple if true will acknowledge all messages up to an including the delivery tag. if false only + * acknowledges the single message specified by the delivery tag + * @throws AMQException if the delivery tag is unknown (e.g. not outstanding) on this channel + */ + public void acknowledgeMessage(long deliveryTag, boolean multiple) throws AMQException + { + if (_transactional) + { + //don't handle this until commit + _txnBuffer.enlist(new Ack(deliveryTag, multiple)); + } + else + { + handleAcknowledgement(deliveryTag, multiple); + } + } + + private void handleAcknowledgement(long deliveryTag, boolean multiple) throws AMQException + { + if (multiple) + { + LinkedList<UnacknowledgedMessage> acked = new LinkedList<UnacknowledgedMessage>(); + synchronized (_unacknowledgedMessageMapLock) + { + if (deliveryTag == 0) + { + //Spec 2.1.6.11 ... If the multiple field is 1, and the delivery tag is zero, tells the server to acknowledge all outstanding mesages. + _log.info("Multiple ack on delivery tag 0. ACKing all messages. Current count:" + _unacknowledgedMessageMap.size()); + acked = new LinkedList<UnacknowledgedMessage>(_unacknowledgedMessageMap.values()); + _unacknowledgedMessageMap.clear(); + } + else + { + if (!_unacknowledgedMessageMap.containsKey(deliveryTag)) + { + throw new AMQException("Multiple ack on delivery tag " + deliveryTag + " not known for channel"); + } + Iterator<Map.Entry<Long, UnacknowledgedMessage>> i = _unacknowledgedMessageMap.entrySet().iterator(); + while (i.hasNext()) + { + Map.Entry<Long, UnacknowledgedMessage> unacked = i.next(); + i.remove(); + acked.add(unacked.getValue()); + if (unacked.getKey() == deliveryTag) + { + break; + } + } + } + } + if (_log.isDebugEnabled()) + { + _log.debug("Received multiple ack for delivery tag " + deliveryTag + ". Removing " + + acked.size() + " items."); + } + + for (UnacknowledgedMessage msg : acked) + { + msg.discard(); + } + + } + else + { + UnacknowledgedMessage msg; + synchronized (_unacknowledgedMessageMapLock) + { + msg = _unacknowledgedMessageMap.remove(deliveryTag); + } + if (msg == null) + { + throw new AMQException("Single ack on delivery tag " + deliveryTag + " not known for channel:" + _channelId); + } + msg.discard(); + if (_log.isDebugEnabled()) + { + _log.debug("Received non-multiple ack for messaging with delivery tag " + deliveryTag); + } + } + + checkSuspension(); + } + + /** + * Used only for testing purposes. + * + * @return the map of unacknowledged messages + */ + public Map<Long, UnacknowledgedMessage> getUnacknowledgedMessageMap() + { + return _unacknowledgedMessageMap; + } + + private void checkSuspension() + { + boolean suspend; + //noinspection SynchronizeOnNonFinalField + synchronized (_unacknowledgedMessageMapLock) + { + suspend = _unacknowledgedMessageMap.size() >= _prefetchCount; + } + setSuspended(suspend); + } + + public void setSuspended(boolean suspended) + { + boolean wasSuspended = _suspended.getAndSet(suspended); + if (wasSuspended != suspended) + { + if (wasSuspended) + { + _log.info("Unsuspending channel " + this); + //may need to deliver queued messages + for (AMQQueue q : _consumerTag2QueueMap.values()) + { + q.deliverAsync(); + } + } + else + { + _log.info("Suspending channel " + this); + } + } + } + + public boolean isSuspended() + { + return _suspended.get(); + } + + public void commit() throws AMQException + { + _txnBuffer.commit(); + } + + public void rollback() throws AMQException + { + //need to protect rollback and close from each other... + synchronized (_txnBuffer) + { + _txnBuffer.rollback(); + } + } + + public String toString() + { + StringBuilder sb = new StringBuilder(30); + sb.append("Channel: id ").append(_channelId).append(", transaction mode: ").append(_transactional); + sb.append(", prefetch count: ").append(_prefetchCount); + return sb.toString(); + } + + public ObjectName getObjectName() + throws MalformedObjectNameException + { + StringBuilder sb = new StringBuilder(30); + sb.append("Channel:id=").append(_channelId); + sb.append(",transaction mode=").append(_transactional); + return new ObjectName(sb.toString()); + } + + public void setDefaultQueue(AMQQueue queue) + { + _defaultQueue = queue; + } + + public AMQQueue getDefaultQueue() + { + return _defaultQueue; + } + + private class Ack implements TxnOp + { + private final long _msgId; + private final boolean _multi; + + Ack(long msgId, boolean multi) + { + _msgId = msgId; + _multi = multi; + } + + public void commit() throws AMQException + { + handleAcknowledgement(_msgId, _multi); + } + + public void rollback() + { + } + } + + //TODO: + //implement a scheme whereby messages can be stored on disk + //until commit, then reloaded... + private class Publish implements TxnOp + { + private final AMQMessage _msg; + + Publish(AMQMessage msg) + { + _msg = msg; + } + + public void commit() throws AMQException + { + _exchanges.routeContent(_msg); + _msg.decrementReference(); + } + + public void rollback() + { + try + { + _msg.decrementReference(); + } + catch (AMQException e) + { + _log.error("Error rolling back a publish request: " + e, e); + } + } + } + +} diff --git a/java/broker/src/org/apache/qpid/server/ConsumerTagNotUniqueException.java b/java/broker/src/org/apache/qpid/server/ConsumerTagNotUniqueException.java new file mode 100644 index 0000000000..6a7e54bc45 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/ConsumerTagNotUniqueException.java @@ -0,0 +1,22 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server; + +public class ConsumerTagNotUniqueException extends Exception +{ +} diff --git a/java/broker/src/org/apache/qpid/server/Main.java b/java/broker/src/org/apache/qpid/server/Main.java new file mode 100644 index 0000000000..dee6f76334 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/Main.java @@ -0,0 +1,612 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server; + +import org.apache.qpid.framing.ProtocolVersionList; +import org.apache.qpid.pool.ReadWriteThreadModel; +import org.apache.qpid.server.protocol.AMQPFastProtocolHandler; +import org.apache.qpid.server.protocol.AMQPProtocolProvider; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry; +import org.apache.qpid.server.registry.IApplicationRegistry; +import org.apache.qpid.server.transport.ConnectorConfiguration; +import org.apache.qpid.server.configuration.VirtualHostConfiguration; +import org.apache.qpid.server.management.DefaultManagedObject; +import org.apache.qpid.server.management.ManagedBroker; +import org.apache.qpid.server.management.ManagedObject; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.exchange.ExchangeFactory; +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.commons.cli.*; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Logger; +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoAcceptor; +import org.apache.mina.common.SimpleByteBufferAllocator; +import org.apache.mina.transport.socket.nio.SocketAcceptorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; + +import javax.management.ObjectName; +import javax.management.MalformedObjectNameException; +import javax.management.JMException; +import javax.management.MBeanException; +import java.io.File; +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.util.StringTokenizer; +import java.util.Collection; +import java.util.List; + +/** + * Main entry point for AMQPD. + * + */ +public class Main implements ProtocolVersionList +{ + private static final Logger _logger = Logger.getLogger(Main.class); + + private static final String DEFAULT_CONFIG_FILE = "etc/config.xml"; + + private static final String DEFAULT_LOG_CONFIG_FILENAME = "log4j.xml"; + + protected static class InitException extends Exception + { + InitException(String msg) + { + super(msg); + } + } + + protected final Options options = new Options(); + protected CommandLine commandLine; + + protected Main(String[] args) + { + setOptions(options); + if (parseCommandline(args)) + { + execute(); + } + } + + protected boolean parseCommandline(String[] args) + { + try + { + commandLine = new PosixParser().parse(options, args); + return true; + } + catch (ParseException e) + { + System.err.println("Error: " + e.getMessage()); + HelpFormatter formatter = new HelpFormatter(); + formatter.printHelp("Qpid", options, true); + return false; + } + } + + protected void setOptions(Options options) + { + Option help = new Option("h", "help", false, "print this message"); + Option version = new Option("v", "version", false, "print the version information and exit"); + Option configFile = OptionBuilder.withArgName("file").hasArg().withDescription("use given configuration file"). + withLongOpt("config").create("c"); + Option port = OptionBuilder.withArgName("port").hasArg().withDescription("listen on the specified port. Overrides any value in the config file"). + withLongOpt("port").create("p"); + Option bind = OptionBuilder.withArgName("bind").hasArg().withDescription("bind to the specified address. Overrides any value in the config file"). + withLongOpt("bind").create("b"); + Option logconfig = OptionBuilder.withArgName("logconfig").hasArg().withDescription("use the specified log4j xml configuration file. By " + + "default looks for a file named " + DEFAULT_LOG_CONFIG_FILENAME + " in the same directory as the configuration file"). + withLongOpt("logconfig").create("l"); + Option logwatchconfig = OptionBuilder.withArgName("logwatch").hasArg().withDescription("monitor the log file configuration file for changes. Units are seconds. " + + "Zero means do not check for changes.").withLongOpt("logwatch").create("w"); + + options.addOption(help); + options.addOption(version); + options.addOption(configFile); + options.addOption(logconfig); + options.addOption(logwatchconfig); + options.addOption(port); + options.addOption(bind); + } + + protected void execute() + { + // note this understands either --help or -h. If an option only has a long name you can use that but if + // an option has a short name and a long name you must use the short name here. + if (commandLine.hasOption("h")) + { + HelpFormatter formatter = new HelpFormatter(); + formatter.printHelp("Qpid", options, true); + } + else if (commandLine.hasOption("v")) + { + String ver = "Qpid 0.9.0.0"; + String protocol = "AMQP version(s) [major.minor]: "; + for (int i=0; i<pv.length; i++) + { + if (i > 0) + protocol += ", "; + protocol += pv[i][PROTOCOL_MAJOR] + "." + pv[i][PROTOCOL_MINOR]; + } + System.out.println(ver + " (" + protocol + ")"); + } + else + { + try + { + startup(); + } + catch (InitException e) + { + System.out.println(e.getMessage()); + } + catch (ConfigurationException e) + { + System.out.println("Error configuring message broker: " + e); + e.printStackTrace(); + } + catch (Exception e) + { + System.out.println("Error intialising message broker: " + e); + e.printStackTrace(); + } + } + } + + + protected void startup() throws InitException, ConfigurationException, Exception + { + final String QpidHome = System.getProperty("QPID_HOME"); + final File defaultConfigFile = new File(QpidHome, DEFAULT_CONFIG_FILE); + final File configFile = new File(commandLine.getOptionValue("c", defaultConfigFile.getPath())); + if (!configFile.exists()) + { + String error = "File " + configFile + " could not be found. Check the file exists and is readable."; + + if (QpidHome == null) + { + error = error + "\nNote: Qpid_HOME is not set."; + } + + throw new InitException(error); + } + else + { + System.out.println("Using configuration file " + configFile.getAbsolutePath()); + } + + String logConfig = commandLine.getOptionValue("l"); + String logWatchConfig = commandLine.getOptionValue("w", "0"); + if (logConfig != null) + { + File logConfigFile = new File(logConfig); + configureLogging(logConfigFile, logWatchConfig); + } + else + { + File configFileDirectory = configFile.getParentFile(); + File logConfigFile = new File(configFileDirectory, DEFAULT_LOG_CONFIG_FILENAME); + configureLogging(logConfigFile, logWatchConfig); + } + + ApplicationRegistry.initialise(new ConfigurationFileApplicationRegistry(configFile)); + + _logger.info("Starting Qpid.AMQP broker"); + + ConnectorConfiguration connectorConfig = ApplicationRegistry.getInstance(). + getConfiguredObject(ConnectorConfiguration.class); + + ByteBuffer.setUseDirectBuffers(connectorConfig.enableDirectBuffers); + + // the MINA default is currently to use the pooled allocator although this may change in future + // once more testing of the performance of the simple allocator has been done + if (!connectorConfig.enablePooledAllocator) + { + ByteBuffer.setAllocator(new SimpleByteBufferAllocator()); + } + + int port = connectorConfig.port; + + String portStr = commandLine.getOptionValue("p"); + if (portStr != null) + { + try + { + port = Integer.parseInt(portStr); + } + catch (NumberFormatException e) + { + throw new InitException("Invalid port: " + portStr); + } + } + + String VIRTUAL_HOSTS = "virtualhosts"; + + Object virtualHosts = ApplicationRegistry.getInstance().getConfiguration().getProperty(VIRTUAL_HOSTS); + + if (virtualHosts != null) + { + if (virtualHosts instanceof Collection) + { + int totalVHosts = ((Collection) virtualHosts).size(); + for (int vhost = 0; vhost < totalVHosts; vhost++) + { + setupVirtualHosts(configFile.getParent() , (String)((List)virtualHosts).get(vhost)); + } + } + else + { + setupVirtualHosts(configFile.getParent() , (String)virtualHosts); + } + } + bind(port, connectorConfig); + + createAndRegisterBrokerMBean(); + } + + protected void setupVirtualHosts(String configFileParent, String configFilePath) throws ConfigurationException, AMQException, URLSyntaxException + { + String configVar = "${conf}"; + + if (configFilePath.startsWith(configVar)) + { + configFilePath = configFileParent + configFilePath.substring(configVar.length()); + } + + if (configFilePath.indexOf(".xml") != -1 ) + { + VirtualHostConfiguration vHostConfig = new VirtualHostConfiguration(configFilePath); + vHostConfig.performBindings(); + } + else + { + // the virtualhosts value is a path. Search it for XML files. + + File virtualHostDir = new File(configFilePath); + + String[] fileNames = virtualHostDir.list(); + + for (int each=0; each < fileNames.length; each++) + { + if (fileNames[each].endsWith(".xml")) + { + VirtualHostConfiguration vHostConfig = new VirtualHostConfiguration(configFilePath+"/"+fileNames[each]); + vHostConfig.performBindings(); + } + } + } + } + + protected void bind(int port, ConnectorConfiguration connectorConfig) + { + String bindAddr = commandLine.getOptionValue("b"); + if (bindAddr == null) + { + bindAddr = connectorConfig.bindAddress; + } + + try + { + //IoAcceptor acceptor = new SocketAcceptor(connectorConfig.processors); + IoAcceptor acceptor = connectorConfig.createAcceptor(); + SocketAcceptorConfig sconfig = (SocketAcceptorConfig) acceptor.getDefaultConfig(); + SocketSessionConfig sc = (SocketSessionConfig) sconfig.getSessionConfig(); + + sc.setReceiveBufferSize(connectorConfig.socketReceiveBufferSize); + sc.setSendBufferSize(connectorConfig.socketWriteBuferSize); + sc.setTcpNoDelay(connectorConfig.tcpNoDelay); + + // if we do not use the executor pool threading model we get the default leader follower + // implementation provided by MINA + if (connectorConfig.enableExecutorPool) + { + sconfig.setThreadModel(new ReadWriteThreadModel()); + } + + if (connectorConfig.enableNonSSL) + { + AMQPFastProtocolHandler handler = new AMQPProtocolProvider().getHandler(); + InetSocketAddress bindAddress; + if (bindAddr.equals("wildcard")) + { + bindAddress = new InetSocketAddress(port); + } + else + { + bindAddress = new InetSocketAddress(InetAddress.getByAddress(parseIP(bindAddr)), port); + } + acceptor.bind(bindAddress, handler, sconfig); + _logger.info("Qpid.AMQP listening on non-SSL address " + bindAddress); + } + + if (connectorConfig.enableSSL) + { + AMQPFastProtocolHandler handler = new AMQPProtocolProvider().getHandler(); + handler.setUseSSL(true); + try + { + acceptor.bind(new InetSocketAddress(connectorConfig.sslPort), + handler, sconfig); + _logger.info("Qpid.AMQP listening on SSL port " + connectorConfig.sslPort); + } + catch (IOException e) + { + _logger.error("Unable to listen on SSL port: " + e, e); + } + } + } + catch (Exception e) + { + _logger.error("Unable to bind service to registry: " + e, e); + } + } + + public static void main(String[] args) + { + + new Main(args); + } + + private byte[] parseIP(String address) throws Exception + { + StringTokenizer tokenizer = new StringTokenizer(address, "."); + byte[] ip = new byte[4]; + int index = 0; + while (tokenizer.hasMoreTokens()) + { + String token = tokenizer.nextToken(); + try + { + ip[index++] = Byte.parseByte(token); + } + catch (NumberFormatException e) + { + throw new Exception("Error parsing IP address: " + address, e); + } + } + if (index != 4) + { + throw new Exception("Invalid IP address: " + address); + } + return ip; + } + + private void configureLogging(File logConfigFile, String logWatchConfig) + { + int logWatchTime = 0; + try + { + logWatchTime = Integer.parseInt(logWatchConfig); + } + catch (NumberFormatException e) + { + System.err.println("Log watch configuration value of " + logWatchConfig + " is invalid. Must be " + + "a non-negative integer. Using default of zero (no watching configured"); + } + if (logConfigFile.exists() && logConfigFile.canRead()) + { + System.out.println("Configuring logger using configuration file " + logConfigFile.getAbsolutePath()); + if (logWatchTime > 0) + { + System.out.println("log file " + logConfigFile.getAbsolutePath() + " will be checked for changes every " + + logWatchTime + " seconds"); + // log4j expects the watch interval in milliseconds + DOMConfigurator.configureAndWatch(logConfigFile.getAbsolutePath(), logWatchTime * 1000); + } + else + { + DOMConfigurator.configure(logConfigFile.getAbsolutePath()); + } + } + else + { + System.err.println("Logging configuration error: unable to read file " + logConfigFile.getAbsolutePath()); + System.err.println("Using basic log4j configuration"); + BasicConfigurator.configure(); + } + } + + private void createAndRegisterBrokerMBean() + throws AMQException + { + new AMQBrokerManager().register(); + } + + /** + * MBean interface for the implementation AMQBrokerManager. + */ + public interface AMQBrokerManagerMBean extends ManagedBroker + { + + } + /** + * AMQPBrokerMBean implements the broker management interface and exposes the + * Broker level management features like creating and deleting exchanges and queue. + */ + private final class AMQBrokerManager extends DefaultManagedObject + implements AMQBrokerManagerMBean + { + private final QueueRegistry _queueRegistry; + private final ExchangeRegistry _exchangeRegistry; + private final ExchangeFactory _exchangeFactory; + private final MessageStore _messageStore; + + protected AMQBrokerManager() + { + super(ManagedBroker.class, ManagedBroker.TYPE); + + IApplicationRegistry appRegistry = ApplicationRegistry.getInstance(); + _queueRegistry = appRegistry.getQueueRegistry(); + _exchangeRegistry = appRegistry.getExchangeRegistry(); + _exchangeFactory = ApplicationRegistry.getInstance().getExchangeFactory(); + _messageStore = ApplicationRegistry.getInstance().getMessageStore(); + } + + public String getObjectInstanceName() + { + return this.getClass().getName(); + } + + /** + * Creates new exchange and registers it with the registry. + * @param exchangeName + * @param type + * @param durable + * @param autoDelete + * @throws JMException + */ + public void createNewExchange(String exchangeName, + String type, + boolean durable, + boolean autoDelete) + throws JMException + { + try + { + synchronized(_exchangeRegistry) + { + Exchange exchange = _exchangeRegistry.getExchange(exchangeName); + + if (exchange == null) + { + exchange = _exchangeFactory.createExchange(exchangeName, + type, //eg direct + durable, + autoDelete, + 0); //ticket no + _exchangeRegistry.registerExchange(exchange); + } + else + { + throw new JMException("The exchange \"" + exchangeName + "\" already exists."); + } + } + } + catch(AMQException ex) + { + _logger.error("Error in creating exchange " + exchangeName, ex); + throw new MBeanException(ex, ex.toString()); + } + } + + /** + * Unregisters the exchange from registry. + * @param exchangeName + * @throws JMException + */ + public void unregisterExchange(String exchangeName) + throws JMException + { + boolean inUse = false; + // TODO + // Check if the exchange is in use. + // Check if there are queue-bindings with the exchnage and unregister + // when there are no bindings. + try + { + _exchangeRegistry.unregisterExchange(exchangeName, false); + } + catch(AMQException ex) + { + _logger.error("Error in unregistering exchange " + exchangeName, ex); + throw new MBeanException(ex, ex.toString()); + } + } + + /** + * Creates a new queue and registers it with the registry and puts it + * in persistance storage if durable queue. + * @param queueName + * @param durable + * @param owner + * @param autoDelete + * @throws JMException + */ + public void createQueue(String queueName, + boolean durable, + String owner, + boolean autoDelete) + throws JMException + { + AMQQueue queue = _queueRegistry.getQueue(queueName); + if (queue == null) + { + try + { + queue = new AMQQueue(queueName, durable, owner, autoDelete, _queueRegistry); + if (queue.isDurable() && !queue.isAutoDelete()) + { + _messageStore.createQueue(queue); + } + _queueRegistry.registerQueue(queue); + } + catch (AMQException ex) + { + _logger.error("Error in creating queue " + queueName, ex); + throw new MBeanException(ex, ex.toString()); + } + } + else + { + throw new JMException("The queue \"" + queueName + "\" already exists."); + } + } + + /** + * Deletes the queue from queue registry and persistant storage. + * @param queueName + * @throws JMException + */ + public void deleteQueue(String queueName) throws JMException + { + AMQQueue queue = _queueRegistry.getQueue(queueName); + if (queue == null) + { + throw new JMException("The Queue " + queueName + " is not a registerd queue."); + } + + try + { + queue.delete(); + _messageStore.removeQueue(queueName); + + } + catch (AMQException ex) + { + throw new MBeanException(ex, ex.toString()); + } + } + + public ObjectName getObjectName() throws MalformedObjectNameException + { + StringBuffer objectName = new StringBuffer(ManagedObject.DOMAIN); + objectName.append(":type=").append(getType()); + + return new ObjectName(objectName.toString()); + } + } // End of MBean class +} diff --git a/java/broker/src/org/apache/qpid/server/ManagedChannel.java b/java/broker/src/org/apache/qpid/server/ManagedChannel.java new file mode 100644 index 0000000000..815dfdcfbd --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/ManagedChannel.java @@ -0,0 +1,64 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.qpid.server; + +import javax.management.JMException; +import java.io.IOException; + +/** + * The managed interface exposed to allow management of channels. + * @author Bhupendra Bhardwaj + * @version 0.1 + */ +public interface ManagedChannel +{ + static final String TYPE = "Channel"; + + /** + * Tells whether the channel is transactional. + * @return true if the channel is transactional. + * @throws IOException + */ + boolean isTransactional() throws IOException; + + /** + * Tells the number of unacknowledged messages in this channel. + * @return number of unacknowledged messages. + * @throws IOException + */ + int getUnacknowledgedMessageCount() throws IOException; + + + //********** Operations *****************// + + /** + * Commits the transactions if the channel is transactional. + * @throws IOException + * @throws JMException + */ + void commitTransactions() throws IOException, JMException; + + /** + * Rollsback the transactions if the channel is transactional. + * @throws IOException + * @throws JMException + */ + void rollbackTransactions() throws IOException, JMException; + +} diff --git a/java/broker/src/org/apache/qpid/server/RequiredDeliveryException.java b/java/broker/src/org/apache/qpid/server/RequiredDeliveryException.java new file mode 100644 index 0000000000..6c4fb6b730 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/RequiredDeliveryException.java @@ -0,0 +1,109 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server; + +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.CompositeAMQDataBlock; +import org.apache.qpid.framing.BasicReturnBody; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.AMQException; +import org.apache.qpid.server.queue.AMQMessage; + +import java.util.List; + +/** + * Signals that a required delivery could not be made. This could be bacuse of + * the immediate flag being set and the queue having no consumers, or the mandatory + * flag being set and the exchange having no valid bindings. + */ +public abstract class RequiredDeliveryException extends AMQException +{ + private final String _message; + private final BasicPublishBody _publishBody; + private final ContentHeaderBody _contentHeaderBody; + private final List<ContentBody> _contentBodies; + + public RequiredDeliveryException(String message, AMQMessage payload) + { + super(message); + _message = message; + _publishBody = payload.getPublishBody(); + _contentHeaderBody = payload.getContentHeaderBody(); + _contentBodies = payload.getContentBodies(); + } + + public RequiredDeliveryException(String message, + BasicPublishBody publishBody, + ContentHeaderBody contentHeaderBody, + List<ContentBody> contentBodies) + { + super(message); + _message = message; + _publishBody = publishBody; + _contentHeaderBody = contentHeaderBody; + _contentBodies = contentBodies; + } + + public BasicPublishBody getPublishBody() + { + return _publishBody; + } + + public ContentHeaderBody getContentHeaderBody() + { + return _contentHeaderBody; + } + + public List<ContentBody> getContentBodies() + { + return _contentBodies; + } + + public CompositeAMQDataBlock getReturnMessage(int channel) + { + BasicReturnBody returnBody = new BasicReturnBody(); + returnBody.exchange = _publishBody.exchange; + returnBody.replyCode = getReplyCode(); + returnBody.replyText = _message; + returnBody.routingKey = _publishBody.routingKey; + + AMQFrame[] allFrames = new AMQFrame[2 + _contentBodies.size()]; + + AMQFrame returnFrame = new AMQFrame(); + returnFrame.bodyFrame = returnBody; + returnFrame.channel = channel; + + allFrames[0] = returnFrame; + allFrames[1] = ContentHeaderBody.createAMQFrame(channel, _contentHeaderBody); + for (int i = 2; i < allFrames.length; i++) + { + allFrames[i] = ContentBody.createAMQFrame(channel, _contentBodies.get(i - 2)); + } + + return new CompositeAMQDataBlock(allFrames); + } + + public int getErrorCode() + { + return getReplyCode(); + } + + public abstract int getReplyCode(); +} diff --git a/java/broker/src/org/apache/qpid/server/configuration/Configurator.java b/java/broker/src/org/apache/qpid/server/configuration/Configurator.java new file mode 100644 index 0000000000..e02b958941 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/configuration/Configurator.java @@ -0,0 +1,102 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.configuration; + +import org.apache.commons.configuration.Configuration; +import org.apache.log4j.Logger; +import org.apache.qpid.configuration.Configured; +import org.apache.qpid.configuration.PropertyUtils; +import org.apache.qpid.configuration.PropertyException; +import org.apache.qpid.server.registry.ApplicationRegistry; + +import java.lang.reflect.Field; + +/** + * This class contains utilities for populating classes automatically from values pulled from configuration + * files. + */ +public class Configurator +{ + private static final Logger _logger = Logger.getLogger(Configurator.class); + + /** + * Configure a given instance using the application configuration. Note that superclasses are <b>not</b> + * currently configured but this could easily be added if required. + * @param instance the instance to configure + */ + public static void configure(Object instance) + { + final Configuration config = ApplicationRegistry.getInstance().getConfiguration(); + + for (Field f : instance.getClass().getDeclaredFields()) + { + Configured annotation = f.getAnnotation(Configured.class); + if (annotation != null) + { + setValueInField(f, instance, config, annotation); + } + } + } + + private static void setValueInField(Field f, Object instance, Configuration config, Configured annotation) + { + Class fieldClass = f.getType(); + String configPath = annotation.path(); + try + { + if (fieldClass == String.class) + { + String val = config.getString(configPath, annotation.defaultValue()); + val = PropertyUtils.replaceProperties(val); + f.set(instance, val); + } + else if (fieldClass == int.class) + { + int val = config.getInt(configPath, Integer.parseInt(annotation.defaultValue())); + f.setInt(instance, val); + } + else if (fieldClass == long.class) + { + long val = config.getLong(configPath, Long.parseLong(annotation.defaultValue())); + f.setLong(instance, val); + } + else if (fieldClass == double.class) + { + double val = config.getDouble(configPath, Double.parseDouble(annotation.defaultValue())); + f.setDouble(instance, val); + } + else if (fieldClass == boolean.class) + { + boolean val = config.getBoolean(configPath, Boolean.parseBoolean(annotation.defaultValue())); + f.setBoolean(instance, val); + } + else + { + _logger.error("Unsupported field type " + fieldClass + " for " + f + " IGNORING configured value"); + } + } + catch (PropertyException e) + { + _logger.error("Unable to expand property: " + e + " INGORING field " + f, e); + } + catch (IllegalAccessException e) + { + _logger.error("Unable to access field " + f + " IGNORING configured value"); + } + } +}
\ No newline at end of file diff --git a/java/broker/src/org/apache/qpid/server/configuration/VirtualHostConfiguration.java b/java/broker/src/org/apache/qpid/server/configuration/VirtualHostConfiguration.java new file mode 100644 index 0000000000..a7ad50917c --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/configuration/VirtualHostConfiguration.java @@ -0,0 +1,217 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.configuration; + +import org.apache.qpid.url.AMQBindingURL; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.XMLConfiguration; + + +import java.util.Collection; + +public class VirtualHostConfiguration +{ + private static final Logger _logger = Logger.getLogger(VirtualHostConfiguration.class); + + XMLConfiguration _config; + + private static final String XML_VIRTUALHOST = "virtualhost"; + private static final String XML_PATH = "path"; + private static final String XML_BIND = "bind"; + private static final String XML_VIRTUALHOST_PATH = "virtualhost.path"; + private static final String XML_VIRTUALHOST_BIND = "virtualhost.bind"; + + + public VirtualHostConfiguration(String configFile) throws ConfigurationException + { + _logger.info("Loading Config file:" + configFile); + + _config = new XMLConfiguration(configFile); + + if (_config.getProperty(XML_VIRTUALHOST_PATH) == null) + { + throw new ConfigurationException( + "Virtualhost Configuration document does not contain a valid virtualhost."); + } + } + + public void performBindings() throws AMQException, ConfigurationException, URLSyntaxException + { + Object prop = _config.getProperty(XML_VIRTUALHOST_PATH); + + if (prop instanceof Collection) + { + _logger.debug("Number of VirtualHosts: " + ((Collection) prop).size()); + + int virtualhosts = ((Collection) prop).size(); + for (int vhost = 0; vhost < virtualhosts; vhost++) + { + loadVirtualHost(vhost); + } + } + else + { + loadVirtualHost(-1); + } + } + + private void loadVirtualHost(int index) throws AMQException, ConfigurationException, URLSyntaxException + { + String path = XML_VIRTUALHOST; + + if (index != -1) + { + path = path + "(" + index + ")"; + } + + Object prop = _config.getProperty(path + "." + XML_PATH); + + if (prop == null) + { + prop = _config.getProperty(path + "." + XML_BIND); + String error = "Virtual Host not defined for binding"; + + if (prop != null) + { + if (prop instanceof Collection) + { + error += "s"; + } + + error += ": " + prop; + } + + throw new ConfigurationException(error); + } + + _logger.info("VirtualHost:'" + prop + "'"); + + prop = _config.getProperty(path + "." + XML_BIND); + if (prop instanceof Collection) + { + int bindings = ((Collection) prop).size(); + _logger.debug("Number of Bindings: " + bindings); + for (int dest = 0; dest < bindings; dest++) + { + loadBinding(path, dest); + } + } + else + { + loadBinding(path, -1); + } + } + + private void loadBinding(String rootpath, int index) throws AMQException, ConfigurationException, URLSyntaxException + { + String path = rootpath + "." + XML_BIND; + if (index != -1) + { + path = path + "(" + index + ")"; + } + + String bindingString = _config.getString(path); + + AMQBindingURL binding = new AMQBindingURL(bindingString); + + _logger.debug("Loaded Binding:" + binding); + + try + { + bind(binding); + } + catch (AMQException amqe) + { + _logger.info("Unable to bind url: " + binding); + throw amqe; + } + } + + private void bind(AMQBindingURL binding) throws AMQException, ConfigurationException + { + + String queueName = binding.getQueueName(); + + // This will occur if the URL is a Topic + if (queueName == null) + { + //todo register valid topic + ///queueName = binding.getDestinationName(); + throw new AMQException("Topics cannot be bound. TODO Register valid topic"); + } + + //Get references to Broker Registries + QueueRegistry queueRegistry = ApplicationRegistry.getInstance().getQueueRegistry(); + MessageStore messageStore = ApplicationRegistry.getInstance().getMessageStore(); + ExchangeRegistry exchangeRegistry = ApplicationRegistry.getInstance().getExchangeRegistry(); + + synchronized (queueRegistry) + { + AMQQueue queue = queueRegistry.getQueue(queueName); + + if (queue == null) + { + _logger.info("Queue '" + binding.getQueueName() + "' does not exists. Creating."); + + queue = new AMQQueue(queueName, + Boolean.parseBoolean(binding.getOption(AMQBindingURL.OPTION_DURABLE)), + null /* These queues will have no owner */, + false /* Therefore autodelete makes no sence */, queueRegistry); + + if (queue.isDurable()) + { + messageStore.createQueue(queue); + } + + queueRegistry.registerQueue(queue); + } + else + { + _logger.info("Queue '" + binding.getQueueName() + "' already exists not creating."); + } + + Exchange defaultExchange = exchangeRegistry.getExchange(binding.getExchangeName()); + synchronized (defaultExchange) + { + if (defaultExchange == null) + { + throw new ConfigurationException("Attempt to bind queue to unknown exchange:" + binding); + } + + defaultExchange.registerQueue(queue.getName(), queue, null); + + if (binding.getRoutingKey() == null || binding.getRoutingKey().equals("")) + { + throw new ConfigurationException("Unknown binding not specified on url:" + binding); + } + + queue.bind(binding.getRoutingKey(), defaultExchange); + } + _logger.info("Queue '" + queue.getName() + "' bound to exchange:" + binding.getExchangeName() + " RK:'" + binding.getRoutingKey() + "'"); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/AbstractExchange.java b/java/broker/src/org/apache/qpid/server/exchange/AbstractExchange.java new file mode 100644 index 0000000000..e11de152d0 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/AbstractExchange.java @@ -0,0 +1,134 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.management.DefaultManagedObject; +import org.apache.qpid.server.management.Managable; +import org.apache.qpid.server.management.ManagedObject; + +public abstract class AbstractExchange implements Exchange, Managable +{ + private String _name; + + protected boolean _durable; + + protected int _ticket; + + protected ExchangeMBean _exchangeMbean; + + /** + * Whether the exchange is automatically deleted once all queues have detached from it + */ + protected boolean _autoDelete; + + /** + * Abstract MBean class. This has some of the methods implemented from + * management intrerface for exchanges. Any implementaion of an + * Exchange MBean should extend this class. + */ + protected abstract class ExchangeMBean extends DefaultManagedObject implements ManagedExchange + { + public ExchangeMBean() + { + super(ManagedExchange.class, ManagedExchange.TYPE); + } + + public String getObjectInstanceName() + { + return _name; + } + + public String getName() + { + return _name; + } + + public int getTicketNo() + { + return _ticket; + } + + public boolean isDurable() + { + return _durable; + } + + public boolean isAutoDelete() + { + return _autoDelete; + } + + } // End of MBean class + + public String getName() + { + return _name; + } + + /** + * Concrete exchanges must implement this method in order to create the managed representation. This is + * called during initialisation (template method pattern). + * @return the MBean + */ + protected abstract ExchangeMBean createMBean(); + + public void initialise(String name, boolean durable, int ticket, boolean autoDelete) throws AMQException + { + _name = name; + _durable = durable; + _autoDelete = autoDelete; + _ticket = ticket; + _exchangeMbean = createMBean(); + _exchangeMbean.register(); + } + + public boolean isDurable() + { + return _durable; + } + + public boolean isAutoDelete() + { + return _autoDelete; + } + + public int getTicket() + { + return _ticket; + } + + public void close() throws AMQException + { + if (_exchangeMbean != null) + { + _exchangeMbean.unregister(); + } + } + + public String toString() + { + return getClass().getName() + "[" + getName() +"]"; + } + + public ManagedObject getManagedObject() + { + return _exchangeMbean; + } + +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/DefaultExchangeFactory.java b/java/broker/src/org/apache/qpid/server/exchange/DefaultExchangeFactory.java new file mode 100644 index 0000000000..990a868e72 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/DefaultExchangeFactory.java @@ -0,0 +1,63 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; + +import java.util.HashMap; +import java.util.Map; + +public class DefaultExchangeFactory implements ExchangeFactory +{ + private static final Logger _logger = Logger.getLogger(DefaultExchangeFactory.class); + + private Map<String, Class<? extends Exchange>> _exchangeClassMap = new HashMap<String, Class<? extends Exchange>>(); + + public DefaultExchangeFactory() + { + _exchangeClassMap.put("direct", org.apache.qpid.server.exchange.DestNameExchange.class); + _exchangeClassMap.put("topic", org.apache.qpid.server.exchange.DestWildExchange.class); + _exchangeClassMap.put("headers", org.apache.qpid.server.exchange.HeadersExchange.class); + } + + public Exchange createExchange(String exchange, String type, boolean durable, boolean autoDelete, + int ticket) + throws AMQException + { + Class<? extends Exchange> exchClass = _exchangeClassMap.get(type); + if (exchClass == null) + { + throw new AMQException(_logger, "Unknown exchange type: " + type); + } + try + { + Exchange e = exchClass.newInstance(); + e.initialise(exchange, durable, ticket, autoDelete); + return e; + } + catch (InstantiationException e) + { + throw new AMQException(_logger, "Unable to create exchange: " + e, e); + } + catch (IllegalAccessException e) + { + throw new AMQException(_logger, "Unable to create exchange: " + e, e); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java b/java/broker/src/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java new file mode 100644 index 0000000000..06a3944367 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java @@ -0,0 +1,92 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.protocol.ExchangeInitialiser; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.log4j.Logger; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +public class DefaultExchangeRegistry implements ExchangeRegistry +{ + private static final Logger _log = Logger.getLogger(DefaultExchangeRegistry.class); + + /** + * Maps from exchange name to exchange instance + */ + private ConcurrentMap<String, Exchange> _exchangeMap = new ConcurrentHashMap<String, Exchange>(); + + public DefaultExchangeRegistry(ExchangeFactory exchangeFactory) + { + //create 'standard' exchanges: + try + { + new ExchangeInitialiser().initialise(exchangeFactory, this); + } + catch(AMQException e) + { + _log.error("Failed to initialise exchanges: ", e); + } + } + + public void registerExchange(Exchange exchange) + { + _exchangeMap.put(exchange.getName(), exchange); + } + + public void unregisterExchange(String name, boolean inUse) throws AMQException + { + // TODO: check inUse argument + Exchange e = _exchangeMap.remove(name); + if (e != null) + { + e.close(); + } + else + { + throw new AMQException("Unknown exchange " + name); + } + } + + public Exchange getExchange(String name) + { + return _exchangeMap.get(name); + } + + /** + * Routes content through exchanges, delivering it to 1 or more queues. + * @param payload + * @throws AMQException if something goes wrong delivering data + */ + public void routeContent(AMQMessage payload) throws AMQException + { + final String exchange = payload.getPublishBody().exchange; + final Exchange exch = _exchangeMap.get(exchange); + // there is a small window of opportunity for the exchange to be deleted in between + // the JmsPublish being received (where the exchange is validated) and the final + // content body being received (which triggers this method) + if (exch == null) + { + throw new AMQException("Exchange '" + exchange + "' does not exist"); + } + exch.route(payload); + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/DestNameExchange.java b/java/broker/src/org/apache/qpid/server/exchange/DestNameExchange.java new file mode 100644 index 0000000000..7f1c7df224 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/DestNameExchange.java @@ -0,0 +1,204 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.*; +import org.apache.log4j.Logger; + +import javax.management.openmbean.*; +import javax.management.MBeanException; +import javax.management.JMException; +import java.util.List; +import java.util.Map; +import java.util.ArrayList; + +public class DestNameExchange extends AbstractExchange +{ + private static final Logger _logger = Logger.getLogger(DestNameExchange.class); + + /** + * Maps from queue name to queue instances + */ + private final Index _index = new Index(); + + /** + * MBean class implementing the management interfaces. + */ + private final class DestNameExchangeMBean extends ExchangeMBean + { + private String[] _bindingItemNames = {"BindingKey", "QueueNames"}; + private String[] _bindingItemDescriptions = {"Binding key", "Queue Names"}; + private String[] _bindingItemIndexNames = {"BindingKey"}; + private OpenType[] _bindingItemTypes = new OpenType[2]; + + private CompositeType _bindingDataType = null; + private TabularType _bindinglistDataType = null; + private TabularDataSupport _bindingList = null; + + public DestNameExchangeMBean() + { + super(); + init(); + } + + /** + * initialises the OpenType objects. + */ + private void init() + { + try + { + _bindingItemTypes[0] = SimpleType.STRING; + //_bindingItemTypes[1] = ArrayType.getArrayType(SimpleType.STRING); + _bindingItemTypes[1] = new ArrayType(1, SimpleType.STRING); + + _bindingDataType = new CompositeType("QueueBinding", + "Queue and binding keye", + _bindingItemNames, + _bindingItemDescriptions, + _bindingItemTypes); + _bindinglistDataType = new TabularType("Bindings", + "List of queues and binding keys", + _bindingDataType, + _bindingItemIndexNames); + } + catch(OpenDataException ex) + { + //It should never occur. + _logger.error("OpenDataTypes could not be created.", ex); + throw new RuntimeException(ex); + } + } + + public TabularData viewBindings() + throws OpenDataException + { + Map<String, List<AMQQueue>> bindings = _index.getBindingsMap(); + _bindingList = new TabularDataSupport(_bindinglistDataType); + + for (Map.Entry<String, List<AMQQueue>> entry : bindings.entrySet()) + { + String key = entry.getKey(); + List<String> queueList = new ArrayList<String>(); + + List<AMQQueue> queues = entry.getValue(); + for (AMQQueue q : queues) + { + queueList.add(q.getName()); + } + + Object[] bindingItemValues = {key, queueList.toArray(new String[0])}; + CompositeData bindingData = new CompositeDataSupport(_bindingDataType, + _bindingItemNames, + bindingItemValues); + _bindingList.put(bindingData); + } + + return _bindingList; + } + + public void createBinding(String queueName, String binding) + throws JMException + { + AMQQueue queue = ApplicationRegistry.getInstance().getQueueRegistry().getQueue(queueName); + + if (queue == null) + throw new JMException("Queue \"" + queueName + "\" is not registered with the exchange."); + + try + { + registerQueue(binding, queue, null); + queue.bind(binding, DestNameExchange.this); + } + catch (AMQException ex) + { + throw new MBeanException(ex); + } + } + + }// End of MBean class + + + protected ExchangeMBean createMBean() + { + return new DestNameExchangeMBean(); + } + + public void registerQueue(String routingKey, AMQQueue queue, FieldTable args) throws AMQException + { + assert queue != null; + assert routingKey != null; + if(!_index.add(routingKey, queue)) + { + _logger.debug("Queue " + queue + " is already registered with routing key " + routingKey); + } + else + { + _logger.debug("Binding queue " + queue + " with routing key " + routingKey + + " to exchange " + this); + } + } + + public void deregisterQueue(String routingKey, AMQQueue queue) throws AMQException + { + assert queue != null; + assert routingKey != null; + + if (!_index.remove(routingKey, queue)) + { + throw new AMQException("Queue " + queue + " was not registered with exchange " + this.getName() + + " with routing key " + routingKey + ". No queue was registered with that routing key"); + } + } + + public void route(AMQMessage payload) throws AMQException + { + BasicPublishBody publishBody = payload.getPublishBody(); + + final String routingKey = publishBody.routingKey; + final List<AMQQueue> queues = _index.get(routingKey); + if (queues == null || queues.isEmpty()) + { + String msg = "Routing key " + routingKey + " is not known to " + this; + if (publishBody.mandatory) + { + throw new NoRouteException(msg, payload); + } + else + { + _logger.warn(msg); + } + } + else + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Publishing message to queue " + queues); + } + + for(AMQQueue q :queues) + { + q.deliver(payload); + } + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/DestWildExchange.java b/java/broker/src/org/apache/qpid/server/exchange/DestWildExchange.java new file mode 100644 index 0000000000..16b35cf6fa --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/DestWildExchange.java @@ -0,0 +1,210 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.server.registry.ApplicationRegistry; + +import javax.management.openmbean.*; +import javax.management.JMException; +import javax.management.MBeanException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; + +public class DestWildExchange extends AbstractExchange +{ + private static final Logger _logger = Logger.getLogger(DestWildExchange.class); + + private ConcurrentHashMap<String, List<AMQQueue>> _routingKey2queues = new ConcurrentHashMap<String, List<AMQQueue>>(); + + /** + * DestWildExchangeMBean class implements the management interface for the + * Topic exchanges. + */ + private final class DestWildExchangeMBean extends ExchangeMBean + { + private String[] _bindingItemNames = {"BindingKey", "QueueNames"}; + private String[] _bindingItemDescriptions = {"Binding key", "Queue Names"}; + private String[] _bindingItemIndexNames = {"BindingKey"}; + private OpenType[] _bindingItemTypes = new OpenType[2]; + + private CompositeType _bindingDataType = null; + private TabularType _bindinglistDataType = null; + private TabularDataSupport _bindingList = null; + + public DestWildExchangeMBean() + { + super(); + init(); + } + + /** + * initialises the OpenType objects. + */ + private void init() + { + try + { + _bindingItemTypes[0] = SimpleType.STRING; + _bindingItemTypes[1] = new ArrayType(1, SimpleType.STRING); + + _bindingDataType = new CompositeType("QueueBinding", + "Queue and binding keye", + _bindingItemNames, + _bindingItemDescriptions, + _bindingItemTypes); + _bindinglistDataType = new TabularType("Bindings", + "List of queues and binding keys", + _bindingDataType, + _bindingItemIndexNames); + } + catch(OpenDataException ex) + { + //It should never occur. + _logger.error("OpenDataTypes could not be created.", ex); + throw new RuntimeException(ex); + } + } + + public TabularData viewBindings() + throws OpenDataException + { + _bindingList = new TabularDataSupport(_bindinglistDataType); + + for (Map.Entry<String, List<AMQQueue>> entry : _routingKey2queues.entrySet()) + { + String key = entry.getKey(); + List<String> queueList = new ArrayList<String>(); + + List<AMQQueue> queues = entry.getValue(); + for (AMQQueue q : queues) + { + queueList.add(q.getName()); + } + + Object[] bindingItemValues = {key, queueList.toArray(new String[0])}; + CompositeData bindingData = new CompositeDataSupport(_bindingDataType, + _bindingItemNames, + bindingItemValues); + _bindingList.put(bindingData); + } + + return _bindingList; + } + + public void createBinding(String queueName, String binding) + throws JMException + { + AMQQueue queue = ApplicationRegistry.getInstance().getQueueRegistry().getQueue(queueName); + + if (queue == null) + throw new JMException("Queue \"" + queueName + "\" is not registered with the exchange."); + + try + { + registerQueue(binding, queue, null); + queue.bind(binding, DestWildExchange.this); + } + catch (AMQException ex) + { + throw new MBeanException(ex); + } + } + + } // End of MBean class + + + public void registerQueue(String routingKey, AMQQueue queue, FieldTable args) throws AMQException + { + assert queue != null; + assert routingKey != null; + // we need to use putIfAbsent, which is an atomic operation, to avoid a race condition + List<AMQQueue> queueList = _routingKey2queues.putIfAbsent(routingKey, new CopyOnWriteArrayList<AMQQueue>()); + // if we got null back, no previous value was associated with the specified routing key hence + // we need to read back the new value just put into the map + if (queueList == null) + { + queueList = _routingKey2queues.get(routingKey); + } + if (!queueList.contains(queue)) + { + queueList.add(queue); + } + else if(_logger.isDebugEnabled()) + { + _logger.debug("Queue " + queue + " is already registered with routing key " + routingKey); + } + + } + + public void route(AMQMessage payload) throws AMQException + { + BasicPublishBody publishBody = payload.getPublishBody(); + + final String routingKey = publishBody.routingKey; + List<AMQQueue> queues = _routingKey2queues.get(routingKey); + // if we have no registered queues we have nothing to do + // TODO: add support for the immediate flag + if (queues == null) + { + //todo Check for valid topic - mritchie + return; + } + + for (AMQQueue q : queues) + { + // TODO: modify code generator to add clone() method then clone the deliver body + // without this addition we have a race condition - we will be modifying the body + // before the encoder has encoded the body for delivery + q.deliver(payload); + } + } + + public void deregisterQueue(String routingKey, AMQQueue queue) throws AMQException + { + assert queue != null; + assert routingKey != null; + + List<AMQQueue> queues = _routingKey2queues.get(routingKey); + if (queues == null) + { + throw new AMQException("Queue " + queue + " was not registered with exchange " + this.getName() + + " with routing key " + routingKey + ". No queue was registered with that routing key"); + + } + boolean removedQ = queues.remove(queue); + if (!removedQ) + { + throw new AMQException("Queue " + queue + " was not registered with exchange " + this.getName() + + " with routing key " + routingKey); + } + } + + protected ExchangeMBean createMBean() + { + return new DestWildExchangeMBean(); + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/Exchange.java b/java/broker/src/org/apache/qpid/server/exchange/Exchange.java new file mode 100644 index 0000000000..cd75825601 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/Exchange.java @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.AMQMessage; + +public interface Exchange +{ + String getName(); + + void initialise(String name, boolean durable, int ticket, boolean autoDelete) throws AMQException; + + boolean isDurable(); + + /** + * @return true if the exchange will be deleted after all queues have been detached + */ + boolean isAutoDelete(); + + int getTicket(); + + void close() throws AMQException; + + void registerQueue(String routingKey, AMQQueue queue, FieldTable args) throws AMQException; + + void deregisterQueue(String routingKey, AMQQueue queue) throws AMQException; + + void route(AMQMessage message) throws AMQException; +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/ExchangeFactory.java b/java/broker/src/org/apache/qpid/server/exchange/ExchangeFactory.java new file mode 100644 index 0000000000..36fd159f31 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/ExchangeFactory.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.AMQException; + + +public interface ExchangeFactory +{ + Exchange createExchange(String exchange, String type, boolean durable, boolean autoDelete, + int ticket) + throws AMQException; +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/ExchangeInUseException.java b/java/broker/src/org/apache/qpid/server/exchange/ExchangeInUseException.java new file mode 100644 index 0000000000..4a6c735bee --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/ExchangeInUseException.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.AMQException; + +public class ExchangeInUseException extends AMQException +{ + public ExchangeInUseException(String exchangeName) + { + super("Exchange " + exchangeName + " is currently in use"); + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/ExchangeRegistry.java b/java/broker/src/org/apache/qpid/server/exchange/ExchangeRegistry.java new file mode 100644 index 0000000000..5b71cd7b0c --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/ExchangeRegistry.java @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.queue.AMQMessage; + + +public interface ExchangeRegistry extends MessageRouter +{ + void registerExchange(Exchange exchange); + + /** + * Unregister an exchange + * @param name name of the exchange to delete + * @param inUse if true, do NOT delete the exchange if it is in use (has queues bound to it) + * @throws ExchangeInUseException when the exchange cannot be deleted because it is in use + * @throws AMQException + */ + void unregisterExchange(String name, boolean inUse) throws ExchangeInUseException, AMQException; + + Exchange getExchange(String name); +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/HeadersBinding.java b/java/broker/src/org/apache/qpid/server/exchange/HeadersBinding.java new file mode 100644 index 0000000000..d69e956b5f --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/HeadersBinding.java @@ -0,0 +1,142 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.log4j.Logger; + +import java.util.Collections; +import java.util.Map; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Set; + +/** + * Defines binding and matching based on a set of headers. + */ +class HeadersBinding +{ + private static final Logger _logger = Logger.getLogger(HeadersBinding.class); + + private final Map _mappings = new HashMap(); + private final Set<Object> required = new HashSet<Object>(); + private final Set<Map.Entry> matches = new HashSet<Map.Entry>(); + private boolean matchAny; + + /** + * Creates a binding for a set of mappings. Those mappings whose value is + * null or the empty string are assumed only to be required headers, with + * no constraint on the value. Those with a non-null value are assumed to + * define a required match of value. + * @param mappings the defined mappings this binding should use + */ + HeadersBinding(Map mappings) + { + //noinspection unchecked + this(mappings == null ? new HashSet<Map.Entry>() : mappings.entrySet()); + _mappings.putAll(mappings); + } + + private HeadersBinding(Set<Map.Entry> entries) + { + for (Map.Entry e : entries) + { + if (isSpecial(e.getKey())) + { + processSpecial((String) e.getKey(), e.getValue()); + } + else if (e.getValue() == null || e.getValue().equals("")) + { + required.add(e.getKey()); + } + else + { + matches.add(e); + } + } + } + + protected Map getMappings() + { + return _mappings; + } + + /** + * Checks whether the supplied headers match the requirements of this binding + * @param headers the headers to check + * @return true if the headers define any required keys and match any required + * values + */ + public boolean matches(Map headers) + { + if(headers == null) + { + return required.isEmpty() && matches.isEmpty(); + } + else + { + return matchAny ? or(headers) : and(headers); + } + } + + private boolean and(Map headers) + { + //need to match all the defined mapping rules: + return headers.keySet().containsAll(required) + && headers.entrySet().containsAll(matches); + } + + private boolean or(Map headers) + { + //only need to match one mapping rule: + return !Collections.disjoint(headers.keySet(), required) + || !Collections.disjoint(headers.entrySet(), matches); + } + + private void processSpecial(String key, Object value) + { + if("X-match".equalsIgnoreCase(key)) + { + matchAny = isAny(value); + } + else + { + _logger.warn("Ignoring special header: " + key); + } + } + + private boolean isAny(Object value) + { + if(value instanceof String) + { + if("any".equalsIgnoreCase((String) value)) return true; + if("all".equalsIgnoreCase((String) value)) return false; + } + _logger.warn("Ignoring unrecognised match type: " + value); + return false;//default to all + } + + static boolean isSpecial(Object key) + { + return key instanceof String && isSpecial((String) key); + } + + static boolean isSpecial(String key) + { + return key.startsWith("X-") || key.startsWith("x-"); + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/HeadersExchange.java b/java/broker/src/org/apache/qpid/server/exchange/HeadersExchange.java new file mode 100644 index 0000000000..83475f87f2 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/HeadersExchange.java @@ -0,0 +1,226 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.*; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.AMQMessage; + +import javax.management.openmbean.*; +import javax.management.ServiceNotFoundException; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +/** + * An exchange that binds queues based on a set of required headers and header values + * and routes messages to these queues by matching the headers of the message against + * those with which the queues were bound. + * <p/> + * <pre> + * The Headers Exchange + * + * Routes messages according to the value/presence of fields in the message header table. + * (Basic and JMS content has a content header field called "headers" that is a table of + * message header fields). + * + * class = "headers" + * routing key is not used + * + * Has the following binding arguments: + * + * the X-match field - if "all", does an AND match (used for GRM), if "any", does an OR match. + * other fields prefixed with "X-" are ignored (and generate a console warning message). + * a field with no value or empty value indicates a match on presence only. + * a field with a value indicates match on field presence and specific value. + * + * Standard instances: + * + * amq.match - pub/sub on field content/value + * </pre> + */ +public class HeadersExchange extends AbstractExchange +{ + private static final Logger _logger = Logger.getLogger(HeadersExchange.class); + + private final List<Registration> _bindings = new CopyOnWriteArrayList<Registration>(); + + /** + * HeadersExchangeMBean class implements the management interface for the + * Header Exchanges. + */ + private final class HeadersExchangeMBean extends ExchangeMBean + { + private String[] _bindingItemNames = {"Queue", "HeaderBinding"}; + private String[] _bindingItemDescriptions = {"Queue Name", "Header attribute bindings"}; + private String[] _bindingItemIndexNames = {"Queue"}; + private OpenType[] _bindingItemTypes = new OpenType[2]; + + private CompositeType _bindingDataType = null; + private TabularType _bindinglistDataType = null; + private TabularDataSupport _bindingList = null; + + public HeadersExchangeMBean() + { + super(); + init(); + } + /** + * initialises the OpenType objects. + */ + private void init() + { + try + { + _bindingItemTypes[0] = SimpleType.STRING; + _bindingItemTypes[1] = new ArrayType(1, SimpleType.STRING);; + + _bindingDataType = new CompositeType("QueueAndHeaderAttributesBinding", + "Queue and header attributes binding", + _bindingItemNames, + _bindingItemDescriptions, + _bindingItemTypes); + _bindinglistDataType = new TabularType("HeaderBindings", + "List of queues and related header attribute bindings", + _bindingDataType, + _bindingItemIndexNames); + } + catch(OpenDataException ex) + { + //It should never occur. + _logger.error("OpenDataTypes could not be created.", ex); + throw new RuntimeException(ex); + } + } + + public TabularData viewBindings() + throws OpenDataException + { + _bindingList = new TabularDataSupport(_bindinglistDataType); + for (Iterator<Registration> itr = _bindings.iterator(); itr.hasNext();) + { + Registration registration = itr.next(); + String queueName = registration.queue.getName(); + + HeadersBinding headers = registration.binding; + Map<Object, Object> headerMappings = headers.getMappings(); + List<String> mappingList = new ArrayList<String>(); + + for (Map.Entry<Object, Object> en : headerMappings.entrySet()) + { + String key = en.getKey().toString(); + String value = en.getValue().toString(); + + mappingList.add(key + "=" + value); + } + + Object[] bindingItemValues = {queueName, mappingList.toArray(new String[0])}; + CompositeData bindingData = new CompositeDataSupport(_bindingDataType, + _bindingItemNames, + bindingItemValues); + _bindingList.put(bindingData); + } + + return _bindingList; + } + + public void createBinding(String QueueName, String binding) + throws ServiceNotFoundException + { + throw new ServiceNotFoundException("This service is not supported by \"" + this.getName() + "\""); + } + + } // End of MBean class + + public void registerQueue(String routingKey, AMQQueue queue, FieldTable args) throws AMQException + { + _logger.debug("Exchange " + getName() + ": Binding " + queue.getName() + " with " + args); + _bindings.add(new Registration(new HeadersBinding(args), queue)); + } + + public void deregisterQueue(String routingKey, AMQQueue queue) throws AMQException + { + _logger.debug("Exchange " + getName() + ": Unbinding " + queue.getName()); + _bindings.remove(new Registration(null, queue)); + } + + public void route(AMQMessage payload) throws AMQException + { + Map headers = getHeaders(payload.getContentHeaderBody()); + if (_logger.isDebugEnabled()) + { + _logger.debug("Exchange " + getName() + ": routing message with headers " + headers); + } + boolean delivered = false; + for (Registration e : _bindings) + { + if (e.binding.matches(headers)) + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Exchange " + getName() + ": delivering message with headers " + + headers + " to " + e.queue.getName()); + } + e.queue.deliver(payload); + delivered = true; + } + } + if (!delivered) + { + _logger.warn("Exchange " + getName() + ": message not routable."); + } + } + + protected Map getHeaders(ContentHeaderBody contentHeaderFrame) + { + //what if the content type is not 'basic'? 'file' and 'stream' content classes also define headers, + //but these are not yet implemented. + return ((BasicContentHeaderProperties) contentHeaderFrame.properties).getHeaders(); + } + + protected ExchangeMBean createMBean() + { + return new HeadersExchangeMBean(); + } + + private static class Registration + { + private final HeadersBinding binding; + private final AMQQueue queue; + + Registration(HeadersBinding binding, AMQQueue queue) + { + this.binding = binding; + this.queue = queue; + } + + public int hashCode() + { + return queue.hashCode(); + } + + public boolean equals(Object o) + { + return o instanceof Registration && ((Registration) o).queue.equals(queue); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/Index.java b/java/broker/src/org/apache/qpid/server/exchange/Index.java new file mode 100644 index 0000000000..9e88b6a68c --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/Index.java @@ -0,0 +1,85 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.server.queue.AMQQueue; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * An index of queues against routing key. Allows multiple queues to be stored + * against the same key. Used in the DestNameExchange. + */ +class Index +{ + private ConcurrentMap<String, List<AMQQueue>> _index + = new ConcurrentHashMap<String, List<AMQQueue>>(); + + boolean add(String key, AMQQueue queue) + { + List<AMQQueue> queues = _index.get(key); + if(queues == null) + { + queues = new CopyOnWriteArrayList<AMQQueue>(); + //next call is atomic, so there is no race to create the list + List<AMQQueue> active = _index.putIfAbsent(key, queues); + if(active != null) + { + //someone added the new one in faster than we did, so use theirs + queues = active; + } + } + if(queues.contains(queue)) + { + return false; + } + else + { + return queues.add(queue); + } + } + + boolean remove(String key, AMQQueue queue) + { + List<AMQQueue> queues = _index.get(key); + if (queues != null) + { + boolean removed = queues.remove(queue); + if (queues.size() == 0) + { + _index.remove(key); + } + return removed; + } + return false; + } + + List<AMQQueue> get(String key) + { + return _index.get(key); + } + + Map<String, List<AMQQueue>> getBindingsMap() + { + return _index; + } +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/ManagedExchange.java b/java/broker/src/org/apache/qpid/server/exchange/ManagedExchange.java new file mode 100644 index 0000000000..a434ecb443 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/ManagedExchange.java @@ -0,0 +1,78 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import javax.management.openmbean.TabularData; +import javax.management.JMException; +import java.io.IOException; + +/** + * The management interface exposed to allow management of an Exchange. + * @author Robert J. Greig + * @author Bhupendra Bhardwaj + * @version 0.1 + */ +public interface ManagedExchange +{ + static final String TYPE = "Exchange"; + + /** + * Returns the name of the managed exchange. + * @return the name of the exchange. + * @throws IOException + */ + String getName() throws IOException; + + /** + * Tells if the exchange is durable or not. + * @return true if the exchange is durable. + * @throws IOException + */ + boolean isDurable() throws IOException; + + /** + * Tells if the exchange is set for autodelete or not. + * @return true if the exchange is set as autodelete. + * @throws IOException + */ + boolean isAutoDelete() throws IOException; + + int getTicketNo() throws IOException; + + + // Operations + + /** + * Returns all the bindings this exchange has with the queues. + * @return the bindings with the exchange. + * @throws IOException + * @throws JMException + */ + TabularData viewBindings() + throws IOException, JMException; + + /** + * Creates new binding with the given queue and binding. + * @param QueueName + * @param binding + * @throws JMException + */ + void createBinding(String QueueName, String binding) + throws JMException; + +}
\ No newline at end of file diff --git a/java/broker/src/org/apache/qpid/server/exchange/MessageRouter.java b/java/broker/src/org/apache/qpid/server/exchange/MessageRouter.java new file mode 100644 index 0000000000..2eef5f0676 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/MessageRouter.java @@ -0,0 +1,36 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.AMQException; + +/** + * Separated out from the ExchangeRegistry interface to allow components + * that use only this part to have a dependency with a reduced footprint. + * + */ +public interface MessageRouter +{ + /** + * Routes content through exchanges, delivering it to 1 or more queues. + * @param message the message to be routed + * @throws org.apache.qpid.AMQException if something goes wrong delivering data + */ + void routeContent(AMQMessage message) throws AMQException; +} diff --git a/java/broker/src/org/apache/qpid/server/exchange/NoRouteException.java b/java/broker/src/org/apache/qpid/server/exchange/NoRouteException.java new file mode 100644 index 0000000000..6d5511d9c8 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/exchange/NoRouteException.java @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.server.RequiredDeliveryException; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.protocol.AMQConstant; + +/** + * Thrown by an exchange if there is no way to route a message with the + * mandatory flag set. + */ +public class NoRouteException extends RequiredDeliveryException +{ + public NoRouteException(String msg, AMQMessage message) + { + super(msg, message); + } + + public int getReplyCode() + { + return AMQConstant.NO_ROUTE.getCode(); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/BasicAckMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/BasicAckMethodHandler.java new file mode 100644 index 0000000000..5e236f7da9 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/BasicAckMethodHandler.java @@ -0,0 +1,52 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicAckBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.AMQChannel; + +public class BasicAckMethodHandler implements StateAwareMethodListener<BasicAckBody> +{ + private static final BasicAckMethodHandler _instance = new BasicAckMethodHandler(); + + public static BasicAckMethodHandler getInstance() + { + return _instance; + } + + private BasicAckMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<BasicAckBody> evt) throws AMQException + { + BasicAckBody body = evt.getMethod(); + final AMQChannel channel = protocolSession.getChannel(evt.getChannelId()); + // this method throws an AMQException if the delivery tag is not known + channel.acknowledgeMessage(body.deliveryTag, body.multiple); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/BasicCancelMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/BasicCancelMethodHandler.java new file mode 100644 index 0000000000..52d6d9f0f1 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/BasicCancelMethodHandler.java @@ -0,0 +1,58 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.BasicCancelBody; +import org.apache.qpid.framing.BasicCancelOkBody; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.AMQException; + +public class BasicCancelMethodHandler implements StateAwareMethodListener<BasicCancelBody> +{ + private static final BasicCancelMethodHandler _instance = new BasicCancelMethodHandler(); + + public static BasicCancelMethodHandler getInstance() + { + return _instance; + } + + private BasicCancelMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<BasicCancelBody> evt) throws AMQException + { + final AMQChannel channel = protocolSession.getChannel(evt.getChannelId()); + final BasicCancelBody body = evt.getMethod(); + channel.unsubscribeConsumer(protocolSession, body.consumerTag); + if(!body.nowait) + { + final AMQFrame responseFrame = BasicCancelOkBody.createAMQFrame(evt.getChannelId(), body.consumerTag); + protocolSession.writeFrame(responseFrame); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/BasicConsumeMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/BasicConsumeMethodHandler.java new file mode 100644 index 0000000000..7da5863044 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/BasicConsumeMethodHandler.java @@ -0,0 +1,90 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.protocol.AMQConstant; +import org.apache.qpid.framing.BasicConsumeBody; +import org.apache.qpid.framing.BasicConsumeOkBody; +import org.apache.qpid.framing.ConnectionCloseBody; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.ConsumerTagNotUniqueException; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.log4j.Logger; + +public class BasicConsumeMethodHandler implements StateAwareMethodListener<BasicConsumeBody> +{ + private static final Logger _log = Logger.getLogger(BasicConsumeMethodHandler.class); + + private static final BasicConsumeMethodHandler _instance = new BasicConsumeMethodHandler(); + + public static BasicConsumeMethodHandler getInstance() + { + return _instance; + } + + private BasicConsumeMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession session, + AMQMethodEvent<BasicConsumeBody> evt) throws AMQException + { + BasicConsumeBody body = evt.getMethod(); + final int channelId = evt.getChannelId(); + + AMQChannel channel = session.getChannel(channelId); + if (channel == null) + { + _log.error("Channel " + channelId + " not found"); + // TODO: either alert or error that the + } + else + { + AMQQueue queue = body.queue == null ? channel.getDefaultQueue() : queueRegistry.getQueue(body.queue); + + if(queue == null) + { + _log.info("No queue for '" + body.queue + "'"); + } + try + { + String consumerTag = channel.subscribeToQueue(body.consumerTag, queue, session, !body.noAck); + if(!body.nowait) + { + session.writeFrame(BasicConsumeOkBody.createAMQFrame(channelId, consumerTag)); + } + + //now allow queue to start async processing of any backlog of messages + queue.deliverAsync(); + } + catch(ConsumerTagNotUniqueException e) + { + String msg = "Non-unique consumer tag, '" + body.consumerTag + "'"; + session.writeFrame(ConnectionCloseBody.createAMQFrame(channelId, AMQConstant.NOT_ALLOWED.getCode(), msg, BasicConsumeBody.CLASS_ID, BasicConsumeBody.METHOD_ID)); + } + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/BasicPublishMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/BasicPublishMethodHandler.java new file mode 100644 index 0000000000..f2f660299d --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/BasicPublishMethodHandler.java @@ -0,0 +1,77 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ChannelCloseBody; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class BasicPublishMethodHandler implements StateAwareMethodListener<BasicPublishBody> +{ + private static final BasicPublishMethodHandler _instance = new BasicPublishMethodHandler(); + + public static BasicPublishMethodHandler getInstance() + { + return _instance; + } + + private BasicPublishMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<BasicPublishBody> evt) throws AMQException + { + final BasicPublishBody body = evt.getMethod(); + + // TODO: check the delivery tag field details - is it unique across the broker or per subscriber? + if (body.exchange == null) + { + body.exchange = "amq.direct"; + } + Exchange e = exchangeRegistry.getExchange(body.exchange); + // if the exchange does not exist we raise a channel exception + if (e == null) + { + protocolSession.closeChannel(evt.getChannelId()); + // TODO: modify code gen to make getClazz and getMethod public methods rather than protected + // then we can remove the hardcoded 0,0 + AMQFrame cf = ChannelCloseBody.createAMQFrame(evt.getChannelId(), 500, "Unknown exchange name", 0, 0); + protocolSession.writeFrame(cf); + } + else + { + // The partially populated BasicDeliver frame plus the received route body + // is stored in the channel. Once the final body frame has been received + // it is routed to the exchange. + AMQChannel channel = protocolSession.getChannel(evt.getChannelId()); + channel.setPublishFrame(body, protocolSession); + } + } +} + diff --git a/java/broker/src/org/apache/qpid/server/handler/BasicQosHandler.java b/java/broker/src/org/apache/qpid/server/handler/BasicQosHandler.java new file mode 100644 index 0000000000..0d1c039207 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/BasicQosHandler.java @@ -0,0 +1,46 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.BasicQosBody; +import org.apache.qpid.framing.BasicQosOkBody; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.AMQException; + +public class BasicQosHandler implements StateAwareMethodListener<BasicQosBody> +{ + private static final BasicQosHandler _instance = new BasicQosHandler(); + + public static BasicQosHandler getInstance() + { + return _instance; + } + + public void methodReceived(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, + AMQProtocolSession session, AMQMethodEvent<BasicQosBody> evt) throws AMQException + { + session.getChannel(evt.getChannelId()).setPrefetchCount(evt.getMethod().prefetchCount); + session.writeFrame(new AMQFrame(evt.getChannelId(), new BasicQosOkBody())); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/BasicRecoverMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/BasicRecoverMethodHandler.java new file mode 100644 index 0000000000..1dce283c9e --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/BasicRecoverMethodHandler.java @@ -0,0 +1,54 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.framing.BasicRecoverBody; +import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; + +public class BasicRecoverMethodHandler implements StateAwareMethodListener<BasicRecoverBody> +{ + private static final Logger _logger = Logger.getLogger(BasicRecoverMethodHandler.class); + + private static final BasicRecoverMethodHandler _instance = new BasicRecoverMethodHandler(); + + public static BasicRecoverMethodHandler getInstance() + { + return _instance; + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<BasicRecoverBody> evt) throws AMQException + { + _logger.debug("Recover received on protocol session " + protocolSession + " and channel " + evt.getChannelId()); + AMQChannel channel = protocolSession.getChannel(evt.getChannelId()); + if (channel == null) + { + throw new AMQException("Unknown channel " + evt.getChannelId()); + } + channel.resend(protocolSession); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ChannelCloseHandler.java b/java/broker/src/org/apache/qpid/server/handler/ChannelCloseHandler.java new file mode 100644 index 0000000000..1b03f15d22 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ChannelCloseHandler.java @@ -0,0 +1,58 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ChannelCloseBody; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ChannelCloseOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class ChannelCloseHandler implements StateAwareMethodListener<ChannelCloseBody> +{ + private static final Logger _logger = Logger.getLogger(ChannelCloseHandler.class); + + private static ChannelCloseHandler _instance = new ChannelCloseHandler(); + + public static ChannelCloseHandler getInstance() + { + return _instance; + } + + private ChannelCloseHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ChannelCloseBody> evt) throws AMQException + { + ChannelCloseBody body = evt.getMethod(); + _logger.info("Received channel close for id " + evt.getChannelId() + " citing class " + body.classId + + " and method " + body.methodId); + protocolSession.closeChannel(evt.getChannelId()); + AMQFrame response = ChannelCloseOkBody.createAMQFrame(evt.getChannelId()); + protocolSession.writeFrame(response); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ChannelCloseOkHandler.java b/java/broker/src/org/apache/qpid/server/handler/ChannelCloseOkHandler.java new file mode 100644 index 0000000000..7731e56d4d --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ChannelCloseOkHandler.java @@ -0,0 +1,51 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ChannelCloseOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.log4j.Logger; + +public class ChannelCloseOkHandler implements StateAwareMethodListener<ChannelCloseOkBody> +{ + private static final Logger _logger = Logger.getLogger(ChannelCloseOkHandler.class); + + private static ChannelCloseOkHandler _instance = new ChannelCloseOkHandler(); + + public static ChannelCloseOkHandler getInstance() + { + return _instance; + } + + private ChannelCloseOkHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ChannelCloseOkBody> evt) throws AMQException + { + _logger.info("Received channel-close-ok for channel-id " + evt.getChannelId()); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ChannelFlowHandler.java b/java/broker/src/org/apache/qpid/server/handler/ChannelFlowHandler.java new file mode 100644 index 0000000000..fb26549fad --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ChannelFlowHandler.java @@ -0,0 +1,61 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ChannelFlowBody; +import org.apache.qpid.framing.ChannelFlowOkBody; +import org.apache.qpid.framing.ChannelCloseBody; +import org.apache.qpid.AMQException; + +public class ChannelFlowHandler implements StateAwareMethodListener<ChannelFlowBody> +{ + private static final Logger _logger = Logger.getLogger(ChannelFlowHandler.class); + + private static ChannelFlowHandler _instance = new ChannelFlowHandler(); + + public static ChannelFlowHandler getInstance() + { + return _instance; + } + + private ChannelFlowHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ChannelFlowBody> evt) throws AMQException + { + ChannelFlowBody body = evt.getMethod(); + + AMQChannel channel = protocolSession.getChannel(evt.getChannelId()); + channel.setSuspended(!body.active); + _logger.info("Channel.Flow for channel " + evt.getChannelId() + ", active=" + body.active); + + AMQFrame response = ChannelFlowOkBody.createAMQFrame(evt.getChannelId(), body.active); + protocolSession.writeFrame(response); + }} diff --git a/java/broker/src/org/apache/qpid/server/handler/ChannelOpenHandler.java b/java/broker/src/org/apache/qpid/server/handler/ChannelOpenHandler.java new file mode 100644 index 0000000000..634cd70469 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ChannelOpenHandler.java @@ -0,0 +1,58 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ChannelOpenBody; +import org.apache.qpid.framing.ChannelOpenOkBody; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.IApplicationRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class ChannelOpenHandler implements StateAwareMethodListener<ChannelOpenBody> +{ + private static ChannelOpenHandler _instance = new ChannelOpenHandler(); + + public static ChannelOpenHandler getInstance() + { + return _instance; + } + + private ChannelOpenHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ChannelOpenBody> evt) throws AMQException + { + IApplicationRegistry registry = ApplicationRegistry.getInstance(); + final AMQChannel channel = new AMQChannel(evt.getChannelId(), registry.getMessageStore(), + exchangeRegistry); + protocolSession.addChannel(channel); + AMQFrame response = ChannelOpenOkBody.createAMQFrame(evt.getChannelId()); + protocolSession.writeFrame(response); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ConnectionCloseMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/ConnectionCloseMethodHandler.java new file mode 100644 index 0000000000..f78d6f7276 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ConnectionCloseMethodHandler.java @@ -0,0 +1,65 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.framing.ConnectionCloseBody; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ConnectionCloseOkBody; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; + +public class ConnectionCloseMethodHandler implements StateAwareMethodListener<ConnectionCloseBody> +{ + private static final Logger _logger = Logger.getLogger(ConnectionCloseMethodHandler.class); + + private static ConnectionCloseMethodHandler _instance = new ConnectionCloseMethodHandler(); + + public static ConnectionCloseMethodHandler getInstance() + { + return _instance; + } + + private ConnectionCloseMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ConnectionCloseBody> evt) throws AMQException + { + final ConnectionCloseBody body = evt.getMethod(); + _logger.info("ConnectionClose received with reply code/reply text " + body.replyCode + "/" + + body.replyText + " for " + protocolSession); + try + { + protocolSession.closeSession(); + } + catch (Exception e) + { + _logger.error("Error closing protocol session: " + e, e); + } + final AMQFrame response = ConnectionCloseOkBody.createAMQFrame(evt.getChannelId()); + protocolSession.writeFrame(response); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ConnectionCloseOkMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/ConnectionCloseOkMethodHandler.java new file mode 100644 index 0000000000..f918158edb --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ConnectionCloseOkMethodHandler.java @@ -0,0 +1,63 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ConnectionCloseOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.state.AMQState; +import org.apache.log4j.Logger; + +public class ConnectionCloseOkMethodHandler implements StateAwareMethodListener<ConnectionCloseOkBody> +{ + private static final Logger _logger = Logger.getLogger(ConnectionCloseOkMethodHandler.class); + + private static ConnectionCloseOkMethodHandler _instance = new ConnectionCloseOkMethodHandler(); + + public static ConnectionCloseOkMethodHandler getInstance() + { + return _instance; + } + + private ConnectionCloseOkMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ConnectionCloseOkBody> evt) throws AMQException + { + //todo should this not do more than just log the method? + _logger.info("Received Connection-close-ok"); + + try + { + stateManager.changeState(AMQState.CONNECTION_CLOSED); + protocolSession.closeSession(); + } + catch (Exception e) + { + _logger.error("Error closing protocol session: " + e, e); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java new file mode 100644 index 0000000000..7bc28f9eb9 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java @@ -0,0 +1,68 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ConnectionOpenBody; +import org.apache.qpid.framing.ConnectionOpenOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQState; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class ConnectionOpenMethodHandler implements StateAwareMethodListener<ConnectionOpenBody> +{ + private static ConnectionOpenMethodHandler _instance = new ConnectionOpenMethodHandler(); + + public static ConnectionOpenMethodHandler getInstance() + { + return _instance; + } + + private ConnectionOpenMethodHandler() + { + } + + private static String generateClientID() + { + return Long.toString(System.currentTimeMillis()); + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ConnectionOpenBody> evt) throws AMQException + { + ConnectionOpenBody body = evt.getMethod(); + String contextKey = body.virtualHost; + + //todo //FIXME The virtual host must be validated by the server for the connection to open-ok + // See Spec (0.8.2). Section 3.1.2 Virtual Hosts + if (contextKey == null) + { + contextKey = generateClientID(); + } + protocolSession.setContextKey(contextKey); + AMQFrame response = ConnectionOpenOkBody.createAMQFrame((short)0, contextKey); + stateManager.changeState(AMQState.CONNECTION_OPEN); + protocolSession.writeFrame(response); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ConnectionSecureOkMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/ConnectionSecureOkMethodHandler.java new file mode 100644 index 0000000000..1c0da4f658 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ConnectionSecureOkMethodHandler.java @@ -0,0 +1,115 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.AMQChannelException; +import org.apache.qpid.protocol.AMQConstant; +import org.apache.qpid.framing.*; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.HeartbeatConfig; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQState; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.security.auth.AuthenticationManager; +import org.apache.qpid.server.security.auth.AuthenticationResult; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.log4j.Logger; + +import javax.security.sasl.SaslServer; +import javax.security.sasl.SaslException; + +public class ConnectionSecureOkMethodHandler implements StateAwareMethodListener<ConnectionSecureOkBody> +{ + private static final Logger _logger = Logger.getLogger(ConnectionSecureOkMethodHandler.class); + + private static ConnectionSecureOkMethodHandler _instance = new ConnectionSecureOkMethodHandler(); + + public static ConnectionSecureOkMethodHandler getInstance() + { + return _instance; + } + + private ConnectionSecureOkMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ConnectionSecureOkBody> evt) throws AMQException + { + ConnectionSecureOkBody body = evt.getMethod(); + + AuthenticationManager authMgr = ApplicationRegistry.getInstance().getAuthenticationManager(); + SaslServer ss = protocolSession.getSaslServer(); + if (ss == null) + { + throw new AMQException("No SASL context set up in session"); + } + + AuthenticationResult authResult = authMgr.authenticate(ss, body.response); + switch (authResult.status) + { + case ERROR: + // Can't do this as we violate protocol. Need to send Close + // throw new AMQException(AMQConstant.NOT_ALLOWED.getCode(), AMQConstant.NOT_ALLOWED.getName()); + _logger.info("Authentication failed"); + stateManager.changeState(AMQState.CONNECTION_CLOSING); + AMQFrame close = ConnectionCloseBody.createAMQFrame(0, AMQConstant.NOT_ALLOWED.getCode(), + AMQConstant.NOT_ALLOWED.getName(), + ConnectionCloseBody.CLASS_ID, + ConnectionCloseBody.METHOD_ID); + protocolSession.writeFrame(close); + disposeSaslServer(protocolSession); + break; + case SUCCESS: + _logger.info("Connected as: " + ss.getAuthorizationID()); + stateManager.changeState(AMQState.CONNECTION_NOT_TUNED); + AMQFrame tune = ConnectionTuneBody.createAMQFrame(0, Integer.MAX_VALUE, + ConnectionStartOkMethodHandler.getConfiguredFrameSize(), + HeartbeatConfig.getInstance().getDelay()); + protocolSession.writeFrame(tune); + disposeSaslServer(protocolSession); + break; + case CONTINUE: + stateManager.changeState(AMQState.CONNECTION_NOT_AUTH); + AMQFrame challenge = ConnectionSecureBody.createAMQFrame(0, authResult.challenge); + protocolSession.writeFrame(challenge); + } + } + + private void disposeSaslServer(AMQProtocolSession ps) + { + SaslServer ss = ps.getSaslServer(); + if (ss != null) + { + ps.setSaslServer(null); + try + { + ss.dispose(); + } + catch (SaslException e) + { + _logger.error("Error disposing of Sasl server: " + e); + } + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ConnectionStartOkMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/ConnectionStartOkMethodHandler.java new file mode 100644 index 0000000000..5715ce181b --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ConnectionStartOkMethodHandler.java @@ -0,0 +1,127 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.log4j.Logger; +import org.apache.commons.configuration.Configuration; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ConnectionSecureBody; +import org.apache.qpid.framing.ConnectionStartOkBody; +import org.apache.qpid.framing.ConnectionTuneBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.HeartbeatConfig; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.security.auth.AuthenticationManager; +import org.apache.qpid.server.security.auth.AuthenticationResult; +import org.apache.qpid.server.state.AMQState; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; + + +public class ConnectionStartOkMethodHandler implements StateAwareMethodListener<ConnectionStartOkBody> +{ + private static final Logger _logger = Logger.getLogger(ConnectionStartOkMethodHandler.class); + + private static ConnectionStartOkMethodHandler _instance = new ConnectionStartOkMethodHandler(); + + private static final int DEFAULT_FRAME_SIZE = 65536; + + public static StateAwareMethodListener<ConnectionStartOkBody> getInstance() + { + return _instance; + } + + private ConnectionStartOkMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ConnectionStartOkBody> evt) throws AMQException + { + final ConnectionStartOkBody body = evt.getMethod(); + _logger.info("SASL Mechanism selected: " + body.mechanism); + _logger.info("Locale selected: " + body.locale); + + AuthenticationManager authMgr = ApplicationRegistry.getInstance().getAuthenticationManager(); + + SaslServer ss = null; + try + { + ss = authMgr.createSaslServer(body.mechanism, protocolSession.getLocalFQDN()); + protocolSession.setSaslServer(ss); + + AuthenticationResult authResult = authMgr.authenticate(ss, body.response); + + switch (authResult.status) + { + case ERROR: + throw new AMQException("Authentication failed"); + case SUCCESS: + _logger.info("Connected as: " + ss.getAuthorizationID()); + stateManager.changeState(AMQState.CONNECTION_NOT_TUNED); + AMQFrame tune = ConnectionTuneBody.createAMQFrame(0, Integer.MAX_VALUE, getConfiguredFrameSize(), + HeartbeatConfig.getInstance().getDelay()); + protocolSession.writeFrame(tune); + break; + case CONTINUE: + stateManager.changeState(AMQState.CONNECTION_NOT_AUTH); + AMQFrame challenge = ConnectionSecureBody.createAMQFrame(0, authResult.challenge); + protocolSession.writeFrame(challenge); + } + } + catch (SaslException e) + { + disposeSaslServer(protocolSession); + throw new AMQException("SASL error: " + e, e); + } + } + + private void disposeSaslServer(AMQProtocolSession ps) + { + SaslServer ss = ps.getSaslServer(); + if (ss != null) + { + ps.setSaslServer(null); + try + { + ss.dispose(); + } + catch (SaslException e) + { + _logger.error("Error disposing of Sasl server: " + e); + } + } + } + + static int getConfiguredFrameSize() + { + final Configuration config = ApplicationRegistry.getInstance().getConfiguration(); + final int framesize = config.getInt("advanced.framesize", DEFAULT_FRAME_SIZE); + _logger.info("Framesize set to " + framesize); + return framesize; + } +} + diff --git a/java/broker/src/org/apache/qpid/server/handler/ConnectionTuneOkMethodHandler.java b/java/broker/src/org/apache/qpid/server/handler/ConnectionTuneOkMethodHandler.java new file mode 100644 index 0000000000..05ca10fec5 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ConnectionTuneOkMethodHandler.java @@ -0,0 +1,54 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ConnectionTuneOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQState; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class ConnectionTuneOkMethodHandler implements StateAwareMethodListener<ConnectionTuneOkBody> +{ + private static final Logger _logger = Logger.getLogger(ConnectionTuneOkMethodHandler.class); + + private static ConnectionTuneOkMethodHandler _instance = new ConnectionTuneOkMethodHandler(); + + public static ConnectionTuneOkMethodHandler getInstance() + { + return _instance; + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ConnectionTuneOkBody> evt) throws AMQException + { + ConnectionTuneOkBody body = evt.getMethod(); + if (_logger.isDebugEnabled()) + { + _logger.debug(body); + } + stateManager.changeState(AMQState.CONNECTION_NOT_OPENED); + protocolSession.initHeartbeats(body.heartbeat); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ExchangeDeclareHandler.java b/java/broker/src/org/apache/qpid/server/handler/ExchangeDeclareHandler.java new file mode 100644 index 0000000000..444a54a4f2 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ExchangeDeclareHandler.java @@ -0,0 +1,79 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ExchangeDeclareBody; +import org.apache.qpid.framing.ExchangeDeclareOkBody; +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.exchange.ExchangeFactory; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.registry.ApplicationRegistry; + +public class ExchangeDeclareHandler implements StateAwareMethodListener<ExchangeDeclareBody> +{ + private static final Logger _logger = Logger.getLogger(ExchangeDeclareHandler.class); + + private static final ExchangeDeclareHandler _instance = new ExchangeDeclareHandler(); + + public static ExchangeDeclareHandler getInstance() + { + return _instance; + } + + private final ExchangeFactory exchangeFactory; + + private ExchangeDeclareHandler() + { + exchangeFactory = ApplicationRegistry.getInstance().getExchangeFactory(); + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ExchangeDeclareBody> evt) throws AMQException + { + final ExchangeDeclareBody body = evt.getMethod(); + if (_logger.isDebugEnabled()) + { + _logger.debug("Request to declare exchange of type " + body.type + " with name " + body.exchange); + } + synchronized(exchangeRegistry) + { + Exchange exchange = exchangeRegistry.getExchange(body.exchange); + + if (exchange == null) + { + exchange = exchangeFactory.createExchange(body.exchange, body.type, body.durable, + body.passive, body.ticket); + exchangeRegistry.registerExchange(exchange); + } + } + if(!body.nowait) + { + AMQFrame response = ExchangeDeclareOkBody.createAMQFrame(evt.getChannelId()); + protocolSession.writeFrame(response); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/ExchangeDeleteHandler.java b/java/broker/src/org/apache/qpid/server/handler/ExchangeDeleteHandler.java new file mode 100644 index 0000000000..441e991872 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/ExchangeDeleteHandler.java @@ -0,0 +1,62 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ExchangeDeleteBody; +import org.apache.qpid.framing.ExchangeDeleteOkBody; +import org.apache.qpid.server.exchange.ExchangeInUseException; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class ExchangeDeleteHandler implements StateAwareMethodListener<ExchangeDeleteBody> +{ + private static final ExchangeDeleteHandler _instance = new ExchangeDeleteHandler(); + + public static ExchangeDeleteHandler getInstance() + { + return _instance; + } + + private ExchangeDeleteHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ExchangeDeleteBody> evt) throws AMQException + { + ExchangeDeleteBody body = evt.getMethod(); + try + { + exchangeRegistry.unregisterExchange(body.exchange, body.ifUnused); + AMQFrame response = ExchangeDeleteOkBody.createAMQFrame(evt.getChannelId()); + protocolSession.writeFrame(response); + } + catch (ExchangeInUseException e) + { + // TODO: sort out consistent channel close mechanism that does all clean up etc. + } + + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/OnCurrentThreadExecutor.java b/java/broker/src/org/apache/qpid/server/handler/OnCurrentThreadExecutor.java new file mode 100644 index 0000000000..a689366a2f --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/OnCurrentThreadExecutor.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import java.util.concurrent.Executor; + +/** + * An executor that executes the task on the current thread. + */ +public class OnCurrentThreadExecutor implements Executor +{ + public void execute(Runnable command) + { + command.run(); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/QueueBindHandler.java b/java/broker/src/org/apache/qpid/server/handler/QueueBindHandler.java new file mode 100644 index 0000000000..98eec37a4a --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/QueueBindHandler.java @@ -0,0 +1,94 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.protocol.AMQConstant; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.QueueBindBody; +import org.apache.qpid.framing.QueueBindOkBody; +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class QueueBindHandler implements StateAwareMethodListener<QueueBindBody> +{ + private static final Logger _log = Logger.getLogger(QueueBindHandler.class); + + private static final QueueBindHandler _instance = new QueueBindHandler(); + + public static QueueBindHandler getInstance() + { + return _instance; + } + + private QueueBindHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<QueueBindBody> evt) throws AMQException + { + final QueueBindBody body = evt.getMethod(); + final AMQQueue queue; + if (body.queue == null) + { + queue = protocolSession.getChannel(evt.getChannelId()).getDefaultQueue(); + if (queue == null) + { + throw new AMQException("No default queue defined on channel and queue was null"); + } + if (body.routingKey == null) + { + body.routingKey = queue.getName(); + } + } + else + { + queue = queueRegistry.getQueue(body.queue); + } + + if (queue == null) + { + throw body.getChannelException(AMQConstant.NOT_FOUND.getCode(), "Queue " + body.queue + " does not exist."); + } + final Exchange exch = exchangeRegistry.getExchange(body.exchange); + if (exch == null) + { + throw body.getChannelException(AMQConstant.NOT_FOUND.getCode(), "Exchange " + body.exchange + " does not exist."); + } + exch.registerQueue(body.routingKey, queue, body.arguments); + queue.bind(body.routingKey, exch); + if (_log.isInfoEnabled()) + { + _log.info("Binding queue " + queue + " to exchange " + exch + " with routing key " + body.routingKey); + } + if (!body.nowait) + { + final AMQFrame response = QueueBindOkBody.createAMQFrame(evt.getChannelId()); + protocolSession.writeFrame(response); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/QueueDeclareHandler.java b/java/broker/src/org/apache/qpid/server/handler/QueueDeclareHandler.java new file mode 100644 index 0000000000..d1eb387748 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/QueueDeclareHandler.java @@ -0,0 +1,124 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.configuration.Configured; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.QueueDeclareBody; +import org.apache.qpid.framing.QueueDeclareOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.configuration.Configurator; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.registry.ApplicationRegistry; + +import java.text.MessageFormat; +import java.util.concurrent.atomic.AtomicInteger; + +public class QueueDeclareHandler implements StateAwareMethodListener<QueueDeclareBody> +{ + private static final Logger _log = Logger.getLogger(QueueDeclareHandler.class); + + private static final QueueDeclareHandler _instance = new QueueDeclareHandler(); + + public static QueueDeclareHandler getInstance() + { + return _instance; + } + + @Configured(path = "queue.auto_register", defaultValue = "false") + public boolean autoRegister; + + private final AtomicInteger _counter = new AtomicInteger(); + + private final MessageStore _store; + + protected QueueDeclareHandler() + { + Configurator.configure(this); + _store = ApplicationRegistry.getInstance().getMessageStore(); + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<QueueDeclareBody> evt) throws AMQException + { + QueueDeclareBody body = evt.getMethod(); + + // if we aren't given a queue name, we create one which we return to the client + if (body.queue == null) + { + body.queue = createName(); + } + //TODO: do we need to check that the queue already exists with exactly the same "configuration"? + + synchronized (queueRegistry) + { + AMQQueue queue; + if ((queue = queueRegistry.getQueue(body.queue)) == null) + { + queue = createQueue(body, queueRegistry, protocolSession); + if (queue.isDurable() && !queue.isAutoDelete()) + { + _store.createQueue(queue); + } + queueRegistry.registerQueue(queue); + if (autoRegister) + { + Exchange defaultExchange = exchangeRegistry.getExchange("amq.direct"); + defaultExchange.registerQueue(body.queue, queue, null); + queue.bind(body.queue, defaultExchange); + _log.info("Queue " + body.queue + " bound to default exchange"); + } + } + //set this as the default queue on the channel: + protocolSession.getChannel(evt.getChannelId()).setDefaultQueue(queue); + } + if (!body.nowait) + { + AMQFrame response = QueueDeclareOkBody.createAMQFrame(evt.getChannelId(), body.queue, 0L, 0L); + _log.info("Queue " + body.queue + " declared successfully"); + protocolSession.writeFrame(response); + } + } + + protected String createName() + { + return "tmp_" + pad(_counter.incrementAndGet()); + } + + protected static String pad(int value) + { + return MessageFormat.format("{0,number,0000000000000}", value); + } + + protected AMQQueue createQueue(QueueDeclareBody body, QueueRegistry registry, AMQProtocolSession session) + throws AMQException + { + String owner = body.exclusive ? session.getContextKey() : null; + return new AMQQueue(body.queue, body.durable, owner, body.autoDelete, registry); + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/QueueDeleteHandler.java b/java/broker/src/org/apache/qpid/server/handler/QueueDeleteHandler.java new file mode 100644 index 0000000000..82c1d93065 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/QueueDeleteHandler.java @@ -0,0 +1,84 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.framing.QueueDeleteBody; +import org.apache.qpid.framing.QueueDeleteOkBody; +import org.apache.qpid.AMQException; + +public class QueueDeleteHandler implements StateAwareMethodListener<QueueDeleteBody> +{ + private static final QueueDeleteHandler _instance = new QueueDeleteHandler(); + + public static QueueDeleteHandler getInstance() + { + return _instance; + } + + private final boolean _failIfNotFound; + private final MessageStore _store; + + public QueueDeleteHandler() + { + this(true); + } + + public QueueDeleteHandler(boolean failIfNotFound) + { + _failIfNotFound = failIfNotFound; + _store = ApplicationRegistry.getInstance().getMessageStore(); + + } + + public void methodReceived(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<QueueDeleteBody> evt) throws AMQException + { + QueueDeleteBody body = evt.getMethod(); + AMQQueue queue; + if(body.queue == null) + { + queue = session.getChannel(evt.getChannelId()).getDefaultQueue(); + } + else + { + queue = queues.getQueue(body.queue); + } + + if(queue == null) + { + if(_failIfNotFound) + { + throw body.getChannelException(404, "Queue " + body.queue + " does not exist."); + } + } + else + { + int purged = queue.delete(body.ifUnused, body.ifEmpty); + _store.removeQueue(queue.getName()); + session.writeFrame(QueueDeleteOkBody.createAMQFrame(evt.getChannelId(), purged)); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/TxCommitHandler.java b/java/broker/src/org/apache/qpid/server/handler/TxCommitHandler.java new file mode 100644 index 0000000000..ce18c94c2b --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/TxCommitHandler.java @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.TxCommitBody; +import org.apache.qpid.framing.TxCommitOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class TxCommitHandler implements StateAwareMethodListener<TxCommitBody> +{ + private static TxCommitHandler _instance = new TxCommitHandler(); + + public static TxCommitHandler getInstance() + { + return _instance; + } + + private TxCommitHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<TxCommitBody> evt) throws AMQException + { + + try{ + protocolSession.getChannel(evt.getChannelId()).commit(); + protocolSession.writeFrame(TxCommitOkBody.createAMQFrame(evt.getChannelId())); + }catch(AMQException e){ + throw evt.getMethod().getChannelException(e.getErrorCode(), "Failed to commit: " + e.getMessage()); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/TxRollbackHandler.java b/java/broker/src/org/apache/qpid/server/handler/TxRollbackHandler.java new file mode 100644 index 0000000000..ff2d79fb95 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/TxRollbackHandler.java @@ -0,0 +1,59 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.TxRollbackBody; +import org.apache.qpid.framing.TxRollbackOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.AMQChannel; + +public class TxRollbackHandler implements StateAwareMethodListener<TxRollbackBody> +{ + private static TxRollbackHandler _instance = new TxRollbackHandler(); + + public static TxRollbackHandler getInstance() + { + return _instance; + } + + private TxRollbackHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<TxRollbackBody> evt) throws AMQException + { + try{ + AMQChannel channel = protocolSession.getChannel(evt.getChannelId()); + channel.rollback(); + protocolSession.writeFrame(TxRollbackOkBody.createAMQFrame(evt.getChannelId())); + //Now resend all the unacknowledged messages back to the original subscribers. + //(Must be done after the TxnRollback-ok response). + channel.resend(protocolSession); + }catch(AMQException e){ + throw evt.getMethod().getChannelException(e.getErrorCode(), "Failed to rollback: " + e.getMessage()); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/handler/TxSelectHandler.java b/java/broker/src/org/apache/qpid/server/handler/TxSelectHandler.java new file mode 100644 index 0000000000..d55930489c --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/handler/TxSelectHandler.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.TxSelectBody; +import org.apache.qpid.framing.TxSelectOkBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class TxSelectHandler implements StateAwareMethodListener<TxSelectBody> +{ + private static TxSelectHandler _instance = new TxSelectHandler(); + + public static TxSelectHandler getInstance() + { + return _instance; + } + + private TxSelectHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<TxSelectBody> evt) throws AMQException + { + protocolSession.getChannel(evt.getChannelId()).setTransactional(true); + protocolSession.writeFrame(TxSelectOkBody.createAMQFrame(evt.getChannelId())); + } +} diff --git a/java/broker/src/org/apache/qpid/server/jms/JmsConsumer.java b/java/broker/src/org/apache/qpid/server/jms/JmsConsumer.java new file mode 100644 index 0000000000..da82d2166e --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/jms/JmsConsumer.java @@ -0,0 +1,107 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.jms; + +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.AMQException; + +public class JmsConsumer +{ + private int _prefetchValue; + + private PrefetchUnits _prefetchUnits; + + private boolean _noLocal; + + private boolean _autoAck; + + private boolean _exclusive; + + private AMQProtocolSession _protocolSession; + + public enum PrefetchUnits + { + OCTETS, + MESSAGES + } + + public int getPrefetchValue() + { + return _prefetchValue; + } + + public void setPrefetchValue(int prefetchValue) + { + _prefetchValue = prefetchValue; + } + + public PrefetchUnits getPrefetchUnits() + { + return _prefetchUnits; + } + + public void setPrefetchUnits(PrefetchUnits prefetchUnits) + { + _prefetchUnits = prefetchUnits; + } + + public boolean isNoLocal() + { + return _noLocal; + } + + public void setNoLocal(boolean noLocal) + { + _noLocal = noLocal; + } + + public boolean isAutoAck() + { + return _autoAck; + } + + public void setAutoAck(boolean autoAck) + { + _autoAck = autoAck; + } + + public boolean isExclusive() + { + return _exclusive; + } + + public void setExclusive(boolean exclusive) + { + _exclusive = exclusive; + } + + public AMQProtocolSession getProtocolSession() + { + return _protocolSession; + } + + public void setProtocolSession(AMQProtocolSession protocolSession) + { + _protocolSession = protocolSession; + } + + public void deliverMessage() throws AMQException + { + + } +} diff --git a/java/broker/src/org/apache/qpid/server/management/AMQManagedObject.java b/java/broker/src/org/apache/qpid/server/management/AMQManagedObject.java new file mode 100644 index 0000000000..fea955b93b --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/AMQManagedObject.java @@ -0,0 +1,65 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.management; + +import javax.management.ListenerNotFoundException; +import javax.management.NotificationBroadcaster; +import javax.management.NotificationBroadcasterSupport; +import javax.management.NotificationFilter; +import javax.management.NotificationListener; + +/** + * This class provides additinal feature of Notification Broadcaster to the + * DefaultManagedObject. + * @author Bhupendra Bhardwaj + * @version 0.1 + */ +public abstract class AMQManagedObject extends DefaultManagedObject + implements NotificationBroadcaster +{ + /** + * broadcaster support class + */ + protected NotificationBroadcasterSupport _broadcaster = new NotificationBroadcasterSupport(); + + /** + * sequence number for notifications + */ + protected long _notificationSequenceNumber = 0; + + protected AMQManagedObject(Class<?> managementInterface, String typeName) + { + super(managementInterface, typeName); + } + + + // notification broadcaster implementation + + public void addNotificationListener(NotificationListener listener, + NotificationFilter filter, + Object handback) + { + _broadcaster.addNotificationListener(listener, filter, handback); + } + + public void removeNotificationListener(NotificationListener listener) + throws ListenerNotFoundException + { + _broadcaster.removeNotificationListener(listener); + } +} diff --git a/java/broker/src/org/apache/qpid/server/management/DefaultManagedObject.java b/java/broker/src/org/apache/qpid/server/management/DefaultManagedObject.java new file mode 100644 index 0000000000..bb8603f8b4 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/DefaultManagedObject.java @@ -0,0 +1,126 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.management; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.registry.ApplicationRegistry; + +import javax.management.ObjectName; +import javax.management.MalformedObjectNameException; + +/** + * Provides implementation of the boilerplate ManagedObject interface. Most managed objects should find it useful + * to extend this class rather than implementing ManagedObject from scratch. + * + */ +public abstract class DefaultManagedObject implements ManagedObject +{ + private Class<?> _managementInterface; + + private String _typeName; + + protected DefaultManagedObject(Class<?> managementInterface, String typeName) + { + _managementInterface = managementInterface; + _typeName = typeName; + } + + public String getType() + { + return _typeName; + } + + public Class<?> getManagementInterface() + { + return _managementInterface; + } + + public void register() throws AMQException + { + try + { + ApplicationRegistry.getInstance().getManagedObjectRegistry().registerObject(this); + } + catch (Exception e) + { + throw new AMQException("Error registering managed object " + this + ": " + e, e); + } + } + + public void unregister() throws AMQException + { + try + { + ApplicationRegistry.getInstance().getManagedObjectRegistry().unregisterObject(this); + } + catch (Exception e) + { + throw new AMQException("Error unregistering managed object: " + this + ": " + e, e); + } + } + + public String toString() + { + return getObjectInstanceName() + "[" + getType() + "]"; + } + + /** + * Created the ObjectName as per the JMX Specs + * @return ObjectName + * @throws MalformedObjectNameException + */ + public ObjectName getObjectName() + throws MalformedObjectNameException + { + String name = jmxEncode(new StringBuffer(getObjectInstanceName()), 0).toString(); + StringBuffer objectName = new StringBuffer(ManagedObject.DOMAIN); + objectName.append(":type=").append(getType()); + objectName.append(",name=").append(name); + + return new ObjectName(objectName.toString()); + } + + private static StringBuffer jmxEncode(StringBuffer jmxName, int attrPos) + { + for (int i = attrPos; i < jmxName.length(); i++) + { + if (jmxName.charAt(i) == ',') + { + jmxName.setCharAt(i, ';'); + } + else if (jmxName.charAt(i) == ':') + { + jmxName.setCharAt(i, '-'); + } + else if (jmxName.charAt(i) == '?' || + jmxName.charAt(i) == '*' || + jmxName.charAt(i) == '\\') + { + jmxName.insert(i, '\\'); + i++; + } + else if (jmxName.charAt(i) == '\n') + { + jmxName.insert(i, '\\'); + i++; + jmxName.setCharAt(i, 'n'); + } + } + return jmxName; + } +}
\ No newline at end of file diff --git a/java/broker/src/org/apache/qpid/server/management/JMXManagedObjectRegistry.java b/java/broker/src/org/apache/qpid/server/management/JMXManagedObjectRegistry.java new file mode 100644 index 0000000000..d556973970 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/JMXManagedObjectRegistry.java @@ -0,0 +1,66 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.management; + +import org.apache.log4j.Logger; + +import javax.management.JMException; +import javax.management.MBeanServer; +import javax.management.NotCompliantMBeanException; +import javax.management.StandardMBean; +import java.lang.management.ManagementFactory; + +public class JMXManagedObjectRegistry implements ManagedObjectRegistry +{ + private static final Logger _log = Logger.getLogger(JMXManagedObjectRegistry.class); + + private final MBeanServer _mbeanServer; + + public JMXManagedObjectRegistry() + { + _log.info("Initialising managed object registry using platform MBean server"); + // we use the platform MBean server currently but this must be changed or at least be configuurable + _mbeanServer = ManagementFactory.getPlatformMBeanServer(); + } + + public void registerObject(ManagedObject managedObject) throws JMException + { + try + { + _mbeanServer.registerMBean(managedObject, managedObject.getObjectName()); + } + catch(NotCompliantMBeanException ex) + { + // The following is a hack due to a silly change to StandardMBean in JDK 1.6 + // They have added in generics to get compile time safety which reduces the + // flexibility + Object o = managedObject; + Class<Object> clazz = (Class<Object>) managedObject.getManagementInterface(); + StandardMBean mbean = new StandardMBean(o, clazz); + + _mbeanServer.registerMBean(mbean, managedObject.getObjectName()); + } + + } + + public void unregisterObject(ManagedObject managedObject) throws JMException + { + _mbeanServer.unregisterMBean(managedObject.getObjectName()); + } + +}
\ No newline at end of file diff --git a/java/broker/src/org/apache/qpid/server/management/Managable.java b/java/broker/src/org/apache/qpid/server/management/Managable.java new file mode 100644 index 0000000000..e62e1c7f87 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/Managable.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.management; + +/** + * Any object that can return a related MBean should implement this interface. + * + * This enables other classes to get the managed object, which in turn is useful when + * constructing relationships between managed objects without having to maintain + * separate data structures containing MBeans. + * + */ +public interface Managable +{ + ManagedObject getManagedObject(); +} diff --git a/java/broker/src/org/apache/qpid/server/management/ManagedBroker.java b/java/broker/src/org/apache/qpid/server/management/ManagedBroker.java new file mode 100644 index 0000000000..ecf6123c7d --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/ManagedBroker.java @@ -0,0 +1,78 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.qpid.server.management; + +import javax.management.JMException; +import java.io.IOException; + +/** + * The ManagedBroker is the management interface to expose management + * features of the Broker. + * + * @author Bhupendra Bhardwaj + * @version 0.1 + */ +public interface ManagedBroker +{ + static final String TYPE = "BrokerManager"; + + /** + * Creates a new Exchange. + * @param name + * @param type + * @param durable + * @param passive + * @throws IOException + * @throws JMException + */ + void createNewExchange(String name, String type, boolean durable, boolean passive) + throws IOException, JMException; + + /** + * unregisters all the channels, queuebindings etc and unregisters + * this exchange from managed objects. + * @param exchange + * @throws IOException + * @throws JMException + */ + void unregisterExchange(String exchange) + throws IOException, JMException; + + /** + * Create a new Queue on the Broker server + * @param queueName + * @param durable + * @param owner + * @param autoDelete + * @throws IOException + * @throws JMException + */ + void createQueue(String queueName, boolean durable, String owner, boolean autoDelete) + throws IOException, JMException; + + /** + * Unregisters the Queue bindings, removes the subscriptions and unregisters + * from the managed objects. + * @param queueName + * @throws IOException + * @throws JMException + */ + void deleteQueue(String queueName) + throws IOException, JMException; +} diff --git a/java/broker/src/org/apache/qpid/server/management/ManagedObject.java b/java/broker/src/org/apache/qpid/server/management/ManagedObject.java new file mode 100644 index 0000000000..0643f84744 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/ManagedObject.java @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.management; + +import org.apache.qpid.AMQException; + +import javax.management.ObjectName; +import javax.management.MalformedObjectNameException; + +/** + * This should be implemented by all Managable objects. + */ +public interface ManagedObject +{ + static final String DOMAIN = "org.apache.qpid"; + + /** + * @return the name that uniquely identifies this object instance. It must be + * unique only among objects of this type at this level in the hierarchy so + * the uniqueness should not be too difficult to ensure. + */ + String getObjectInstanceName(); + + String getType(); + + Class<?> getManagementInterface(); + + void register() throws AMQException; + + void unregister() throws AMQException; + + /** + * Returns the ObjectName required for the mbeanserver registration. + * @return ObjectName + * @throws MalformedObjectNameException + */ + ObjectName getObjectName() throws MalformedObjectNameException; +} diff --git a/java/broker/src/org/apache/qpid/server/management/ManagedObjectRegistry.java b/java/broker/src/org/apache/qpid/server/management/ManagedObjectRegistry.java new file mode 100644 index 0000000000..7270ec83b4 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/ManagedObjectRegistry.java @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.management; + +import javax.management.JMException; + +/** + * Handles the registration (and unregistration and so on) of managed objects. + * + * Managed objects are responsible for exposting attributes, operations and notifications. They will expose + * these outside the JVM therefore it is important not to use implementation objects directly as managed objects. + * Instead, creating inner classes and exposing those is an effective way of exposing internal state in a + * controlled way. + * + * Although we do not explictly use them while targetting Java 5, the enhanced MXBean approach in Java 6 will + * be the obvious choice for managed objects. + * + */ +public interface ManagedObjectRegistry +{ + void registerObject(ManagedObject managedObject) throws JMException; + + void unregisterObject(ManagedObject managedObject) throws JMException; +} diff --git a/java/broker/src/org/apache/qpid/server/management/ManagementConfiguration.java b/java/broker/src/org/apache/qpid/server/management/ManagementConfiguration.java new file mode 100644 index 0000000000..ec80009d17 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/ManagementConfiguration.java @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.management; + +import org.apache.qpid.configuration.Configured; + +public class ManagementConfiguration +{ + @Configured(path = "management.enabled", + defaultValue = "true") + public boolean enabled; +} diff --git a/java/broker/src/org/apache/qpid/server/management/NoopManagedObjectRegistry.java b/java/broker/src/org/apache/qpid/server/management/NoopManagedObjectRegistry.java new file mode 100644 index 0000000000..3bf2c8d9ca --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/management/NoopManagedObjectRegistry.java @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.management; + +import org.apache.log4j.Logger; + +import javax.management.JMException; + +/** + * This managed object registry does not actually register MBeans. This can be used in tests when management is + * not required or when management has been disabled. + * + */ +public class NoopManagedObjectRegistry implements ManagedObjectRegistry +{ + private static final Logger _log = Logger.getLogger(NoopManagedObjectRegistry.class); + + public NoopManagedObjectRegistry() + { + _log.info("Management is disabled"); + } + + public void registerObject(ManagedObject managedObject) throws JMException + { + } + + public void unregisterObject(ManagedObject managedObject) throws JMException + { + } +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/AMQMethodEvent.java b/java/broker/src/org/apache/qpid/server/protocol/AMQMethodEvent.java new file mode 100644 index 0000000000..0c8d049951 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/AMQMethodEvent.java @@ -0,0 +1,62 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.qpid.framing.AMQMethodBody; + +/** + * An event that is passed to AMQMethodListeners describing a particular method. + * It supplies the: + * <ul><li>channel id</li> + * <li>protocol method</li> + * to listeners. This means that listeners do not need to be stateful. + * + * In the StateAwareMethodListener, other useful objects such as the protocol session + * are made available. + * + */ +public class AMQMethodEvent<M extends AMQMethodBody> +{ + private final M _method; + + private final int _channelId; + + public AMQMethodEvent(int channelId, M method) + { + _channelId = channelId; + _method = method; + } + + public M getMethod() + { + return _method; + } + + public int getChannelId() + { + return _channelId; + } + + public String toString() + { + StringBuilder buf = new StringBuilder("Method event: "); + buf.append("\nChannel id: ").append(_channelId); + buf.append("\nMethod: ").append(_method); + return buf.toString(); + } +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/AMQMethodListener.java b/java/broker/src/org/apache/qpid/server/protocol/AMQMethodListener.java new file mode 100644 index 0000000000..e8d973cd91 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/AMQMethodListener.java @@ -0,0 +1,52 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.framing.AMQMethodBody; + +/** + * Interface that allows classes to register for interest in protocol method frames. + * + */ +public interface AMQMethodListener +{ + /** + * Invoked when a method frame has been received + * @param evt the event that contains the method and channel + * @param protocolSession the protocol session associated with the event + * @return true if the handler has processed the method frame, false otherwise. Note + * that this does not prohibit the method event being delivered to subsequent listeners + * but can be used to determine if nobody has dealt with an incoming method frame. + * @throws AMQException if an error has occurred. This exception will be delivered + * to all registered listeners using the error() method (see below) allowing them to + * perform cleanup if necessary. + */ + <B extends AMQMethodBody> boolean methodReceived(AMQMethodEvent<B> evt, + AMQProtocolSession protocolSession, + QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry) throws AMQException; + + /** + * Callback when an error has occurred. Allows listeners to clean up. + * @param e + */ + void error(AMQException e); +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java b/java/broker/src/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java new file mode 100644 index 0000000000..80aa4756d2 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java @@ -0,0 +1,603 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.log4j.Logger; +import org.apache.mina.common.IoSession; +import org.apache.mina.common.IdleStatus; +import org.apache.mina.transport.vmpipe.VmPipeAddress; +import org.apache.qpid.AMQChannelException; +import org.apache.qpid.AMQException; +import org.apache.qpid.codec.AMQCodecFactory; +import org.apache.qpid.codec.AMQDecoder; +import org.apache.qpid.framing.*; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.RequiredDeliveryException; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.management.DefaultManagedObject; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; + +import javax.security.sasl.SaslServer; +import javax.management.ObjectName; +import javax.management.MalformedObjectNameException; +import javax.management.openmbean.*; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CopyOnWriteArraySet; +import java.net.InetSocketAddress; +import java.net.SocketAddress; + +public class AMQMinaProtocolSession implements AMQProtocolSession, ProtocolVersionList +{ + private static final Logger _logger = Logger.getLogger(AMQProtocolSession.class); + + private final IoSession _minaProtocolSession; + + private String _contextKey; + + private final Map<Integer, AMQChannel> _channelMap = new HashMap<Integer, AMQChannel>(); + + private final CopyOnWriteArraySet<AMQMethodListener> _frameListeners = new CopyOnWriteArraySet<AMQMethodListener>(); + + private final AMQStateManager _stateManager; + + private final QueueRegistry _queueRegistry; + + private final ExchangeRegistry _exchangeRegistry; + + private AMQCodecFactory _codecFactory; + + private AMQProtocolSessionMBean _managedObject; + + private SaslServer _saslServer; + + private Object _lastReceived; + + private Object _lastSent; + + private boolean _closed; + + private long _maxNoOfChannels; + + /* AMQP Version for this session */ + + private byte _major; + private byte _minor; + + /** + * This class implements the management interface (is an MBean). In order to make more attributes, operations + * and notifications available over JMX simply augment the ManagedConnection interface and add the appropriate + * implementation here. + */ + private final class AMQProtocolSessionMBean extends DefaultManagedObject implements ManagedConnection + { + /** + * Represents the channel attributes sent with channel data. + */ + private String[] _channelAtttibuteNames = { "ChannelId", + "ChannelName", + "Transactional", + "DefaultQueue"}; + private String[] _channelAttributeDescriptions = { "Channel Identifier", + "Channel Name", + "is Channel Transactional?", + "Default Queue Name" }; + private OpenType[] _channelAttributeTypes = { SimpleType.INTEGER, + SimpleType.OBJECTNAME, + SimpleType.BOOLEAN, + SimpleType.STRING }; + /** + * Channels in the list will be indexed according to channelId. + */ + private String[] _indexNames = { "ChannelId" }; + + /** + * represents the data type for channel data. + */ + private CompositeType _channelType = null; + /** + * Datatype for list of channelsType. + */ + private TabularType _channelsType = null; + + private TabularDataSupport _channelsList = null; + + public AMQProtocolSessionMBean() + { + super(ManagedConnection.class, ManagedConnection.TYPE); + init(); + } + + /** + * initialises the CompositeTypes and TabularType attributes. + */ + private void init() + { + try + { + _channelType = new CompositeType("channel", + "a Channel", + _channelAtttibuteNames, + _channelAttributeDescriptions, + _channelAttributeTypes); + + _channelsType = new TabularType("channelsType", + "List of available channelsType", + _channelType, + _indexNames); + } + catch(OpenDataException ex) + { + // It should never occur. + _logger.error("OpenDataTypes could not be created.", ex); + throw new RuntimeException(ex); + } + } + + public Date getLastIoTime() + { + return new Date(_minaProtocolSession.getLastIoTime()); + } + + public String getRemoteAddress() + { + return _minaProtocolSession.getRemoteAddress().toString(); + } + + public long getWrittenBytes() + { + return _minaProtocolSession.getWrittenBytes(); + } + + public long getReadBytes() + { + return _minaProtocolSession.getReadBytes(); + } + + public long getMaximumNumberOfAllowedChannels() + { + return _maxNoOfChannels; + } + + public void setMaximumNumberOfAllowedChannels(long value) + { + _maxNoOfChannels = value; + } + + public String getObjectInstanceName() + { + String remote = getRemoteAddress(); + return "anonymous".equals(remote) ? remote + hashCode() : remote; + } + + /** + * Creates the list of channels in tabular form from the _channelMap. + * @return list of channels in tabular form. + * @throws OpenDataException + */ + private TabularData getChannels() + throws OpenDataException + { + _channelsList = new TabularDataSupport(_channelsType); + + for (Map.Entry<Integer, AMQChannel> entry : _channelMap.entrySet()) + { + AMQChannel channel = entry.getValue(); + ObjectName channelObjectName = null; + + try + { + channelObjectName = channel.getObjectName(); + } + catch (MalformedObjectNameException ex) + { + _logger.error("Unable to create object name: ", ex); + } + + Object[] itemValues = {channel.getChannelId(), + channelObjectName, + channel.isTransactional(), + (channel.getDefaultQueue() != null) ? channel.getDefaultQueue().getName() : null}; + + CompositeData channelData = new CompositeDataSupport(_channelType, + _channelAtttibuteNames, + itemValues); + + _channelsList.put(channelData); + } + + return _channelsList; + } + + public TabularData viewChannels() + throws OpenDataException + { + return getChannels(); + } + + public void closeChannel(int id) + throws Exception + { + try + { + AMQMinaProtocolSession.this.closeChannel(id); + } + catch (AMQException ex) + { + throw new Exception(ex.toString()); + } + } + + public void closeConnection() + throws Exception + { + try + { + AMQMinaProtocolSession.this.closeSession(); + } + catch (AMQException ex) + { + throw new Exception(ex.toString()); + } + } + + } + + public AMQMinaProtocolSession(IoSession session, QueueRegistry queueRegistry, ExchangeRegistry exchangeRegistry, + AMQCodecFactory codecFactory) + throws AMQException + { + this(session, queueRegistry, exchangeRegistry, codecFactory, new AMQStateManager()); + } + + public AMQMinaProtocolSession(IoSession session, QueueRegistry queueRegistry, ExchangeRegistry exchangeRegistry, + AMQCodecFactory codecFactory, AMQStateManager stateManager) + throws AMQException + { + _stateManager = stateManager; + _minaProtocolSession = session; + session.setAttachment(this); + _frameListeners.add(_stateManager); + _queueRegistry = queueRegistry; + _exchangeRegistry = exchangeRegistry; + _codecFactory = codecFactory; + _managedObject = new AMQProtocolSessionMBean(); + _managedObject.register(); + } + + public static AMQProtocolSession getAMQProtocolSession(IoSession minaProtocolSession) + { + return (AMQProtocolSession) minaProtocolSession.getAttachment(); + } + + public void dataBlockReceived(AMQDataBlock message) + throws Exception + { + _lastReceived = message; + if (message instanceof ProtocolInitiation) + { + ProtocolInitiation pi = (ProtocolInitiation) message; + // this ensures the codec never checks for a PI message again + ((AMQDecoder)_codecFactory.getDecoder()).setExpectProtocolInitiation(false); + try { + pi.checkVersion(this); // Fails if not correct + // This sets the protocol version (and hence framing classes) for this session. + _major = pi.protocolMajor; + _minor = pi.protocolMinor; + String mechanisms = ApplicationRegistry.getInstance().getAuthenticationManager().getMechanisms(); + String locales = "en_US"; + AMQFrame response = ConnectionStartBody.createAMQFrame((short)0, pi.protocolMajor, pi.protocolMinor, null, + mechanisms.getBytes(), locales.getBytes()); + _minaProtocolSession.write(response); + } catch (AMQException e) { + _logger.error("Received incorrect protocol initiation", e); + /* Find last protocol version in protocol version list. Make sure last protocol version + listed in the build file (build-module.xml) is the latest version which will be used + here. */ + int i = pv.length - 1; + _minaProtocolSession.write(new ProtocolInitiation(pv[i][PROTOCOL_MAJOR], pv[i][PROTOCOL_MINOR])); + // TODO: Close connection (but how to wait until message is sent?) + } + } + else + { + AMQFrame frame = (AMQFrame) message; + + if (frame.bodyFrame instanceof AMQMethodBody) + { + methodFrameReceived(frame); + } + else + { + try + { + contentFrameReceived(frame); + } + catch (RequiredDeliveryException e) + { + //need to return the message: + _logger.info("Returning message to " + this + " channel " + frame.channel + + ": " + e.getMessage()); + writeFrame(e.getReturnMessage(frame.channel)); + } + } + } + } + + private void methodFrameReceived(AMQFrame frame) + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Method frame received: " + frame); + } + final AMQMethodEvent<AMQMethodBody> evt = new AMQMethodEvent<AMQMethodBody>(frame.channel, + (AMQMethodBody)frame.bodyFrame); + try + { + boolean wasAnyoneInterested = false; + for (AMQMethodListener listener : _frameListeners) + { + wasAnyoneInterested = listener.methodReceived(evt, this, _queueRegistry, _exchangeRegistry) || + wasAnyoneInterested; + } + if (!wasAnyoneInterested) + { + throw new AMQException("AMQMethodEvent " + evt + " was not processed by any listener."); + } + } + catch (AMQChannelException e) + { + _logger.error("Closing channel due to: " + e.getMessage()); + writeFrame(e.getCloseFrame(frame.channel)); + } + catch (AMQException e) + { + for (AMQMethodListener listener : _frameListeners) + { + listener.error(e); + } + _minaProtocolSession.close(); + } + } + + private void contentFrameReceived(AMQFrame frame) throws AMQException + { + if (frame.bodyFrame instanceof ContentHeaderBody) + { + contentHeaderReceived(frame); + } + else if (frame.bodyFrame instanceof ContentBody) + { + contentBodyReceived(frame); + } + else if (frame.bodyFrame instanceof HeartbeatBody) + { + _logger.debug("Received heartbeat from client"); + } + else + { + _logger.warn("Unrecognised frame " + frame.getClass().getName()); + } + } + + private void contentHeaderReceived(AMQFrame frame) throws AMQException + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Content header frame received: " + frame); + } + getChannel(frame.channel).publishContentHeader((ContentHeaderBody)frame.bodyFrame); + } + + private void contentBodyReceived(AMQFrame frame) throws AMQException + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Content body frame received: " + frame); + } + getChannel(frame.channel).publishContentBody((ContentBody)frame.bodyFrame); + } + + /** + * Convenience method that writes a frame to the protocol session. Equivalent + * to calling getProtocolSession().write(). + * + * @param frame the frame to write + */ + public void writeFrame(AMQDataBlock frame) + { + _lastSent = frame; + _minaProtocolSession.write(frame); + } + + public String getContextKey() + { + return _contextKey; + } + + public void setContextKey(String contextKey) + { + _contextKey = contextKey; + } + + public AMQChannel getChannel(int channelId) throws AMQException + { + return _channelMap.get(channelId); + } + + public void addChannel(AMQChannel channel) + { + _channelMap.put(channel.getChannelId(), channel); + } + + /** + * Close a specific channel. This will remove any resources used by the channel, including: + * <ul><li>any queue subscriptions (this may in turn remove queues if they are auto delete</li> + * </ul> + * @param channelId id of the channel to close + * @throws AMQException if an error occurs closing the channel + * @throws IllegalArgumentException if the channel id is not valid + */ + public void closeChannel(int channelId) throws AMQException + { + final AMQChannel channel = _channelMap.get(channelId); + if (channel == null) + { + throw new IllegalArgumentException("Unknown channel id"); + } + else + { + try + { + channel.close(this); + } + finally + { + _channelMap.remove(channelId); + } + } + } + + /** + * In our current implementation this is used by the clustering code. + * @param channelId + */ + public void removeChannel(int channelId) + { + _channelMap.remove(channelId); + } + + /** + * Initialise heartbeats on the session. + * @param delay delay in seconds (not ms) + */ + public void initHeartbeats(int delay) + { + if(delay > 0) + { + _minaProtocolSession.setIdleTime(IdleStatus.WRITER_IDLE, delay); + _minaProtocolSession.setIdleTime(IdleStatus.READER_IDLE, HeartbeatConfig.getInstance().getTimeout(delay)); + } + } + + /** + * Closes all channels that were opened by this protocol session. This frees up all resources + * used by the channel. + * @throws AMQException if an error occurs while closing any channel + */ + private void closeAllChannels() throws AMQException + { + for (AMQChannel channel : _channelMap.values()) + { + channel.close(this); + } + } + + /** + * This must be called when the session is _closed in order to free up any resources + * managed by the session. + */ + public void closeSession() throws AMQException + { + if(!_closed) + { + _closed = true; + closeAllChannels(); + if (_managedObject != null) + { + _managedObject.unregister(); + } + } + } + + public String toString() + { + return "AMQProtocolSession(" + _minaProtocolSession.getRemoteAddress() + ")"; + } + + public String dump() + { + return this + " last_sent=" + _lastSent + " last_received=" + _lastReceived; + } + + /** + * @return an object that can be used to identity + */ + public Object getKey() + { + return _minaProtocolSession.getRemoteAddress(); + } + + /** + * Get the fully qualified domain name of the local address to which this session is bound. Since some servers + * may be bound to multiple addresses this could vary depending on the acceptor this session was created from. + * + * @return a String FQDN + */ + public String getLocalFQDN() + { + SocketAddress address = _minaProtocolSession.getLocalAddress(); + // we use the vmpipe address in some tests hence the need for this rather ugly test. The host + // information is used by SASL primary. + if (address instanceof InetSocketAddress) + { + return ((InetSocketAddress)address).getHostName(); + } + else if (address instanceof VmPipeAddress) + { + return "vmpipe:" + ((VmPipeAddress)address).getPort(); + } + else + { + throw new IllegalArgumentException("Unsupported socket address class: " + address); + } + } + + public SaslServer getSaslServer() + { + return _saslServer; + } + + public void setSaslServer(SaslServer saslServer) + { + _saslServer = saslServer; + } + + /** + * Convenience methods for managing AMQP version. + * NOTE: Both major and minor will be set to 0 prior to protocol initiation. + */ + + public byte getAmqpMajor() + { + return _major; + } + + public byte getAmqpMinor() + { + return _minor; + } + + public boolean amqpVersionEquals(byte major, byte minor) + { + return _major == major && _minor == minor; + } +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/AMQPFastProtocolHandler.java b/java/broker/src/org/apache/qpid/server/protocol/AMQPFastProtocolHandler.java new file mode 100644 index 0000000000..a51dbd5d59 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/AMQPFastProtocolHandler.java @@ -0,0 +1,217 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.qpid.AMQException; +import org.apache.qpid.codec.AMQCodecFactory; +import org.apache.qpid.framing.*; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.transport.ConnectorConfiguration; +import org.apache.qpid.ssl.BogusSSLContextFactory; +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IdleStatus; +import org.apache.mina.common.IoHandlerAdapter; +import org.apache.mina.common.IoSession; +import org.apache.mina.filter.SSLFilter; +import org.apache.mina.filter.codec.ProtocolCodecFilter; +import org.apache.mina.util.SessionUtil; + +import java.io.IOException; + + +/** + * The protocol handler handles "protocol events" for all connections. The state + * associated with an individual connection is accessed through the protocol session. + * + * We delegate all frame (message) processing to the AMQProtocolSession which wraps + * the state for the connection. + * + */ +public class AMQPFastProtocolHandler extends IoHandlerAdapter implements ProtocolVersionList +{ + private static final Logger _logger = Logger.getLogger(AMQPFastProtocolHandler.class); + + /** + * The registry of all queues. This is passed to frame listeners when frame + * events occur. + */ + private final QueueRegistry _queueRegistry; + + /** + * The registry of all exchanges. This is passed to frame listeners when frame + * events occur. + */ + private final ExchangeRegistry _exchangeRegistry; + + private boolean _useSSL; + + public AMQPFastProtocolHandler(QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry) + { + _queueRegistry = queueRegistry; + _exchangeRegistry = exchangeRegistry; + + _logger.debug("AMQPFastProtocolHandler created"); + } + + protected AMQPFastProtocolHandler(AMQPFastProtocolHandler handler) + { + this(handler._queueRegistry, handler._exchangeRegistry); + } + + public void sessionCreated(IoSession protocolSession) throws Exception + { + SessionUtil.initialize(protocolSession); + final AMQCodecFactory codecFactory = new AMQCodecFactory(true); + + createSession(protocolSession, _queueRegistry, _exchangeRegistry, codecFactory); + _logger.info("Protocol session created"); + + final ProtocolCodecFilter pcf = new ProtocolCodecFilter(codecFactory); + + ConnectorConfiguration connectorConfig = ApplicationRegistry.getInstance(). + getConfiguredObject(ConnectorConfiguration.class); + if (connectorConfig.enableExecutorPool) + { + if (_useSSL) + { + protocolSession.getFilterChain().addAfter("AsynchronousReadFilter", "sslFilter", + new SSLFilter(BogusSSLContextFactory.getInstance(true))); + } + protocolSession.getFilterChain().addBefore("AsynchronousWriteFilter", "protocolFilter", pcf); + } + else + { + protocolSession.getFilterChain().addLast("protocolFilter", pcf); + } + } + + /** + * Separated into its own, protected, method to allow easier reuse + */ + protected void createSession(IoSession session, QueueRegistry queues, ExchangeRegistry exchanges, AMQCodecFactory codec) throws AMQException + { + new AMQMinaProtocolSession(session, queues, exchanges, codec); + } + + public void sessionOpened(IoSession protocolSession) throws Exception + { + _logger.info("Session opened"); + } + + public void sessionClosed(IoSession protocolSession) throws Exception + { + _logger.info("Protocol Session closed"); + final AMQProtocolSession amqProtocolSession = AMQMinaProtocolSession.getAMQProtocolSession(protocolSession); + amqProtocolSession.closeSession(); + } + + public void sessionIdle(IoSession session, IdleStatus status) throws Exception + { + _logger.debug("Protocol Session [" + this + "] idle: " + status); + if(IdleStatus.WRITER_IDLE.equals(status)) + { + //write heartbeat frame: + session.write(HeartbeatBody.FRAME); + } + else if(IdleStatus.READER_IDLE.equals(status)) + { + //failover: + throw new IOException("Timed out while waiting for heartbeat from peer."); + } + + } + + public void exceptionCaught(IoSession protocolSession, Throwable throwable) throws Exception + { + AMQProtocolSession session = AMQMinaProtocolSession.getAMQProtocolSession(protocolSession); + if (throwable instanceof AMQProtocolHeaderException) + { + /* Find last protocol version in protocol version list. Make sure last protocol version + listed in the build file (build-module.xml) is the latest version which will be returned + here. */ + int i = pv.length - 1; + protocolSession.write(new ProtocolInitiation(pv[i][PROTOCOL_MAJOR], pv[i][PROTOCOL_MINOR])); + protocolSession.close(); + _logger.error("Error in protocol initiation " + session + ": " + throwable.getMessage(), throwable); + } + else if(throwable instanceof IOException) + { + _logger.error("IOException caught in" + session + ", session closed implictly: " + throwable, throwable); + } + else + { + protocolSession.write(ConnectionCloseBody.createAMQFrame(0, 200, throwable.getMessage(), 0, 0)); + _logger.error("Exception caught in" + session + ", closing session explictly: " + throwable, throwable); + protocolSession.close(); + } + } + + /** + * Invoked when a message is received on a particular protocol session. Note that a + * protocol session is directly tied to a particular physical connection. + * @param protocolSession the protocol session that received the message + * @param message the message itself (i.e. a decoded frame) + * @throws Exception if the message cannot be processed + */ + public void messageReceived(IoSession protocolSession, Object message) throws Exception + { + final AMQProtocolSession amqProtocolSession = AMQMinaProtocolSession.getAMQProtocolSession(protocolSession); + + if (message instanceof AMQDataBlock) + { + amqProtocolSession.dataBlockReceived((AMQDataBlock) message); + } + else if (message instanceof ByteBuffer) + { + throw new IllegalStateException("Handed undecoded ByteBuffer buf = " + message); + } + else + { + throw new IllegalStateException("Handed unhandled message. message.class = " + message.getClass() + " message = " + message); + } + } + + /** + * Called after a message has been sent out on a particular protocol session + * @param protocolSession the protocol session (i.e. connection) on which this + * message was sent + * @param object the message (frame) that was encoded and sent + * @throws Exception if we want to indicate an error + */ + public void messageSent(IoSession protocolSession, Object object) throws Exception + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Message sent: " + object); + } + } + + public boolean isUseSSL() + { + return _useSSL; + } + + public void setUseSSL(boolean useSSL) + { + _useSSL = useSSL; + } +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/AMQPProtocolProvider.java b/java/broker/src/org/apache/qpid/server/protocol/AMQPProtocolProvider.java new file mode 100644 index 0000000000..0088db08bb --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/AMQPProtocolProvider.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.IApplicationRegistry; + +/** + * The protocol provide's role is to encapsulate the initialisation of the protocol handler. + * + * The protocol handler (see AMQPFastProtocolHandler class) handles protocol events + * such as connection closing or a frame being received. It can either do this directly + * or pass off to the protocol session in the cases where state information is required to + * deal with the event. + * + */ +public class AMQPProtocolProvider +{ + /** + * Handler for protocol events + */ + private AMQPFastProtocolHandler _handler; + + public AMQPProtocolProvider() + { + IApplicationRegistry registry = ApplicationRegistry.getInstance(); + _handler = new AMQPFastProtocolHandler(registry.getQueueRegistry(), + registry.getExchangeRegistry()); + } + + public AMQPFastProtocolHandler getHandler() + { + return _handler; + } +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/AMQProtocolSession.java b/java/broker/src/org/apache/qpid/server/protocol/AMQProtocolSession.java new file mode 100644 index 0000000000..402ebc329d --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/AMQProtocolSession.java @@ -0,0 +1,122 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.AMQException; + +import javax.security.sasl.SaslServer; + + +public interface AMQProtocolSession +{ + /** + * Called when a protocol data block is received + * @param message the data block that has been received + * @throws Exception if processing the datablock fails + */ + void dataBlockReceived(AMQDataBlock message) throws Exception; + + /** + * Write a datablock, encoding where necessary (e.g. into a sequence of bytes) + * @param frame the frame to be encoded and written + */ + void writeFrame(AMQDataBlock frame); + + /** + * Get the context key associated with this session. Context key is described + * in the AMQ protocol specification (RFC 6). + * @return the context key + */ + String getContextKey(); + + /** + * Set the context key associated with this session. Context key is described + * in the AMQ protocol specification (RFC 6). + * @param contextKey the context key + */ + void setContextKey(String contextKey); + + /** + * Get the channel for this session associated with the specified id. A channel + * id is unique per connection (i.e. per session). + * @param channelId the channel id which must be valid + * @return null if no channel exists, the channel otherwise + */ + AMQChannel getChannel(int channelId) throws AMQException; + + /** + * Associate a channel with this session. + * @param channel the channel to associate with this session. It is an error to + * associate the same channel with more than one session but this is not validated. + */ + void addChannel(AMQChannel channel); + + /** + * Close a specific channel. This will remove any resources used by the channel, including: + * <ul><li>any queue subscriptions (this may in turn remove queues if they are auto delete</li> + * </ul> + * @param channelId id of the channel to close + * @throws org.apache.qpid.AMQException if an error occurs closing the channel + * @throws IllegalArgumentException if the channel id is not valid + */ + void closeChannel(int channelId) throws AMQException; + + /** + * Remove a channel from the session but do not close it. + * @param channelId + */ + void removeChannel(int channelId); + + /** + * Initialise heartbeats on the session. + * @param delay delay in seconds (not ms) + */ + void initHeartbeats(int delay); + + /** + * This must be called when the session is _closed in order to free up any resources + * managed by the session. + */ + void closeSession() throws AMQException; + + /** + * @return a key that uniquely identifies this session + */ + Object getKey(); + + /** + * Get the fully qualified domain name of the local address to which this session is bound. Since some servers + * may be bound to multiple addresses this could vary depending on the acceptor this session was created from. + * + * @return a String FQDN + */ + String getLocalFQDN(); + + /** + * @return the sasl server that can perform authentication for this session. + */ + SaslServer getSaslServer(); + + /** + * Set the sasl server that is to perform authentication for this session. + * @param saslServer + */ + void setSaslServer(SaslServer saslServer); +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/ExchangeInitialiser.java b/java/broker/src/org/apache/qpid/server/protocol/ExchangeInitialiser.java new file mode 100644 index 0000000000..08c31ed3ff --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/ExchangeInitialiser.java @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.qpid.AMQException; +import org.apache.qpid.exchange.ExchangeDefaults; +import org.apache.qpid.server.exchange.ExchangeFactory; +import org.apache.qpid.server.exchange.ExchangeRegistry; + +public class ExchangeInitialiser +{ + public void initialise(ExchangeFactory factory, ExchangeRegistry registry) throws AMQException{ + define(registry, factory, ExchangeDefaults.DIRECT_EXCHANGE_NAME, ExchangeDefaults.DIRECT_EXCHANGE_CLASS); + define(registry, factory, ExchangeDefaults.TOPIC_EXCHANGE_NAME, ExchangeDefaults.TOPIC_EXCHANGE_CLASS); + define(registry, factory, ExchangeDefaults.HEADERS_EXCHANGE_NAME, ExchangeDefaults.HEADERS_EXCHANGE_CLASS); + } + + private void define(ExchangeRegistry r, ExchangeFactory f, + String name, String type) throws AMQException + { + r.registerExchange(f.createExchange(name, type, true, false, 0)); + } +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/HeartbeatConfig.java b/java/broker/src/org/apache/qpid/server/protocol/HeartbeatConfig.java new file mode 100644 index 0000000000..d7678185d4 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/HeartbeatConfig.java @@ -0,0 +1,64 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.qpid.configuration.Configured; +import org.apache.qpid.server.registry.ApplicationRegistry; + +public class HeartbeatConfig +{ + @Configured(path = "heartbeat.delay", defaultValue = "5") + public int delay = 5;//in secs + @Configured(path = "heartbeat.timeoutFactor", defaultValue = "2.0") + public double timeoutFactor = 2; + + public double getTimeoutFactor() + { + return timeoutFactor; + } + + public void setTimeoutFactor(double timeoutFactor) + { + this.timeoutFactor = timeoutFactor; + } + + public int getDelay() + { + return delay; + } + + public void setDelay(int delay) + { + this.delay = delay; + } + + int getTimeout(int writeDelay) + { + return (int) (timeoutFactor * writeDelay); + } + + public static HeartbeatConfig getInstance() + { + return ApplicationRegistry.getInstance().getConfiguredObject(HeartbeatConfig.class); + } + + public String toString() + { + return "HeartBeatConfig{delay = " + delay + " timeoutFactor = " + timeoutFactor + "}"; + } +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/ManagedConnection.java b/java/broker/src/org/apache/qpid/server/protocol/ManagedConnection.java new file mode 100644 index 0000000000..f3fd8bc7e2 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/ManagedConnection.java @@ -0,0 +1,92 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.qpid.server.protocol; + +import org.apache.qpid.AMQException; + +import javax.management.openmbean.TabularData; +import javax.management.openmbean.OpenDataException; +import java.util.Date; + +/** + * The management interface exposed to allow management of Connections. + * @author Bhupendra Bhardwaj + * @version 0.1 + */ +public interface ManagedConnection +{ + static final String TYPE = "Connection"; + + /** + * Tells the last time, the IO operation was done. + * @return last IO time. + */ + Date getLastIoTime(); + + /** + * Tells the remote address of this connection. + * @return remote address + */ + String getRemoteAddress(); + + /** + * Tells the total number of bytes written till now. + * @return number of bytes written. + */ + long getWrittenBytes(); + + /** + * Tells the total number of bytes read till now. + * @return number of bytes read. + */ + long getReadBytes(); + + /** + * Tells the maximum number of channels that can be opened using + * this connection. This is useful in setting notifications or + * taking required action is there are more channels being created. + * @return maximum number of channels allowed to be created. + */ + long getMaximumNumberOfAllowedChannels(); + + /** + * Sets the maximum number of channels allowed to be created using + * this connection. + * @param value + */ + void setMaximumNumberOfAllowedChannels(long value); + + //********** Operations *****************// + + /** + * Returns channel details of all the channels opened for this connection. + * @return channel details. + */ + TabularData viewChannels() throws OpenDataException; + + /** + * Closes all the channels and unregisters this connection from managed objects. + */ + void closeConnection() throws Exception; + + /** + * Unsubscribes the consumers and unregisters the channel from managed objects. + */ + void closeChannel(int channelId) throws Exception; +} diff --git a/java/broker/src/org/apache/qpid/server/protocol/ManagedSession.java b/java/broker/src/org/apache/qpid/server/protocol/ManagedSession.java new file mode 100644 index 0000000000..2a1a0b62c2 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/protocol/ManagedSession.java @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import java.util.Date; + +public interface ManagedSession +{ + static final String TYPE = "Connection"; + + Date getLastIoTime(); + + String getRemoteAddress(); + + long getWrittenBytes(); + + long getReadBytes(); +} diff --git a/java/broker/src/org/apache/qpid/server/queue/AMQMessage.java b/java/broker/src/org/apache/qpid/server/queue/AMQMessage.java new file mode 100644 index 0000000000..a4ff453720 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/AMQMessage.java @@ -0,0 +1,343 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.framing.*; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.AMQException; + +import java.util.ArrayList; +import java.util.List; +import java.util.LinkedList; +import java.util.Set; +import java.util.HashSet; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * Combines the information that make up a deliverable message into a more manageable form. + */ +public class AMQMessage +{ + private final Set<Object> _tokens = new HashSet<Object>(); + + private AMQProtocolSession _publisher; + + private final BasicPublishBody _publishBody; + + private ContentHeaderBody _contentHeaderBody; + + private List<ContentBody> _contentBodies; + + private boolean _redelivered; + + private final long _messageId; + + private final AtomicInteger _referenceCount = new AtomicInteger(1); + + /** + * Keeps a track of how many bytes we have received in body frames + */ + private long _bodyLengthReceived = 0; + + /** + * The message store in which this message is contained. + */ + private transient final MessageStore _store; + + public AMQMessage(MessageStore messageStore, BasicPublishBody publishBody) + { + _messageId = messageStore.getNewMessageId(); + _publishBody = publishBody; + _store = messageStore; + _contentBodies = new LinkedList<ContentBody>(); + } + + public AMQMessage(MessageStore store, long messageId, BasicPublishBody publishBody, + ContentHeaderBody contentHeaderBody, List<ContentBody> contentBodies) + throws AMQException + { + _publishBody = publishBody; + _contentHeaderBody = contentHeaderBody; + _contentBodies = contentBodies; + _messageId = messageId; + _store = store; + storeMessage(); + } + + public AMQMessage(MessageStore store, BasicPublishBody publishBody, + ContentHeaderBody contentHeaderBody, List<ContentBody> contentBodies) + throws AMQException + { + this(store, store.getNewMessageId(), publishBody, contentHeaderBody, contentBodies); + } + + protected AMQMessage(AMQMessage msg) throws AMQException + { + this(msg._store, msg._messageId, msg._publishBody, msg._contentHeaderBody, msg._contentBodies); + } + + private void storeMessage() throws AMQException + { + if (isPersistent()) + { + _store.put(this); + } + } + + public CompositeAMQDataBlock getDataBlock(ByteBuffer encodedDeliverBody, int channel) + { + AMQFrame[] allFrames = new AMQFrame[1 + _contentBodies.size()]; + + allFrames[0] = ContentHeaderBody.createAMQFrame(channel, _contentHeaderBody); + for (int i = 1; i < allFrames.length; i++) + { + allFrames[i] = ContentBody.createAMQFrame(channel, _contentBodies.get(i - 1)); + } + return new CompositeAMQDataBlock(encodedDeliverBody, allFrames); + } + + public CompositeAMQDataBlock getDataBlock(int channel, String consumerTag, long deliveryTag) + { + AMQFrame[] allFrames = new AMQFrame[2 + _contentBodies.size()]; + + allFrames[0] = BasicDeliverBody.createAMQFrame(channel, consumerTag, deliveryTag, _redelivered, + getExchangeName(), getRoutingKey()); + allFrames[1] = ContentHeaderBody.createAMQFrame(channel, _contentHeaderBody); + for (int i = 2; i < allFrames.length; i++) + { + allFrames[i] = ContentBody.createAMQFrame(channel, _contentBodies.get(i - 2)); + } + return new CompositeAMQDataBlock(allFrames); + } + + public List<AMQBody> getPayload() + { + List<AMQBody> payload = new ArrayList<AMQBody>(2 + _contentBodies.size()); + payload.add(_publishBody); + payload.add(_contentHeaderBody); + payload.addAll(_contentBodies); + return payload; + } + + public BasicPublishBody getPublishBody() + { + return _publishBody; + } + + public ContentHeaderBody getContentHeaderBody() + { + return _contentHeaderBody; + } + + public void setContentHeaderBody(ContentHeaderBody contentHeaderBody) throws AMQException + { + _contentHeaderBody = contentHeaderBody; + if (isAllContentReceived()) + { + storeMessage(); + } + } + + public List<ContentBody> getContentBodies() + { + return _contentBodies; + } + + public void setContentBodies(List<ContentBody> contentBodies) + { + _contentBodies = contentBodies; + } + + public void addContentBodyFrame(ContentBody contentBody) throws AMQException + { + _contentBodies.add(contentBody); + _bodyLengthReceived += contentBody.getSize(); + if (isAllContentReceived()) + { + storeMessage(); + } + } + + public boolean isAllContentReceived() + { + return _bodyLengthReceived == _contentHeaderBody.bodySize; + } + + public boolean isRedelivered() + { + return _redelivered; + } + + String getExchangeName() + { + return _publishBody.exchange; + } + + String getRoutingKey() + { + return _publishBody.routingKey; + } + + boolean isImmediate() + { + return _publishBody.immediate; + } + + NoConsumersException getNoConsumersException(String queue) + { + return new NoConsumersException(queue, _publishBody, _contentHeaderBody, _contentBodies); + } + + void setRedelivered(boolean redelivered) + { + _redelivered = redelivered; + } + + public long getMessageId() + { + return _messageId; + } + + /** + * Threadsafe. Increment the reference count on the message. + */ + public void incrementReference() + { + _referenceCount.incrementAndGet(); + } + + /** + * Threadsafe. This will decrement the reference count and when it reaches zero will remove the message from the + * message store. + */ + public void decrementReference() throws AMQException + { + // note that the operation of decrementing the reference count and then removing the message does not + // have to be atomic since the ref count starts at 1 and the exchange itself decrements that after + // the message has been passed to all queues. i.e. we are + // not relying on the all the increments having taken place before the delivery manager decrements. + if (_referenceCount.decrementAndGet() == 0) + { + _store.removeMessage(_messageId); + } + } + + public void setPublisher(AMQProtocolSession publisher) + { + _publisher = publisher; + } + + public AMQProtocolSession getPublisher() + { + return _publisher; + } + + public boolean checkToken(Object token) + { + if(_tokens.contains(token)) + { + return true; + } + else + { + _tokens.add(token); + return false; + } + } + + public void enqueue(AMQQueue queue) throws AMQException + { + //if the message is not persistent or the queue is not durable + //we will not need to recover the association and so do not + //need to record it + if(isPersistent() && queue.isDurable()) + { + _store.enqueueMessage(queue.getName(), _messageId); + } + } + + public void dequeue(AMQQueue queue) throws AMQException + { + //only record associations where both queue and message will survive + //a restart, so only need to remove association if this is the case + if(isPersistent() && queue.isDurable()) + { + _store.dequeueMessage(queue.getName(), _messageId); + } + } + + /** + * Used to requeue a message (on delivery where an acknowledgement is + * expected). This will move it to the end of the queue. + */ + public void requeue(AMQQueue queue) throws AMQException + { + if(isPersistent() && queue.isDurable()) + { + if(!_store.inTran()) + { + //if not already in tran, want to be so this is atomic + _store.beginTran(); + try + { + requeueImpl(queue); + _store.commitTran(); + } + catch(AMQException e) + { + _store.abortTran(); + } + } + else + { + //May already be in tran (e.g. if this is called during delivery + //resulting from a commit). + requeueImpl(queue); + } + } + } + + private void requeueImpl(AMQQueue queue) throws AMQException + { + try + { + _store.dequeueMessage(queue.getName(), _messageId); + _store.enqueueMessage(queue.getName(), _messageId); + } + catch(AMQException e) + { + throw e; + } + catch(Throwable t) + { + throw new AMQException("Failure on requeue of message", t); + } + } + + public boolean isPersistent() throws AMQException + { + if(_contentHeaderBody == null) + { + throw new AMQException("Cannot determine delivery mode of message. Content header not found."); + } + return _contentHeaderBody.properties instanceof BasicContentHeaderProperties + &&((BasicContentHeaderProperties) _contentHeaderBody.properties).getDeliveryMode() == 2; + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/AMQQueue.java b/java/broker/src/org/apache/qpid/server/queue/AMQQueue.java new file mode 100644 index 0000000000..8e744d5960 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/AMQQueue.java @@ -0,0 +1,654 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.management.Managable; +import org.apache.qpid.server.management.ManagedObject; +import org.apache.qpid.server.management.AMQManagedObject; +import org.apache.qpid.server.protocol.AMQProtocolSession; + +import javax.management.openmbean.*; +import javax.management.MBeanNotificationInfo; +import javax.management.AttributeChangeNotification; +import javax.management.Notification; +import javax.management.JMException; +import javax.management.MBeanException; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.Executor; + +/** + * This is an AMQ Queue, and should not be confused with a JMS queue or any other abstraction like + * that. It is described fully in RFC 006. + */ +public class AMQQueue implements Managable +{ + private static final Logger _logger = Logger.getLogger(AMQQueue.class); + + private final String _name; + + /** + * null means shared + */ + private final String _owner; + + private final boolean _durable; + + /** + * If true, this queue is deleted when the last subscriber is removed + */ + private final boolean _autoDelete; + + /** + * Holds subscribers to the queue. + */ + private final SubscriptionSet _subscribers; + + private final SubscriptionFactory _subscriptionFactory; + + /** + * Manages message delivery. + */ + private final DeliveryManager _deliveryMgr; + + /** + * The queue registry with which this queue is registered. + */ + private final QueueRegistry _queueRegistry; + + /** + * Used to track bindings to exchanges so that on deletion they can easily + * be cancelled. + */ + private final ExchangeBindings _bindings = new ExchangeBindings(this); + + /** + * Executor on which asynchronous delivery will be carriedout where required + */ + private final Executor _asyncDelivery; + + private final AMQQueueMBean _managedObject; + + /** + * max allowed size of a single message. + */ + private long _maxAllowedMessageSize = 0; + + /** + * max allowed number of messages on a queue. + */ + private long _maxAllowedMessageCount = 0; + + /** + * max allowed size in bytes for all the messages combined together in a queue. + */ + private long _queueDepth = 0; + + /** + * total messages received by the queue since startup. + */ + private long _totalMessagesReceived = 0; + + /** + * MBean interface for the implementation AMQQueueMBean. + * This is required for making the implementation a compliant MBean. + */ + public interface AMQQueueMBeanMBean extends ManagedQueue + { + + } + /** + * MBean class for AMQQueue. It implements all the management features exposed + * for an AMQQueue. + */ + private final class AMQQueueMBean extends AMQManagedObject implements AMQQueueMBeanMBean + { + // AMQ message attribute names exposed. + private String[] _msgAttributeNames = { "MessageId", + "Redelivered", + "Content's size", + "Contents" }; + // AMQ Message attribute descriptions. + private String[] _msgAttributeDescriptions = { "Message Id", + "Redelivered", + "Message content's size in bytes", + "Message content bodies" }; + // AMQ message attribute types. + private OpenType[] _msgAttributeTypes = new OpenType[4]; + // Messages will be indexed according to the messageId. + private String[] _msgAttributeIndex = { "MessageId"}; + // Composite type for representing AMQ Message data. + private CompositeType _messageDataType = null; + // Datatype for representing AMQ messages list. + private TabularType _messagelistDataType = null; + + private String[] _contentNames = {"SerialNumber", "ContentBody"}; + private String[] _contentDesc = {"SerialNumber", "Message Content"}; + private String[] _contentIndex = {"SerialNumber"}; + private OpenType[] _contentType = new OpenType[2]; + private CompositeType _contentBodyType = null; + private TabularType _contentBodyListType = null; + + public AMQQueueMBean() + { + super(ManagedQueue.class, ManagedQueue.TYPE); + init(); + } + + private void init() + { + try + { + _contentType[0] = SimpleType.INTEGER; + _contentType[1] = new ArrayType(1, SimpleType.BYTE); + _contentBodyType = new CompositeType("Content", + "Message body content", + _contentNames, + _contentDesc, + _contentType); + _contentBodyListType = new TabularType("MessageContents", + "MessageContent", + _contentBodyType, + _contentIndex); + + _msgAttributeTypes[0] = SimpleType.LONG; + _msgAttributeTypes[1] = SimpleType.BOOLEAN; + _msgAttributeTypes[2] = SimpleType.LONG; + _msgAttributeTypes[3] = _contentBodyListType; + + _messageDataType = new CompositeType("Message", + "AMQ Message", + _msgAttributeNames, + _msgAttributeDescriptions, + _msgAttributeTypes); + _messagelistDataType = new TabularType("Messages", + "List of messages", + _messageDataType, + _msgAttributeIndex); + } + catch (OpenDataException ex) + { + _logger.error("OpenDataTypes could not be created.", ex); + throw new RuntimeException(ex); + } + } + + public String getObjectInstanceName() + { + return _name; + } + + public String getName() + { + return _name; + } + + public boolean isDurable() + { + return _durable; + } + + public String getOwner() + { + return _owner; + } + + public boolean isAutoDelete() + { + return _autoDelete; + } + + public int getMessageCount() + { + return _deliveryMgr.getQueueMessageCount(); + } + + public long getMaximumMessageSize() + { + return _maxAllowedMessageSize; + } + + public void setMaximumMessageSize(long value) + { + _maxAllowedMessageSize = value; + } + + public int getConsumerCount() + { + return _subscribers.size(); + } + + public int getActiveConsumerCount() + { + return _subscribers.getWeight(); + } + + public long getReceivedMessageCount() + { + return _totalMessagesReceived; + } + + public long getMaximumMessageCount() + { + return _maxAllowedMessageCount; + } + + public void setMaximumMessageCount( long value) + { + _maxAllowedMessageCount = value; + } + + public long getQueueDepth() + { + return _queueDepth; + } + + public void setQueueDepth(long value) + { + _queueDepth = value; + } + + // Operations + + private void checkForNotification() + { + if (getMessageCount() >= getMaximumMessageCount()) + { + Notification n = new Notification( + "Warning", + this, + ++_notificationSequenceNumber, + System.currentTimeMillis(), + "Queue has reached its size limit and is now full."); + + _broadcaster.sendNotification(n); + } + } + + public void deleteMessageFromTop() throws JMException + { + try + { + _deliveryMgr.removeAMessageFromTop(); + } + catch(AMQException ex) + { + throw new MBeanException(ex, ex.toString()); + } + } + + public void clearQueue() throws JMException + { + try + { + _deliveryMgr.clearAllMessages(); + } + catch (AMQException ex) + { + throw new MBeanException(ex, ex.toString()); + } + } + + /** + * Returns the messages stored in this queue in tabular form. + * @param beginIndex + * @param endIndex + * @return AMQ messages in tabular form. + * @throws JMException + */ + public TabularData viewMessages(int beginIndex, int endIndex) throws JMException + { + if ((beginIndex > endIndex) || (beginIndex < 1)) + { + throw new JMException("FromIndex = " + beginIndex + ", ToIndex = " + endIndex + + "\nFromIndex should be greater than 0 and less than ToIndex"); + } + + List<AMQMessage> list = _deliveryMgr.getMessages(); + + if (beginIndex > list.size()) + { + throw new JMException("FromIndex = " + beginIndex + ". There are only " + list.size() + " messages in the queue"); + } + + endIndex = endIndex < list.size() ? endIndex : list.size(); + TabularDataSupport _messageList = new TabularDataSupport(_messagelistDataType); + + for (int i = beginIndex; i <= endIndex; i++) + { + AMQMessage msg = list.get(i - 1); + long msgId = msg.getMessageId(); + + List<ContentBody> cBodies = msg.getContentBodies(); + + TabularDataSupport _contentList = new TabularDataSupport(_contentBodyListType); + int contentSerialNo = 1; + long size = 0; + + for (ContentBody body : cBodies) + { + if (body.getSize() != 0) + { + Byte[] byteArray = getByteArray(body.payload.slice().array()); + size = size + byteArray.length; + + Object[] contentValues = {contentSerialNo, byteArray}; + CompositeData contentData = new CompositeDataSupport(_contentBodyType, + _contentNames, + contentValues); + + _contentList.put(contentData); + } + } + + Object[] itemValues = {msgId, true, size, _contentList}; + CompositeData messageData = new CompositeDataSupport(_messageDataType, + _msgAttributeNames, + itemValues); + _messageList.put(messageData); + } + + return _messageList; + } + + /** + * A utility to convert byte[] to Byte[]. Required to create composite + * type for message contents. + * @param byteArray message content as byte[] + * @return Byte[] + */ + private Byte[] getByteArray(byte[] byteArray) + { + int size = byteArray.length; + List<Byte> list = new ArrayList<Byte>(); + + for (int i = 0; i < size; i++) + { + list.add(byteArray[i]); + } + + return list.toArray(new Byte[0]); + } + + /** + * Creates all the notifications this MBean can send. + * @return Notifications broadcasted by this MBean. + */ + public MBeanNotificationInfo[] getNotificationInfo() + { + String[] notificationTypes = new String[] + {AttributeChangeNotification.ATTRIBUTE_CHANGE}; + String name = AttributeChangeNotification.class.getName(); + String description = "An attribute of this MBean has changed"; + MBeanNotificationInfo info1 = new MBeanNotificationInfo(notificationTypes, + name, + description); + + return new MBeanNotificationInfo[] {info1}; + } + + } // End of AMQMBean class + + public AMQQueue(String name, boolean durable, String owner, + boolean autoDelete, QueueRegistry queueRegistry) + throws AMQException + { + this(name, durable, owner, autoDelete, queueRegistry, + AsyncDeliveryConfig.getAsyncDeliveryExecutor(), new SubscriptionImpl.Factory()); + } + + public AMQQueue(String name, boolean durable, String owner, + boolean autoDelete, QueueRegistry queueRegistry, SubscriptionFactory subscriptionFactory) + throws AMQException + { + this(name, durable, owner, autoDelete, queueRegistry, + AsyncDeliveryConfig.getAsyncDeliveryExecutor(), subscriptionFactory); + } + + public AMQQueue(String name, boolean durable, String owner, + boolean autoDelete, QueueRegistry queueRegistry, Executor asyncDelivery, + SubscriptionFactory subscriptionFactory) + throws AMQException + { + + this(name, durable, owner, autoDelete, queueRegistry, asyncDelivery, new SubscriptionSet(), subscriptionFactory); + } + + public AMQQueue(String name, boolean durable, String owner, + boolean autoDelete, QueueRegistry queueRegistry, Executor asyncDelivery) + throws AMQException + { + + this(name, durable, owner, autoDelete, queueRegistry, asyncDelivery, new SubscriptionSet(), + new SubscriptionImpl.Factory()); + } + + protected AMQQueue(String name, boolean durable, String owner, + boolean autoDelete, QueueRegistry queueRegistry, + SubscriptionSet subscribers, SubscriptionFactory subscriptionFactory) + throws AMQException + { + this(name, durable, owner, autoDelete, queueRegistry, + AsyncDeliveryConfig.getAsyncDeliveryExecutor(), subscribers, subscriptionFactory); + } + + protected AMQQueue(String name, boolean durable, String owner, + boolean autoDelete, QueueRegistry queueRegistry, + SubscriptionSet subscribers) + throws AMQException + { + this(name, durable, owner, autoDelete, queueRegistry, + AsyncDeliveryConfig.getAsyncDeliveryExecutor(), subscribers, new SubscriptionImpl.Factory()); + } + + protected AMQQueue(String name, boolean durable, String owner, + boolean autoDelete, QueueRegistry queueRegistry, + Executor asyncDelivery, SubscriptionSet subscribers, SubscriptionFactory subscriptionFactory) + throws AMQException + { + if (name == null) + { + throw new IllegalArgumentException("Queue name must not be null"); + } + if (queueRegistry == null) + { + throw new IllegalArgumentException("Queue registry must not be null"); + } + _name = name; + _durable = durable; + _owner = owner; + _autoDelete = autoDelete; + _queueRegistry = queueRegistry; + _asyncDelivery = asyncDelivery; + _managedObject = new AMQQueueMBean(); + _managedObject.register(); + + _subscribers = subscribers; + _subscriptionFactory = subscriptionFactory; + _deliveryMgr = new DeliveryManager(_subscribers, this); + } + + public String getName() + { + return _name; + } + + public boolean isShared() + { + return _owner == null; + } + + public boolean isDurable() + { + return _durable; + } + + public String getOwner() + { + return _owner; + } + + public boolean isAutoDelete() + { + return _autoDelete; + } + + public int getMessageCount() + { + return _deliveryMgr.getQueueMessageCount(); + } + + public ManagedObject getManagedObject() + { + return _managedObject; + } + + public void bind(String routingKey, Exchange exchange) + { + _bindings.addBinding(routingKey, exchange); + } + + public void registerProtocolSession(AMQProtocolSession ps, int channel, String consumerTag, boolean acks) + throws AMQException + { + debug("Registering protocol session {0} with channel {1} and consumer tag {2} with {3}", ps, channel, consumerTag, this); + + Subscription subscription = _subscriptionFactory.createSubscription(channel, ps, consumerTag, acks); + _subscribers.addSubscriber(subscription); + } + + public void unregisterProtocolSession(AMQProtocolSession ps, int channel, String consumerTag) throws AMQException + { + debug("Unregistering protocol session {0} with channel {1} and consumer tag {2} from {3}", ps, channel, consumerTag, + this); + + Subscription removedSubscription; + if ((removedSubscription = _subscribers.removeSubscriber(_subscriptionFactory.createSubscription(channel, + ps, + consumerTag))) + == null) + { + throw new AMQException("Protocol session with channel " + channel + " and consumer tag " + consumerTag + + " and protocol session key " + ps.getKey() + " not registered with queue " + this); + } + + // if we are eligible for auto deletion, unregister from the queue registry + if (_autoDelete && _subscribers.isEmpty()) + { + autodelete(); + // we need to manually fire the event to the removed subscription (which was the last one left for this + // queue. This is because the delete method uses the subscription set which has just been cleared + removedSubscription.queueDeleted(this); + } + } + + public int delete(boolean checkUnused, boolean checkEmpty) throws AMQException + { + if(checkUnused && !_subscribers.isEmpty()) + { + _logger.info("Will not delete " + this + " as it is in use."); + return 0; + } + else if(checkEmpty && _deliveryMgr.getQueueMessageCount() > 0) + { + _logger.info("Will not delete " + this + " as it is not empty."); + return 0; + } + else + { + delete(); + return _deliveryMgr.getQueueMessageCount(); + } + } + + public void delete() throws AMQException + { + _subscribers.queueDeleted(this); + _bindings.deregister(); + _queueRegistry.unregisterQueue(_name); + _managedObject.unregister(); + } + + protected void autodelete() throws AMQException + { + debug("autodeleting {0}", this); + delete(); + } + + public void deliver(AMQMessage msg) throws AMQException + { + msg.enqueue(this); + _deliveryMgr.deliver(getName(), msg); + updateReceivedMessageCount(); + } + + public void deliverAsync() + { + _deliveryMgr.processAsync(_asyncDelivery); + } + + protected SubscriptionManager getSubscribers() + { + return _subscribers; + } + + protected void updateReceivedMessageCount() + { + _totalMessagesReceived++; + _managedObject.checkForNotification(); + } + + public boolean equals(Object o) + { + if (this == o) + { + return true; + } + if (o == null || getClass() != o.getClass()) + { + return false; + } + + final AMQQueue amqQueue = (AMQQueue) o; + + return (_name.equals(amqQueue._name)); + } + + public int hashCode() + { + return _name.hashCode(); + } + + public String toString() + { + return "Queue(" + _name + ")@" + System.identityHashCode(this); + } + + private void debug(String msg, Object... args) + { + if(_logger.isDebugEnabled()) + { + _logger.debug(MessageFormat.format(msg, args)); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/AsyncDeliveryConfig.java b/java/broker/src/org/apache/qpid/server/queue/AsyncDeliveryConfig.java new file mode 100644 index 0000000000..60788c1ccb --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/AsyncDeliveryConfig.java @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.configuration.Configured; +import org.apache.qpid.server.registry.ApplicationRegistry; + +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; + +public class AsyncDeliveryConfig +{ + private Executor _executor; + + @Configured(path = "delivery.poolsize", defaultValue = "0") + public int poolSize; + + public Executor getExecutor() + { + if (_executor == null) + { + if (poolSize > 0) + { + _executor = Executors.newFixedThreadPool(poolSize); + } + else + { + _executor = Executors.newCachedThreadPool(); + } + } + return _executor; + } + + public static Executor getAsyncDeliveryExecutor() + { + return ApplicationRegistry.getInstance().getConfiguredObject(AsyncDeliveryConfig.class).getExecutor(); + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/DefaultQueueRegistry.java b/java/broker/src/org/apache/qpid/server/queue/DefaultQueueRegistry.java new file mode 100644 index 0000000000..a7dc98ec22 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/DefaultQueueRegistry.java @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.AMQException; + +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.ConcurrentHashMap; + +public class DefaultQueueRegistry implements QueueRegistry +{ + private ConcurrentMap<String, AMQQueue> _queueMap = new ConcurrentHashMap<String, AMQQueue>(); + + public DefaultQueueRegistry() + { + } + + public void registerQueue(AMQQueue queue) throws AMQException + { + _queueMap.put(queue.getName(), queue); + } + + public void unregisterQueue(String name) throws AMQException + { + _queueMap.remove(name); + } + + public AMQQueue getQueue(String name) + { + return _queueMap.get(name); + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/DeliveryManager.java b/java/broker/src/org/apache/qpid/server/queue/DeliveryManager.java new file mode 100644 index 0000000000..fbd952073e --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/DeliveryManager.java @@ -0,0 +1,262 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; + +import java.util.LinkedList; +import java.util.Queue; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicBoolean; + +/** + * Manages delivery of messages on behalf of a queue + * + */ +class DeliveryManager +{ + private static final Logger _log = Logger.getLogger(DeliveryManager.class); + + /** + * Holds any queued messages + */ + private final Queue<AMQMessage> _messages = new LinkedList<AMQMessage>(); + /** + * Ensures that only one asynchronous task is running for this manager at + * any time. + */ + private final AtomicBoolean _processing = new AtomicBoolean(); + /** + * The subscriptions on the queue to whom messages are delivered + */ + private final SubscriptionManager _subscriptions; + + /** + * An indication of the mode we are in. If this is true then messages are + * being queued up in _messages for asynchronous delivery. If it is false + * then messages can be delivered directly as they come in. + */ + private boolean _queueing; + + /** + * A reference to the queue we are delivering messages for. We need this to be able + * to pass the code that handles acknowledgements a handle on the queue. + */ + private final AMQQueue _queue; + + DeliveryManager(SubscriptionManager subscriptions, AMQQueue queue) + { + _subscriptions = subscriptions; + _queue = queue; + } + + private synchronized boolean enqueue(AMQMessage msg) + { + if (_queueing) + { + _messages.offer(msg); + return true; + } + else + { + return false; + } + } + + private synchronized void startQueueing(AMQMessage msg) + { + _queueing = true; + enqueue(msg); + } + + /** + * Determines whether there are queued messages. Sets _queueing to false if + * there are no queued messages. This needs to be atomic. + * + * @return true if there are queued messages + */ + private synchronized boolean hasQueuedMessages() + { + boolean empty = _messages.isEmpty(); + if (empty) + { + _queueing = false; + } + return !empty; + } + + public synchronized int getQueueMessageCount() + { + return _messages.size(); + } + + protected synchronized List<AMQMessage> getMessages() + { + return new ArrayList<AMQMessage>(_messages); + } + + protected synchronized void removeAMessageFromTop() throws AMQException + { + AMQMessage msg = poll(); + if (msg != null) + { + msg.dequeue(_queue); + } + } + + protected synchronized void clearAllMessages() throws AMQException + { + AMQMessage msg = poll(); + while (msg != null) + { + msg.dequeue(_queue); + msg = poll(); + } + } + + /** + * Only one thread should ever execute this method concurrently, but + * it can do so while other threads invoke deliver(). + */ + private void processQueue() + { + try + { + boolean hasSubscribers = _subscriptions.hasActiveSubscribers(); + while (hasQueuedMessages() && hasSubscribers) + { + Subscription next = _subscriptions.nextSubscriber(peek()); + //We don't synchronize access to subscribers so need to re-check + if (next != null) + { + try + { + next.send(poll(), _queue); + } + catch (AMQException e) + { + _log.error("Unable to deliver message: " + e, e); + } + } + else + { + hasSubscribers = false; + } + } + } + finally + { + _processing.set(false); + } + } + + private synchronized AMQMessage peek() + { + return _messages.peek(); + } + + private synchronized AMQMessage poll() + { + return _messages.poll(); + } + + /** + * Requests that the delivery manager start processing the queue asynchronously + * if there is work that can be done (i.e. there are messages queued up and + * subscribers that can receive them. + * <p/> + * This should be called when subscribers are added, but only after the consume-ok + * message has been returned as message delivery may start immediately. It should also + * be called after unsuspending a client. + * <p/> + * + * @param executor the executor on which the delivery should take place + */ + void processAsync(Executor executor) + { + if (hasQueuedMessages() && _subscriptions.hasActiveSubscribers()) + { + //are we already running? if so, don't re-run + if (_processing.compareAndSet(false, true)) + { + executor.execute(new Runner()); + } + } + } + + /** + * Handles message delivery. The delivery manager is always in one of two modes; + * it is either queueing messages for asynchronous delivery or delivering + * directly. + * + * @param name the name of the entity on whose behalf we are delivering the message + * @param msg the message to deliver + * @throws NoConsumersException if there are no active subscribers to deliver + * the message to + */ + void deliver(String name, AMQMessage msg) throws AMQException + { + msg.incrementReference(); + // first check whether we are queueing, and enqueue if we are + if (!enqueue(msg)) + { + // not queueing so deliver message to 'next' subscriber + Subscription s = _subscriptions.nextSubscriber(msg); + if (s == null) + { + if (msg.isImmediate()) + { + throw msg.getNoConsumersException(name); + } + else + { + // no subscribers yet so enter 'queueing' mode and queue this message + startQueueing(msg); + } + } + else + { + s.send(msg, _queue); + } + } + + else + { + if (msg.isImmediate()) + { + //todo check with spec to see if enqueing for immediate client delivery is ok. + Subscription s = _subscriptions.nextSubscriber(msg); + if (s == null) + { + throw msg.getNoConsumersException(name); + } + } + } + } + + private class Runner implements Runnable + { + public void run() + { + processQueue(); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/ExchangeBindings.java b/java/broker/src/org/apache/qpid/server/queue/ExchangeBindings.java new file mode 100644 index 0000000000..424330bd11 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/ExchangeBindings.java @@ -0,0 +1,109 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.AMQException; + +import java.util.List; +import java.util.HashSet; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * When a queue is deleted, it should be deregistered from any + * exchange it has been bound to. This class assists in this task, + * by keeping track of all bindings for a given queue. + */ +class ExchangeBindings +{ + static class ExchangeBinding + { + private final Exchange exchange; + private final String routingKey; + + ExchangeBinding(String routingKey, Exchange exchange) + { + this.routingKey = routingKey; + this.exchange = exchange; + } + + void unbind(AMQQueue queue) throws AMQException + { + exchange.deregisterQueue(routingKey, queue); + } + + public Exchange getExchange() + { + return exchange; + } + + public String getRoutingKey() + { + return routingKey; + } + + public int hashCode() + { + return exchange.hashCode() + routingKey.hashCode(); + } + + public boolean equals(Object o) + { + if (!(o instanceof ExchangeBinding)) return false; + ExchangeBinding eb = (ExchangeBinding) o; + return exchange.equals(eb.exchange) && routingKey.equals(eb.routingKey); + } + } + + private final List<ExchangeBinding> _bindings = new CopyOnWriteArrayList<ExchangeBinding>(); + private final AMQQueue _queue; + + ExchangeBindings(AMQQueue queue) + { + _queue = queue; + } + + /** + * Adds the specified binding to those being tracked. + * @param routingKey the routing key with which the queue whose bindings + * are being tracked by the instance has been bound to the exchange + * @param exchange the exchange bound to + */ + void addBinding(String routingKey, Exchange exchange) + { + _bindings.add(new ExchangeBinding(routingKey, exchange)); + } + + /** + * Deregisters this queue from any exchange it has been bound to + */ + void deregister() throws AMQException + { + //remove duplicates at this point + HashSet<ExchangeBinding> copy = new HashSet<ExchangeBinding>(_bindings); + for (ExchangeBinding b : copy) + { + b.unbind(_queue); + } + } + + List<ExchangeBinding> getExchangeBindings() + { + return _bindings; + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/ManagedQueue.java b/java/broker/src/org/apache/qpid/server/queue/ManagedQueue.java new file mode 100644 index 0000000000..03a0a10337 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/ManagedQueue.java @@ -0,0 +1,177 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import javax.management.openmbean.TabularData; +import javax.management.JMException; +import java.io.IOException; + +/** + * The management interface exposed to allow management of a queue. + * @author Robert J. Greig + * @author Bhupendra Bhardwaj + * @version 0.1 + */ +public interface ManagedQueue +{ + static final String TYPE = "Queue"; + + /** + * Returns the Name of the ManagedQueue. + * @return the name of the managedQueue. + * @throws IOException + */ + String getName() throws IOException; + + /** + * Tells whether this ManagedQueue is durable or not. + * @return true if this ManagedQueue is a durable queue. + * @throws IOException + */ + boolean isDurable() throws IOException; + + /** + * Tells the Owner of the ManagedQueue. + * @return the owner's name. + * @throws IOException + */ + String getOwner() throws IOException; + + /** + * Tells if the ManagedQueue is set to AutoDelete. + * @return true if the ManagedQueue is set to AutoDelete. + * @throws IOException + */ + boolean isAutoDelete() throws IOException; + + /** + * Gets the total number of messages on the queue, which are yet to be + * delivered to the consumer(s). + * @return number of undelivered message in the Queue. + * @throws IOException + */ + int getMessageCount() throws IOException; + + /** + * Returns the maximum size of a message (in bytes) allowed to be accepted by the + * ManagedQueue. This is useful in setting notifications or taking + * appropriate action, if the size of the message received is more than + * the allowed size. + * @return the maximum size of a message allowed to be aceepted by the + * ManagedQueue. + * @throws IOException + */ + long getMaximumMessageSize() throws IOException; + + /** + * Sets the maximum size of the message (in bytes) that is allowed to be + * accepted by the Queue. + * @param bytes maximum size of message. + * @throws IOException + */ + void setMaximumMessageSize(long bytes) throws IOException; + + /** + * Returns the total number of subscribers to the queue. + * @return the number of subscribers. + * @throws IOException + */ + int getConsumerCount() throws IOException; + + /** + * Returns the total number of active subscribers to the queue. + * @return the number of active subscribers + * @throws IOException + */ + int getActiveConsumerCount() throws IOException; + + /** + * Tells the total number of messages receieved by the queue since startup. + * @return total number of messages received. + * @throws IOException + */ + long getReceivedMessageCount() throws IOException; + + /** + * Tells the maximum number of messages that can be stored in the queue. + * This is useful in setting the notifications or taking required + * action is the number of message increase this limit. + * @return maximum muber of message allowed to be stored in the queue. + * @throws IOException + */ + long getMaximumMessageCount() throws IOException; + + /** + * Sets the maximum number of messages allowed to be stored in the queue. + * @param value the maximum number of messages allowed to be stored in the queue. + * @throws IOException + */ + void setMaximumMessageCount(long value) throws IOException; + + /** + * Tells the maximum size of all the messages combined together, + * that can be stored in the queue. This is useful for setting notifications + * or taking required action if the size of messages stored in the queue + * increases over this limit. + * @return maximum size of the all the messages allowed for the queue. + * @throws IOException + */ + long getQueueDepth() throws IOException; + + /** + * Sets the maximum size of all the messages together, that can be stored + * in the queue. + * @param value + * @throws IOException + */ + void setQueueDepth(long value) throws IOException; + + + + //********** Operations *****************// + + + /** + * Returns a subset of all the messages stored in the queue. The messages + * are returned based on the given index numbers. + * @param fromIndex + * @param toIndex + * @return + * @throws IOException + * @throws JMException + */ + TabularData viewMessages(int fromIndex, int toIndex) + throws IOException, JMException; + + /** + * Deletes the first message from top. + * @throws IOException + * @throws JMException + */ + void deleteMessageFromTop() + throws IOException, JMException; + + /** + * Clears the queue by deleting all the messages from the queue. + * @throws IOException + * @throws JMException + */ + void clearQueue() + throws IOException, JMException; + +} diff --git a/java/broker/src/org/apache/qpid/server/queue/NoConsumersException.java b/java/broker/src/org/apache/qpid/server/queue/NoConsumersException.java new file mode 100644 index 0000000000..0616f75633 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/NoConsumersException.java @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.server.RequiredDeliveryException; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.protocol.AMQConstant; + +import java.util.List; + +/** + * Signals that no consumers exist for a message at a given point in time. + * Used if a message has immediate=true and there are no consumers registered + * with the queue. + */ +public class NoConsumersException extends RequiredDeliveryException +{ + public NoConsumersException(String queue, + BasicPublishBody publishBody, + ContentHeaderBody contentHeaderBody, + List<ContentBody> contentBodies) + { + super("Immediate delivery to " + queue + " is not possible.", publishBody, contentHeaderBody, contentBodies); + } + + public int getReplyCode() + { + return AMQConstant.NO_CONSUMERS.getCode(); + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/QueueRegistry.java b/java/broker/src/org/apache/qpid/server/queue/QueueRegistry.java new file mode 100644 index 0000000000..bc5599fb20 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/QueueRegistry.java @@ -0,0 +1,30 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.AMQException; + + +public interface QueueRegistry +{ + void registerQueue(AMQQueue queue) throws AMQException; + + void unregisterQueue(String name) throws AMQException; + + AMQQueue getQueue(String name); +} diff --git a/java/broker/src/org/apache/qpid/server/queue/Subscription.java b/java/broker/src/org/apache/qpid/server/queue/Subscription.java new file mode 100644 index 0000000000..d76e9ec105 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/Subscription.java @@ -0,0 +1,29 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.AMQException; + +public interface Subscription +{ + void send(AMQMessage msg, AMQQueue queue) throws AMQException; + + boolean isSuspended(); + + void queueDeleted(AMQQueue queue); +} diff --git a/java/broker/src/org/apache/qpid/server/queue/SubscriptionFactory.java b/java/broker/src/org/apache/qpid/server/queue/SubscriptionFactory.java new file mode 100644 index 0000000000..127b19b0e4 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/SubscriptionFactory.java @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.AMQException; + +/** + * Allows the customisation of the creation of a subscription. This is typically done within an AMQQueue. This + * factory primarily assists testing although in future more sophisticated subscribers may need a different + * subscription implementation. + * + * @see org.apache.qpid.server.queue.AMQQueue + */ +public interface SubscriptionFactory +{ + Subscription createSubscription(int channel, AMQProtocolSession protocolSession, String consumerTag, boolean acks) + throws AMQException; + + Subscription createSubscription(int channel, AMQProtocolSession protocolSession,String consumerTag) + throws AMQException; +} diff --git a/java/broker/src/org/apache/qpid/server/queue/SubscriptionImpl.java b/java/broker/src/org/apache/qpid/server/queue/SubscriptionImpl.java new file mode 100644 index 0000000000..a3c2fab4f4 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/SubscriptionImpl.java @@ -0,0 +1,172 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.BasicDeliverBody; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.AMQException; + +/** + * Encapsulation of a supscription to a queue. + * <p/> + * Ties together the protocol session of a subscriber, the consumer tag that + * was given out by the broker and the channel id. + * <p/> + */ +public class SubscriptionImpl implements Subscription +{ + private static final Logger _logger = Logger.getLogger(SubscriptionImpl.class); + + public final AMQChannel channel; + + public final AMQProtocolSession protocolSession; + + public final String consumerTag; + + private final Object sessionKey; + + /** + * True if messages need to be acknowledged + */ + private final boolean _acks; + + public static class Factory implements SubscriptionFactory + { + public SubscriptionImpl createSubscription(int channel, AMQProtocolSession protocolSession, String consumerTag, boolean acks) + throws AMQException + { + return new SubscriptionImpl(channel, protocolSession, consumerTag, acks); + } + + public SubscriptionImpl createSubscription(int channel, AMQProtocolSession protocolSession, String consumerTag) + throws AMQException + { + return new SubscriptionImpl(channel, protocolSession, consumerTag); + } + } + + public SubscriptionImpl(int channelId, AMQProtocolSession protocolSession, + String consumerTag, boolean acks) + throws AMQException + { + AMQChannel channel = protocolSession.getChannel(channelId); + if (channel == null) { + throw new NullPointerException("channel not found in protocol session"); + } + + this.channel = channel; + this.protocolSession = protocolSession; + this.consumerTag = consumerTag; + sessionKey = protocolSession.getKey(); + _acks = acks; + } + + public SubscriptionImpl(int channel, AMQProtocolSession protocolSession, + String consumerTag) + throws AMQException + { + this(channel, protocolSession, consumerTag, false); + } + + public boolean equals(Object o) + { + return (o instanceof SubscriptionImpl) && equals((SubscriptionImpl) o); + } + + /** + * Equality holds if the session matches and the channel and consumer tag are the same. + */ + private boolean equals(SubscriptionImpl psc) + { + return sessionKey.equals(psc.sessionKey) + && psc.channel == channel + && psc.consumerTag.equals(consumerTag); + } + + public int hashCode() + { + return sessionKey.hashCode(); + } + + public String toString() + { + return "[channel=" + channel + ", consumerTag=" + consumerTag + ", session=" + protocolSession.getKey() + "]"; + } + + public void send(AMQMessage msg, AMQQueue queue) throws AMQException + { + if (msg != null) + { + final long deliveryTag = channel.getNextDeliveryTag(); + ByteBuffer deliver = createEncodedDeliverFrame(deliveryTag, msg.getRoutingKey(), msg.getExchangeName()); + AMQDataBlock frame = msg.getDataBlock(deliver, channel.getChannelId()); + if (_acks) + { + channel.addUnacknowledgedMessage(msg, deliveryTag, consumerTag, queue); + } + protocolSession.writeFrame(frame); + // if we do not need to wait for client acknowledgements we can decrement + // the reference count immediately + if (!_acks) + { + msg.decrementReference(); + msg.dequeue(queue); + } + else + { + //move the msg to the back of the persistently recorded queue while + //witing for ack + msg.requeue(queue); + } + } + else + { + _logger.error("Attempt to send Null message", new NullPointerException()); + } + } + + public boolean isSuspended() + { + return channel.isSuspended(); + } + + /** + * Callback indicating that a queue has been deleted. + * @param queue + */ + public void queueDeleted(AMQQueue queue) + { + channel.queueDeleted(queue); + } + + private ByteBuffer createEncodedDeliverFrame(long deliveryTag, String routingKey, String exchange) + { + AMQFrame deliverFrame = BasicDeliverBody.createAMQFrame(channel.getChannelId(), consumerTag, + deliveryTag, false, exchange, + routingKey); + ByteBuffer buf = ByteBuffer.allocate((int) deliverFrame.getSize()); // XXX: Could cast be a problem? + deliverFrame.writePayload(buf); + buf.flip(); + return buf; + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/SubscriptionManager.java b/java/broker/src/org/apache/qpid/server/queue/SubscriptionManager.java new file mode 100644 index 0000000000..185b0e4268 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/SubscriptionManager.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +/** + * Abstraction of actor that will determine the subscriber to whom + * a message will be sent. + */ +public interface SubscriptionManager +{ + public boolean hasActiveSubscribers(); + public Subscription nextSubscriber(AMQMessage msg); +} diff --git a/java/broker/src/org/apache/qpid/server/queue/SubscriptionSet.java b/java/broker/src/org/apache/qpid/server/queue/SubscriptionSet.java new file mode 100644 index 0000000000..3b53792234 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/SubscriptionSet.java @@ -0,0 +1,180 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.log4j.Logger; +import java.util.List; +import java.util.ListIterator; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * Holds a set of subscriptions for a queue and manages the round + * robin-ing of deliver etc. + */ +class SubscriptionSet implements WeightedSubscriptionManager +{ + private static final Logger _log = Logger.getLogger(SubscriptionSet.class); + + /** + * List of registered subscribers + */ + private List<Subscription> _subscriptions = new CopyOnWriteArrayList<Subscription>(); + + /** + * Used to control the round robin delivery of content + */ + private int _currentSubscriber; + + /** + * Accessor for unit tests. + */ + int getCurrentSubscriber() + { + return _currentSubscriber; + } + + public void addSubscriber(Subscription subscription) + { + _subscriptions.add(subscription); + } + + /** + * Remove the subscription, returning it if it was found + * @param subscription + * @return null if no match was found + */ + public Subscription removeSubscriber(Subscription subscription) + { + boolean isRemoved = _subscriptions.remove(subscription); // TODO: possibly need O(1) operation here. + if (isRemoved) + { + return subscription; + } + else + { + debugDumpSubscription(subscription); + return null; + } + } + + private void debugDumpSubscription(Subscription subscription) + { + if (_log.isDebugEnabled()) + { + _log.debug("Subscription " + subscription + " not found. Dumping subscriptions:"); + for (Subscription s : _subscriptions) + { + _log.debug("Subscription: " + s); + } + _log.debug("Subscription dump complete"); + } + } + + /** + * Return the next unsuspended subscription or null if not found. + * + * Performance note: + * This method can scan all items twice when looking for a subscription that is not + * suspended. The worst case occcurs when all subscriptions are suspended. However, it is does this + * without synchronisation and subscriptions may be added and removed concurrently. Also note that because of + * race conditions and when subscriptions are removed between calls to nextSubscriber, the + * IndexOutOfBoundsException also causes the scan to start at the beginning. + */ + public Subscription nextSubscriber(AMQMessage msg) + { + if (_subscriptions.isEmpty()) + { + return null; + } + + try { + final Subscription result = nextSubscriber(); + if (result == null) { + _currentSubscriber = 0; + return nextSubscriber(); + } else { + return result; + } + } catch (IndexOutOfBoundsException e) { + _currentSubscriber = 0; + return nextSubscriber(); + } + } + + private Subscription nextSubscriber() + { + final ListIterator<Subscription> iterator = _subscriptions.listIterator(_currentSubscriber); + while (iterator.hasNext()) { + Subscription subscription = iterator.next(); + ++_currentSubscriber; + subscriberScanned(); + if (!subscription.isSuspended()) { + return subscription; + } + } + return null; + } + + /** + * Overridden in test classes. + */ + protected void subscriberScanned() + { + } + + public boolean isEmpty() + { + return _subscriptions.isEmpty(); + } + + public boolean hasActiveSubscribers() + { + for (Subscription s : _subscriptions) + { + if (!s.isSuspended()) return true; + } + return false; + } + + public int getWeight() + { + int count = 0; + for (Subscription s : _subscriptions) + { + if (!s.isSuspended()) count++; + } + return count; + } + + /** + * Notification that a queue has been deleted. This is called so that the subscription can inform the + * channel, which in turn can update its list of unacknowledged messages. + * @param queue + */ + public void queueDeleted(AMQQueue queue) + { + for (Subscription s : _subscriptions) + { + s.queueDeleted(queue); + } + } + + int size() { + return _subscriptions.size(); + } +} diff --git a/java/broker/src/org/apache/qpid/server/queue/WeightedSubscriptionManager.java b/java/broker/src/org/apache/qpid/server/queue/WeightedSubscriptionManager.java new file mode 100644 index 0000000000..adf6aefdfb --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/queue/WeightedSubscriptionManager.java @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +public interface WeightedSubscriptionManager extends SubscriptionManager +{ + public int getWeight(); +} diff --git a/java/broker/src/org/apache/qpid/server/registry/ApplicationRegistry.java b/java/broker/src/org/apache/qpid/server/registry/ApplicationRegistry.java new file mode 100644 index 0000000000..4d1b0dbcfe --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/registry/ApplicationRegistry.java @@ -0,0 +1,108 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.registry; + +import org.apache.commons.configuration.Configuration; +import org.apache.log4j.Logger; +import org.apache.qpid.server.configuration.Configurator; + +import java.util.HashMap; +import java.util.Map; + +/** + * An abstract application registry that provides access to configuration information and handles the + * construction and caching of configurable objects. + * + * Subclasses should handle the construction of the "registered objects" such as the exchange registry. + * + */ +public abstract class ApplicationRegistry implements IApplicationRegistry +{ + private static final Logger _logger = Logger.getLogger(ApplicationRegistry.class); + + private static IApplicationRegistry _instance; + + private final Map<Class<?>, Object> _configuredObjects = new HashMap<Class<?>, Object>(); + + protected final Configuration _configuration; + + private static class ShutdownService implements Runnable + { + public void run() + { + _logger.info("Shutting down application registry..."); + try + { + _instance.getMessageStore().close(); + } + catch (Exception e) + { + _logger.error("Error shutting down message store: " + e, e); + } + } + } + + public static void initialise(IApplicationRegistry instance) throws Exception + { + _instance = instance; + instance.initialise(); + Runtime.getRuntime().addShutdownHook(new Thread(new ShutdownService())); + } + + protected ApplicationRegistry(Configuration configuration) + { + _configuration = configuration; + } + + public static IApplicationRegistry getInstance() + { + if (_instance == null) + { + throw new RuntimeException("Application registry not initialised"); + } + else + { + return _instance; + } + } + + public Configuration getConfiguration() + { + return _configuration; + } + + public <T> T getConfiguredObject(Class<T> instanceType) + { + T instance = (T) _configuredObjects.get(instanceType); + if (instance == null) + { + try + { + instance = instanceType.newInstance(); + } + catch (Exception e) + { + _logger.error("Unable to instantiate configuration class " + instanceType + " - ensure it has a public default constructor"); + throw new IllegalArgumentException("Unable to instantiate configuration class " + instanceType + " - ensure it has a public default constructor"); + } + Configurator.configure(instance); + _configuredObjects.put(instanceType, instance); + } + return instance; + } +} diff --git a/java/broker/src/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java b/java/broker/src/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java new file mode 100644 index 0000000000..db79ae8876 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java @@ -0,0 +1,155 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.registry; + +import org.apache.commons.configuration.CompositeConfiguration; +import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.SystemConfiguration; +import org.apache.commons.configuration.XMLConfiguration; +import org.apache.qpid.server.exchange.DefaultExchangeFactory; +import org.apache.qpid.server.exchange.DefaultExchangeRegistry; +import org.apache.qpid.server.exchange.ExchangeFactory; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.management.JMXManagedObjectRegistry; +import org.apache.qpid.server.management.ManagedObjectRegistry; +import org.apache.qpid.server.management.ManagementConfiguration; +import org.apache.qpid.server.management.NoopManagedObjectRegistry; +import org.apache.qpid.server.queue.DefaultQueueRegistry; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.security.auth.AuthenticationManager; +import org.apache.qpid.server.security.auth.SASLAuthenticationManager; +import org.apache.qpid.server.store.MessageStore; + +import java.io.File; + +public class ConfigurationFileApplicationRegistry extends ApplicationRegistry +{ + private QueueRegistry _queueRegistry; + + private ExchangeRegistry _exchangeRegistry; + + private ExchangeFactory _exchangeFactory; + + private ManagedObjectRegistry _managedObjectRegistry; + + private AuthenticationManager _authenticationManager; + + private MessageStore _messageStore; + + public ConfigurationFileApplicationRegistry(File configurationURL) throws ConfigurationException + { + super(config(configurationURL)); + } + + // Our configuration class needs to make the interpolate method + // public so it can be called below from the config method. + private static class MyConfiguration extends CompositeConfiguration { + public String interpolate(String obj) { + return super.interpolate(obj); + } + } + + private static final Configuration config(File url) throws ConfigurationException { + // We have to override the interpolate methods so that + // interpolation takes place accross the entirety of the + // composite configuration. Without doing this each + // configuration object only interpolates variables defined + // inside itself. + final MyConfiguration conf = new MyConfiguration(); + conf.addConfiguration(new SystemConfiguration() { + protected String interpolate(String o) { + return conf.interpolate(o); + } + }); + conf.addConfiguration(new XMLConfiguration(url) { + protected String interpolate(String o) { + return conf.interpolate(o); + } + }); + return conf; + } + + public void initialise() throws Exception + { + initialiseManagedObjectRegistry(); + _queueRegistry = new DefaultQueueRegistry(); + _exchangeFactory = new DefaultExchangeFactory(); + _exchangeRegistry = new DefaultExchangeRegistry(_exchangeFactory); + _authenticationManager = new SASLAuthenticationManager(); + initialiseMessageStore(); + } + + private void initialiseManagedObjectRegistry() + { + ManagementConfiguration config = getConfiguredObject(ManagementConfiguration.class); + if (config.enabled) + { + _managedObjectRegistry = new JMXManagedObjectRegistry(); + } + else + { + _managedObjectRegistry = new NoopManagedObjectRegistry(); + } + } + + private void initialiseMessageStore() throws Exception + { + String messageStoreClass = _configuration.getString("store.class"); + Class clazz = Class.forName(messageStoreClass); + Object o = clazz.newInstance(); + + if (!(o instanceof MessageStore)) + { + throw new Exception("Message store class must implement " + MessageStore.class + ". Class " + clazz + + " does not."); + } + _messageStore = (MessageStore) o; + _messageStore.configure(getQueueRegistry(), "store", _configuration); + } + + public QueueRegistry getQueueRegistry() + { + return _queueRegistry; + } + + public ExchangeRegistry getExchangeRegistry() + { + return _exchangeRegistry; + } + + public ExchangeFactory getExchangeFactory() + { + return _exchangeFactory; + } + + public ManagedObjectRegistry getManagedObjectRegistry() + { + return _managedObjectRegistry; + } + + public AuthenticationManager getAuthenticationManager() + { + return _authenticationManager; + } + + public MessageStore getMessageStore() + { + return _messageStore; + } +} diff --git a/java/broker/src/org/apache/qpid/server/registry/IApplicationRegistry.java b/java/broker/src/org/apache/qpid/server/registry/IApplicationRegistry.java new file mode 100644 index 0000000000..0102f78424 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/registry/IApplicationRegistry.java @@ -0,0 +1,65 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.registry; + +import org.apache.qpid.server.exchange.ExchangeFactory; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.management.ManagedObjectRegistry; +import org.apache.qpid.server.security.auth.AuthenticationManager; +import org.apache.qpid.server.store.MessageStore; +import org.apache.commons.configuration.Configuration; + +public interface IApplicationRegistry +{ + /** + * Initialise the application registry. All initialisation must be done in this method so that any components + * that need access to the application registry itself for initialisation are able to use it. Attempting to + * initialise in the constructor will lead to failures since the registry reference will not have been set. + */ + void initialise() throws Exception; + + /** + * This gets access to a "configured object". A configured object has fields populated from a the configuration + * object (Commons Configuration) automatically, where it has the appropriate attributes defined on fields. + * Application registry implementations can choose the refresh strategy or caching approach. + * @param instanceType the type of object you want initialised. This must be unique - i.e. you can only + * have a single object of this type in the system. + * @return the configured object + */ + <T> T getConfiguredObject(Class<T> instanceType); + + /** + * Get the low level configuration. For use cases where the configured object approach is not required + * you can get the complete configuration information. + * @return a Commons Configuration instance + */ + Configuration getConfiguration(); + + QueueRegistry getQueueRegistry(); + + ExchangeRegistry getExchangeRegistry(); + + ExchangeFactory getExchangeFactory(); + + ManagedObjectRegistry getManagedObjectRegistry(); + + AuthenticationManager getAuthenticationManager(); + + MessageStore getMessageStore(); +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationManager.java b/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationManager.java new file mode 100644 index 0000000000..0adb7b98e2 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationManager.java @@ -0,0 +1,30 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; + +public interface AuthenticationManager +{ + String getMechanisms(); + + SaslServer createSaslServer(String mechanism, String localFQDN) throws SaslException; + + AuthenticationResult authenticate(SaslServer server, byte[] response); +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationProviderInitialiser.java b/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationProviderInitialiser.java new file mode 100644 index 0000000000..71e3c81ae4 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationProviderInitialiser.java @@ -0,0 +1,63 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import org.apache.commons.configuration.Configuration; + +import javax.security.auth.callback.CallbackHandler; +import javax.security.sasl.SaslServerFactory; +import java.util.Map; + +public interface AuthenticationProviderInitialiser +{ + /** + * @return the mechanism's name. This will be used in the list of mechanism's advertised to the + * client. + */ + String getMechanismName(); + + /** + * Initialise the authentication provider. + * @param baseConfigPath the path in the config file that points to any config options for this provider. Each + * provider can have its own set of configuration options + * @param configuration the Apache Commons Configuration instance used to configure this provider + * @param principalDatabases the set of principal databases that are available + */ + void initialise(String baseConfigPath, Configuration configuration, + Map<String, PrincipalDatabase> principalDatabases) throws Exception; + + /** + * @return the callback handler that should be used to process authentication requests for this mechanism. This will + * be called after initialise and will be stored by the authentication manager. The callback handler <b>must</b> be + * fully threadsafe. + */ + CallbackHandler getCallbackHandler(); + + /** + * Get the properties that must be passed in to the Sasl.createSaslServer method. + * @return the properties, which may be null + */ + Map<String, ?> getProperties(); + + /** + * Get the class that is the server factory. This is used for the JCA registration. + * @return null if no JCA registration is required, otherwise return the class + * that will be used in JCA registration + */ + Class<? extends SaslServerFactory> getServerFactoryClassForJCARegistration(); +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationResult.java b/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationResult.java new file mode 100644 index 0000000000..d7dcf2c973 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/AuthenticationResult.java @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +public class AuthenticationResult +{ + public enum AuthenticationStatus + { + SUCCESS, CONTINUE, ERROR + } + + public AuthenticationStatus status; + public byte[] challenge; + + public AuthenticationResult(byte[] challenge, AuthenticationStatus status) + { + this.status = status; + this.challenge = challenge; + } + + public AuthenticationResult(AuthenticationStatus status) + { + this.status = status; + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/CRAMMD5Initialiser.java b/java/broker/src/org/apache/qpid/server/security/auth/CRAMMD5Initialiser.java new file mode 100644 index 0000000000..bfd2ac1b9f --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/CRAMMD5Initialiser.java @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import javax.security.sasl.SaslServerFactory; + +public class CRAMMD5Initialiser extends UsernamePasswordInitialiser +{ + public String getMechanismName() + { + return "CRAM-MD5"; + } + + public Class<? extends SaslServerFactory> getServerFactoryClassForJCARegistration() + { + // since the CRAM-MD5 provider is registered as part of the JDK, we do not + // return the factory class here since we do not need to register it ourselves. + return null; + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/JCAProvider.java b/java/broker/src/org/apache/qpid/server/security/auth/JCAProvider.java new file mode 100644 index 0000000000..1477b33ebe --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/JCAProvider.java @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import javax.security.sasl.SaslServerFactory; +import java.security.Provider; +import java.security.Security; +import java.util.Map; + +public final class JCAProvider extends Provider +{ + public JCAProvider(Map<String, Class<? extends SaslServerFactory>> providerMap) + { + super("AMQSASLProvider", 1.0, "A JCA provider that registers all " + + "AMQ SASL providers that want to be registered"); + register(providerMap); + Security.addProvider(this); + } + + private void register(Map<String, Class<? extends SaslServerFactory>> providerMap) + { + for (Map.Entry<String, Class<? extends SaslServerFactory>> me : + providerMap.entrySet()) + { + put("SaslServerFactory." + me.getKey(), me.getValue().getName()); + } + } +}
\ No newline at end of file diff --git a/java/broker/src/org/apache/qpid/server/security/auth/PasswordFilePrincipalDatabase.java b/java/broker/src/org/apache/qpid/server/security/auth/PasswordFilePrincipalDatabase.java new file mode 100644 index 0000000000..fb11b89367 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/PasswordFilePrincipalDatabase.java @@ -0,0 +1,130 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import org.apache.log4j.Logger; + +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.login.AccountNotFoundException; +import java.security.Principal; +import java.io.*; +import java.util.regex.Pattern; + +/** + * Represents a user database where the account information is stored in a simple flat file. + * + * The file is expected to be in the form: + * username:password + * username1:password1 + * ... + * usernamen:passwordn + * + * where a carriage return separates each username/password pair. Passwords are assumed to be in + * plain text. + * + */ +public class PasswordFilePrincipalDatabase implements PrincipalDatabase +{ + private static final Logger _logger = Logger.getLogger(PasswordFilePrincipalDatabase.class); + + private File _passwordFile; + + private Pattern _regexp = Pattern.compile(":"); + + public PasswordFilePrincipalDatabase() + { + } + + public void setPasswordFile(String passwordFile) throws FileNotFoundException + { + File f = new File(passwordFile); + _logger.info("PasswordFilePrincipalDatabase using file " + f.getAbsolutePath()); + _passwordFile = f; + if (!f.exists()) + { + throw new FileNotFoundException("Cannot find password file " + f); + } + if (!f.canRead()) + { + throw new FileNotFoundException("Cannot read password file " + f + + ". Check permissions."); + } + } + + public void setPassword(Principal principal, PasswordCallback callback) throws IOException, + AccountNotFoundException + { + if (_passwordFile == null) + { + throw new AccountNotFoundException("Unable to locate principal since no password file was specified during initialisation"); + } + if (principal == null) + { + throw new IllegalArgumentException("principal must not be null"); + } + char[] pwd = lookupPassword(principal.getName()); + if (pwd != null) + { + callback.setPassword(pwd); + } + else + { + throw new AccountNotFoundException("No account found for principal " + principal); + } + } + + /** + * Looks up the password for a specified user in the password file. + * Note this code is <b>not</b> secure since it creates strings of passwords. It should be modified + * to create only char arrays which get nulled out. + * @param name + * @return + * @throws IOException + */ + private char[] lookupPassword(String name) throws IOException + { + BufferedReader reader = null; + try + { + reader = new BufferedReader(new FileReader(_passwordFile)); + String line; + + while ((line = reader.readLine()) != null) + { + String[] result = _regexp.split(line); + if (result == null || result.length < 2) + { + continue; + } + + if (name.equals(result[0])) + { + return result[1].toCharArray(); + } + } + return null; + } + finally + { + if (reader != null) + { + reader.close(); + } + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/PrincipalDatabase.java b/java/broker/src/org/apache/qpid/server/security/auth/PrincipalDatabase.java new file mode 100644 index 0000000000..8add5455ee --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/PrincipalDatabase.java @@ -0,0 +1,42 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.login.AccountNotFoundException; +import java.security.Principal; +import java.io.IOException; + +/** + * Represents a "user database" which is really a way of storing principals (i.e. usernames) and + * passwords. + */ +public interface PrincipalDatabase +{ + /** + * Set the password for a given principal in the specified callback. This is used for certain + * SASL providers. The user database implementation should look up the password in any way it + * chooses and set it in the callback by calling its setPassword method. + * @param principal the principal + * @param callback the password callback that wants to receive the password + * @throws AccountNotFoundException if the account for specified principal could not be found + * @throws IOException if there was an error looking up the principal + */ + void setPassword(Principal principal, PasswordCallback callback) + throws IOException, AccountNotFoundException; +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/SASLAuthenticationManager.java b/java/broker/src/org/apache/qpid/server/security/auth/SASLAuthenticationManager.java new file mode 100644 index 0000000000..7d0b60d95e --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/SASLAuthenticationManager.java @@ -0,0 +1,224 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import org.apache.commons.configuration.Configuration; +import org.apache.log4j.Logger; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.configuration.PropertyUtils; + +import javax.security.auth.callback.CallbackHandler; +import javax.security.sasl.Sasl; +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; +import javax.security.sasl.SaslServerFactory; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.security.Security; + +public class SASLAuthenticationManager implements AuthenticationManager +{ + private static final Logger _log = Logger.getLogger(SASLAuthenticationManager.class); + + /** + * The list of mechanisms, in the order in which they are configured (i.e. preferred order) + */ + private String _mechanisms; + + /** + * Maps from the mechanism to the callback handler to use for handling those requests + */ + private Map<String, CallbackHandler> _callbackHandlerMap = new HashMap<String, CallbackHandler>(); + + /** + * Maps from the mechanism to the properties used to initialise the server. See the method + * Sasl.createSaslServer for details of the use of these properties. This map is populated during initialisation + * of each provider. + */ + private Map<String, Map<String, ?>> _serverCreationProperties = new HashMap<String, Map<String, ?>>(); + + public SASLAuthenticationManager() throws Exception + { + _log.info("Initialising SASL authentication manager"); + Map<String, PrincipalDatabase> databases = initialisePrincipalDatabases(); + initialiseAuthenticationMechanisms(databases); + } + + private Map<String, PrincipalDatabase> initialisePrincipalDatabases() throws Exception + { + Configuration config = ApplicationRegistry.getInstance().getConfiguration(); + List<String> databaseNames = config.getList("security.principal-databases.principal-database.name"); + List<String> databaseClasses = config.getList("security.principal-databases.principal-database.class"); + Map<String, PrincipalDatabase> databases = new HashMap<String, PrincipalDatabase>(); + for (int i = 0; i < databaseNames.size(); i++) + { + Object o; + try + { + o = Class.forName(databaseClasses.get(i)).newInstance(); + } + catch (Exception e) + { + throw new Exception("Error initialising principal database: " + e, e); + } + + if (!(o instanceof PrincipalDatabase)) + { + throw new Exception("Principal databases must implement the PrincipalDatabase interface"); + } + + initialisePrincipalDatabase((PrincipalDatabase) o, config, i); + + String name = databaseNames.get(i); + if (name == null || name.length() == 0) + { + throw new Exception("Principal database names must have length greater than or equal to one character"); + } + PrincipalDatabase pd = databases.get(name); + if (pd != null) + { + throw new Exception("Duplicate principal database name provided"); + } + _log.info("Initialised principal database " + name + " successfully"); + databases.put(name, (PrincipalDatabase) o); + } + return databases; + } + + private void initialisePrincipalDatabase(PrincipalDatabase principalDatabase, Configuration config, int index) + throws Exception + { + String baseName = "security.principal-databases.principal-database(" + index + ").attributes.attribute."; + List<String> argumentNames = config.getList(baseName + "name"); + List<String> argumentValues = config.getList(baseName + "value"); + for (int i = 0; i < argumentNames.size(); i++) + { + String argName = argumentNames.get(i); + if (argName == null || argName.length() == 0) + { + throw new Exception("Argument names must have length >= 1 character"); + } + if (Character.isLowerCase(argName.charAt(0))) + { + argName = Character.toUpperCase(argName.charAt(0)) + argName.substring(1); + } + String methodName = "set" + argName; + Method method = principalDatabase.getClass().getMethod(methodName, String.class); + if (method == null) + { + throw new Exception("No method " + methodName + " found in class " + principalDatabase.getClass() + + " hence unable to configure principal database. The method must be public and " + + "have a single String argument with a void return type"); + } + method.invoke(principalDatabase, PropertyUtils.replaceProperties(argumentValues.get(i))); + } + } + + private void initialiseAuthenticationMechanisms(Map<String, PrincipalDatabase> databases) throws Exception + { + Configuration config = ApplicationRegistry.getInstance().getConfiguration(); + List<String> mechanisms = config.getList("security.sasl.mechanisms.mechanism.initialiser.class"); + + // Maps from the mechanism to the properties used to initialise the server. See the method + // Sasl.createSaslServer for details of the use of these properties. This map is populated during initialisation + // of each provider. + Map<String, Class<? extends SaslServerFactory>> providerMap = new TreeMap<String, Class<? extends SaslServerFactory>>(); + + for (int i = 0; i < mechanisms.size(); i++) + { + String baseName = "security.sasl.mechanisms.mechanism(" + i + ").initialiser"; + String clazz = config.getString(baseName + ".class"); + initialiseAuthenticationMechanism(baseName, clazz, databases, config, providerMap); + } + if (providerMap.size() > 0) + { + Security.addProvider(new JCAProvider(providerMap)); + } + } + + private void initialiseAuthenticationMechanism(String baseName, String clazz, + Map<String, PrincipalDatabase> databases, + Configuration configuration, + Map<String, Class<? extends SaslServerFactory>> providerMap) + throws Exception + { + Class initialiserClazz = Class.forName(clazz); + Object o = initialiserClazz.newInstance(); + if (!(o instanceof AuthenticationProviderInitialiser)) + { + throw new Exception("The class " + clazz + " must be an instance of " + + AuthenticationProviderInitialiser.class); + } + AuthenticationProviderInitialiser initialiser = (AuthenticationProviderInitialiser) o; + initialiser.initialise(baseName, configuration, databases); + String mechanism = initialiser.getMechanismName(); + if (_mechanisms == null) + { + _mechanisms = mechanism; + } + else + { + // simple append should be fine since the number of mechanisms is small and this is a one time initialisation + _mechanisms = _mechanisms + " " + mechanism; + } + _callbackHandlerMap.put(mechanism, initialiser.getCallbackHandler()); + _serverCreationProperties.put(mechanism, initialiser.getProperties()); + Class<? extends SaslServerFactory> factory = initialiser.getServerFactoryClassForJCARegistration(); + if (factory != null) + { + providerMap.put(mechanism, factory); + } + _log.info("Initialised " + mechanism + " SASL provider successfully"); + } + + public String getMechanisms() + { + return _mechanisms; + } + + public SaslServer createSaslServer(String mechanism, String localFQDN) throws SaslException + { + return Sasl.createSaslServer(mechanism, "AMQP", localFQDN, _serverCreationProperties.get(mechanism), + _callbackHandlerMap.get(mechanism)); + } + + public AuthenticationResult authenticate(SaslServer server, byte[] response) + { + try + { + // Process response from the client + byte[] challenge = server.evaluateResponse(response != null ? response : new byte[0]); + + if (server.isComplete()) + { + return new AuthenticationResult(challenge, AuthenticationResult.AuthenticationStatus.SUCCESS); + } + else + { + return new AuthenticationResult(challenge, AuthenticationResult.AuthenticationStatus.CONTINUE); + } + } + catch (SaslException e) + { + return new AuthenticationResult(AuthenticationResult.AuthenticationStatus.ERROR); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/UsernamePasswordInitialiser.java b/java/broker/src/org/apache/qpid/server/security/auth/UsernamePasswordInitialiser.java new file mode 100644 index 0000000000..02a953f47c --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/UsernamePasswordInitialiser.java @@ -0,0 +1,99 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import org.apache.commons.configuration.Configuration; + +import javax.security.auth.callback.*; +import javax.security.auth.login.AccountNotFoundException; +import javax.security.sasl.AuthorizeCallback; +import java.util.Map; +import java.io.IOException; +import java.security.Principal; + +public abstract class UsernamePasswordInitialiser implements AuthenticationProviderInitialiser +{ + private ServerCallbackHandler _callbackHandler; + + private class ServerCallbackHandler implements CallbackHandler + { + private final PrincipalDatabase _principalDatabase; + + protected ServerCallbackHandler(PrincipalDatabase database) + { + _principalDatabase = database; + } + + public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException + { + Principal username = null; + for (Callback callback : callbacks) + { + if (callback instanceof NameCallback) + { + username = new UsernamePrincipal(((NameCallback)callback).getDefaultName()); + } + else if (callback instanceof PasswordCallback) + { + try + { + _principalDatabase.setPassword(username, (PasswordCallback) callback); + } + catch (AccountNotFoundException e) + { + // very annoyingly the callback handler does not throw anything more appropriate than + // IOException + throw new IOException("Error looking up user " + e); + } + } + else if (callback instanceof AuthorizeCallback) + { + ((AuthorizeCallback)callback).setAuthorized(true); + } + else + { + throw new UnsupportedCallbackException(callback); + } + } + } + } + + public void initialise(String baseConfigPath, Configuration configuration, + Map<String, PrincipalDatabase> principalDatabases) throws Exception + { + String principalDatabaseName = configuration.getString(baseConfigPath + ".principal-database"); + PrincipalDatabase db = principalDatabases.get(principalDatabaseName); + if (db == null) + { + throw new Exception("Principal database " + principalDatabaseName + " not found. Ensure the name matches " + + "an entry in the configuration file"); + } + _callbackHandler = new ServerCallbackHandler(db); + } + + public CallbackHandler getCallbackHandler() + { + return _callbackHandler; + } + + public Map<String, ?> getProperties() + { + // there are no properties required for the CRAM-MD5 implementation + return null; + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/UsernamePrincipal.java b/java/broker/src/org/apache/qpid/server/security/auth/UsernamePrincipal.java new file mode 100644 index 0000000000..1d425b8399 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/UsernamePrincipal.java @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth; + +import java.security.Principal; + +/** + * A principal that is just a wrapper for a simple username. + * + */ +public class UsernamePrincipal implements Principal +{ + private String _name; + + public UsernamePrincipal(String name) + { + _name = name; + } + + public String getName() + { + return _name; + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainInitialiser.java b/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainInitialiser.java new file mode 100644 index 0000000000..94406237a5 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainInitialiser.java @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth.amqplain; + +import org.apache.qpid.server.security.auth.UsernamePasswordInitialiser; + +import javax.security.sasl.SaslServerFactory; + +public class AmqPlainInitialiser extends UsernamePasswordInitialiser +{ + public String getMechanismName() + { + return "AMQPLAIN"; + } + + public Class<? extends SaslServerFactory> getServerFactoryClassForJCARegistration() + { + return AmqPlainSaslServerFactory.class; + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainSaslServer.java b/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainSaslServer.java new file mode 100644 index 0000000000..0f7981abe1 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainSaslServer.java @@ -0,0 +1,120 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth.amqplain; + +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.framing.AMQFrameDecodingException; +import org.apache.mina.common.ByteBuffer; + +import javax.security.sasl.SaslServer; +import javax.security.sasl.SaslException; +import javax.security.sasl.AuthorizeCallback; +import javax.security.auth.callback.*; +import java.io.IOException; + +public class AmqPlainSaslServer implements SaslServer +{ + public static final String MECHANISM = "AMQPLAIN"; + + private CallbackHandler _cbh; + + private String _authorizationId; + + private boolean _complete = false; + + public AmqPlainSaslServer(CallbackHandler cbh) + { + _cbh = cbh; + } + + public String getMechanismName() + { + return MECHANISM; + } + + public byte[] evaluateResponse(byte[] response) throws SaslException + { + try + { + final FieldTable ft = new FieldTable(ByteBuffer.wrap(response), response.length); + String username = (String) ft.get("LOGIN"); + // we do not care about the prompt but it throws if null + NameCallback nameCb = new NameCallback("prompt", username); + // we do not care about the prompt but it throws if null + PasswordCallback passwordCb = new PasswordCallback("prompt", false); + // TODO: should not get pwd as a String but as a char array... + String pwd = (String) ft.get("PASSWORD"); + passwordCb.setPassword(pwd.toCharArray()); + AuthorizeCallback authzCb = new AuthorizeCallback(username, username); + Callback[] callbacks = new Callback[]{nameCb, passwordCb, authzCb}; + _cbh.handle(callbacks); + _complete = true; + if (authzCb.isAuthorized()) + { + _authorizationId = authzCb.getAuthenticationID(); + return null; + } + else + { + throw new SaslException("Authentication failed"); + } + } + catch (AMQFrameDecodingException e) + { + throw new SaslException("Unable to decode response: " + e, e); + } + catch (IOException e) + { + throw new SaslException("Error processing data: " + e, e); + } + catch (UnsupportedCallbackException e) + { + throw new SaslException("Unable to obtain data from callback handler: " + e, e); + } + } + + public boolean isComplete() + { + return _complete; + } + + public String getAuthorizationID() + { + return _authorizationId; + } + + public byte[] unwrap(byte[] incoming, int offset, int len) throws SaslException + { + throw new SaslException("Unsupported operation"); + } + + public byte[] wrap(byte[] outgoing, int offset, int len) throws SaslException + { + throw new SaslException("Unsupported operation"); + } + + public Object getNegotiatedProperty(String propName) + { + return null; + } + + public void dispose() throws SaslException + { + _cbh = null; + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainSaslServerFactory.java b/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainSaslServerFactory.java new file mode 100644 index 0000000000..c4e904f923 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/amqplain/AmqPlainSaslServerFactory.java @@ -0,0 +1,56 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth.amqplain; + +import javax.security.sasl.SaslServerFactory; +import javax.security.sasl.SaslServer; +import javax.security.sasl.SaslException; +import javax.security.sasl.Sasl; +import javax.security.auth.callback.CallbackHandler; +import java.util.Map; + +public class AmqPlainSaslServerFactory implements SaslServerFactory +{ + public SaslServer createSaslServer(String mechanism, String protocol, String serverName, Map props, + CallbackHandler cbh) throws SaslException + { + if (AmqPlainSaslServer.MECHANISM.equals(mechanism)) + { + return new AmqPlainSaslServer(cbh); + } + else + { + return null; + } + } + + public String[] getMechanismNames(Map props) + { + if (props.containsKey(Sasl.POLICY_NOPLAINTEXT) || + props.containsKey(Sasl.POLICY_NODICTIONARY) || + props.containsKey(Sasl.POLICY_NOACTIVE)) + { + // returned array must be non null according to interface documentation + return new String[0]; + } + else + { + return new String[]{AmqPlainSaslServer.MECHANISM}; + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainInitialiser.java b/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainInitialiser.java new file mode 100644 index 0000000000..7b055a4f58 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainInitialiser.java @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth.plain; + +import org.apache.qpid.server.security.auth.UsernamePasswordInitialiser; + +import javax.security.sasl.SaslServerFactory; + +public class PlainInitialiser extends UsernamePasswordInitialiser +{ + public String getMechanismName() + { + return "PLAIN"; + } + + public Class<? extends SaslServerFactory> getServerFactoryClassForJCARegistration() + { + return PlainSaslServerFactory.class; + } +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainSaslServer.java b/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainSaslServer.java new file mode 100644 index 0000000000..5a69ed02ba --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainSaslServer.java @@ -0,0 +1,141 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth.plain; + +import javax.security.auth.callback.*; +import javax.security.sasl.AuthorizeCallback; +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; +import java.io.IOException; + +public class PlainSaslServer implements SaslServer +{ + public static final String MECHANISM = "PLAIN"; + + private CallbackHandler _cbh; + + private String _authorizationId; + + private boolean _complete = false; + + public PlainSaslServer(CallbackHandler cbh) + { + _cbh = cbh; + } + + public String getMechanismName() + { + return MECHANISM; + } + + public byte[] evaluateResponse(byte[] response) throws SaslException + { + try + { + int authzidNullPosition = findNullPosition(response, 0); + if (authzidNullPosition < 0) + { + throw new SaslException("Invalid PLAIN encoding, authzid null terminator not found"); + } + int authcidNullPosition = findNullPosition(response, authzidNullPosition + 1); + if (authcidNullPosition < 0) + { + throw new SaslException("Invalid PLAIN encoding, authcid null terminator not found"); + } + + // we do not currently support authcid in any meaningful way + String authcid = new String(response, 0, authzidNullPosition, "utf8"); + String authzid = new String(response, authzidNullPosition + 1, authcidNullPosition - 1, "utf8"); + + // we do not care about the prompt but it throws if null + NameCallback nameCb = new NameCallback("prompt", authzid); + // we do not care about the prompt but it throws if null + PasswordCallback passwordCb = new PasswordCallback("prompt", false); + // TODO: should not get pwd as a String but as a char array... + int passwordLen = response.length - authcidNullPosition - 1; + String pwd = new String(response, authcidNullPosition + 1, passwordLen, "utf8"); + passwordCb.setPassword(pwd.toCharArray()); + AuthorizeCallback authzCb = new AuthorizeCallback(authzid, authzid); + Callback[] callbacks = new Callback[]{nameCb, passwordCb, authzCb}; + _cbh.handle(callbacks); + _complete = true; + if (authzCb.isAuthorized()) + { + _authorizationId = authzCb.getAuthenticationID(); + return null; + } + else + { + throw new SaslException("Authentication failed"); + } + } + catch (IOException e) + { + throw new SaslException("Error processing data: " + e, e); + } + catch (UnsupportedCallbackException e) + { + throw new SaslException("Unable to obtain data from callback handler: " + e, e); + } + } + + private int findNullPosition(byte[] response, int startPosition) + { + int position = startPosition; + while (position < response.length) + { + if (response[position] == (byte) 0) + { + return position; + } + position++; + } + return -1; + } + + public boolean isComplete() + { + return _complete; + } + + public String getAuthorizationID() + { + return _authorizationId; + } + + public byte[] unwrap(byte[] incoming, int offset, int len) throws SaslException + { + throw new SaslException("Unsupported operation"); + } + + public byte[] wrap(byte[] outgoing, int offset, int len) throws SaslException + { + throw new SaslException("Unsupported operation"); + } + + public Object getNegotiatedProperty(String propName) + { + return null; + } + + public void dispose() throws SaslException + { + _cbh = null; + } + +} diff --git a/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainSaslServerFactory.java b/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainSaslServerFactory.java new file mode 100644 index 0000000000..754ecbde78 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/security/auth/plain/PlainSaslServerFactory.java @@ -0,0 +1,56 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.security.auth.plain; + +import javax.security.auth.callback.CallbackHandler; +import javax.security.sasl.Sasl; +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; +import javax.security.sasl.SaslServerFactory; +import java.util.Map; + +public class PlainSaslServerFactory implements SaslServerFactory +{ + public SaslServer createSaslServer(String mechanism, String protocol, String serverName, Map props, + CallbackHandler cbh) throws SaslException + { + if (PlainSaslServer.MECHANISM.equals(mechanism)) + { + return new PlainSaslServer(cbh); + } + else + { + return null; + } + } + + public String[] getMechanismNames(Map props) + { + if (props.containsKey(Sasl.POLICY_NOPLAINTEXT) || + props.containsKey(Sasl.POLICY_NODICTIONARY) || + props.containsKey(Sasl.POLICY_NOACTIVE)) + { + // returned array must be non null according to interface documentation + return new String[0]; + } + else + { + return new String[]{PlainSaslServer.MECHANISM}; + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/state/AMQState.java b/java/broker/src/org/apache/qpid/server/state/AMQState.java new file mode 100644 index 0000000000..46d46eb4c0 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/state/AMQState.java @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.state; + +/** + * States used in the AMQ protocol. Used by the finite state machine to determine + * valid responses. + */ +public enum AMQState +{ + CONNECTION_NOT_STARTED, + CONNECTION_NOT_AUTH, + CONNECTION_NOT_TUNED, + CONNECTION_NOT_OPENED, + CONNECTION_OPEN, + CONNECTION_CLOSING, + CONNECTION_CLOSED +} diff --git a/java/broker/src/org/apache/qpid/server/state/AMQStateManager.java b/java/broker/src/org/apache/qpid/server/state/AMQStateManager.java new file mode 100644 index 0000000000..54c8bcd9d5 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/state/AMQStateManager.java @@ -0,0 +1,219 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.state; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.*; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.handler.*; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQMethodListener; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.log4j.Logger; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CopyOnWriteArraySet; + +/** + * The state manager is responsible for managing the state of the protocol session. + * <p/> + * For each AMQProtocolHandler there is a separate state manager. + * + */ +public class AMQStateManager implements AMQMethodListener +{ + private static final Logger _logger = Logger.getLogger(AMQStateManager.class); + + /** + * The current state + */ + private AMQState _currentState; + + /** + * Maps from an AMQState instance to a Map from Class to StateTransitionHandler. + * The class must be a subclass of AMQFrame. + */ + private final Map<AMQState, Map<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>> _state2HandlersMap = + new HashMap<AMQState, Map<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>>(); + + private CopyOnWriteArraySet<StateListener> _stateListeners = new CopyOnWriteArraySet<StateListener>(); + + public AMQStateManager() + { + this(AMQState.CONNECTION_NOT_STARTED, true); + } + + protected AMQStateManager(AMQState initial, boolean register) + { + _currentState = initial; + if (register) + { + registerListeners(); + } + } + + protected void registerListeners() + { + Map<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>> frame2handlerMap = + new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>(); + + // we need to register a map for the null (i.e. all state) handlers otherwise you get + // a stack overflow in the handler searching code when you present it with a frame for which + // no handlers are registered + // + _state2HandlersMap.put(null, frame2handlerMap); + + frame2handlerMap = new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>(); + frame2handlerMap.put(ConnectionStartOkBody.class, ConnectionStartOkMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_NOT_STARTED, frame2handlerMap); + + frame2handlerMap = new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>(); + frame2handlerMap.put(ConnectionSecureOkBody.class, ConnectionSecureOkMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_NOT_AUTH, frame2handlerMap); + + frame2handlerMap = new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>(); + frame2handlerMap.put(ConnectionTuneOkBody.class, ConnectionTuneOkMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_NOT_TUNED, frame2handlerMap); + + frame2handlerMap = new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>(); + frame2handlerMap.put(ConnectionOpenBody.class, ConnectionOpenMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_NOT_OPENED, frame2handlerMap); + + // + // ConnectionOpen handlers + // + frame2handlerMap = new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>(); + frame2handlerMap.put(ChannelOpenBody.class, ChannelOpenHandler.getInstance()); + frame2handlerMap.put(ChannelCloseBody.class, ChannelCloseHandler.getInstance()); + frame2handlerMap.put(ChannelCloseOkBody.class, ChannelCloseOkHandler.getInstance()); + frame2handlerMap.put(ConnectionCloseBody.class, ConnectionCloseMethodHandler.getInstance()); + frame2handlerMap.put(ExchangeDeclareBody.class, ExchangeDeclareHandler.getInstance()); + frame2handlerMap.put(ExchangeDeleteBody.class, ExchangeDeleteHandler.getInstance()); + frame2handlerMap.put(BasicAckBody.class, BasicAckMethodHandler.getInstance()); + frame2handlerMap.put(BasicRecoverBody.class, BasicRecoverMethodHandler.getInstance()); + frame2handlerMap.put(BasicConsumeBody.class, BasicConsumeMethodHandler.getInstance()); + frame2handlerMap.put(BasicCancelBody.class, BasicCancelMethodHandler.getInstance()); + frame2handlerMap.put(BasicPublishBody.class, BasicPublishMethodHandler.getInstance()); + frame2handlerMap.put(BasicQosBody.class, BasicQosHandler.getInstance()); + frame2handlerMap.put(QueueBindBody.class, QueueBindHandler.getInstance()); + frame2handlerMap.put(QueueDeclareBody.class, QueueDeclareHandler.getInstance()); + frame2handlerMap.put(QueueDeleteBody.class, QueueDeleteHandler.getInstance()); + frame2handlerMap.put(ChannelFlowBody.class, ChannelFlowHandler.getInstance()); + frame2handlerMap.put(TxSelectBody.class, TxSelectHandler.getInstance()); + frame2handlerMap.put(TxCommitBody.class, TxCommitHandler.getInstance()); + frame2handlerMap.put(TxRollbackBody.class, TxRollbackHandler.getInstance()); + + _state2HandlersMap.put(AMQState.CONNECTION_OPEN, frame2handlerMap); + + frame2handlerMap = new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>(); + frame2handlerMap.put(ConnectionCloseOkBody.class, ConnectionCloseOkMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_CLOSING, frame2handlerMap); + + } + + public AMQState getCurrentState() + { + return _currentState; + } + + public void changeState(AMQState newState) throws AMQException + { + _logger.debug("State changing to " + newState + " from old state " + _currentState); + final AMQState oldState = _currentState; + _currentState = newState; + + for (StateListener l : _stateListeners) + { + l.stateChanged(oldState, newState); + } + } + + public void error(AMQException e) + { + _logger.error("State manager received error notification: " + e, e); + for (StateListener l : _stateListeners) + { + l.error(e); + } + } + + public <B extends AMQMethodBody> boolean methodReceived(AMQMethodEvent<B> evt, + AMQProtocolSession protocolSession, + QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry) throws AMQException + { + StateAwareMethodListener<B> handler = findStateTransitionHandler(_currentState, evt.getMethod()); + if (handler != null) + { + handler.methodReceived(this, queueRegistry, exchangeRegistry, protocolSession, evt); + return true; + } + return false; + } + + protected <B extends AMQMethodBody> StateAwareMethodListener<B> findStateTransitionHandler(AMQState currentState, + B frame) + throws IllegalStateTransitionException + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Looking for state transition handler for frame " + frame.getClass()); + } + final Map<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>> + classToHandlerMap = _state2HandlersMap.get(currentState); + + if (classToHandlerMap == null) + { + // if no specialised per state handler is registered look for a + // handler registered for "all" states + return findStateTransitionHandler(null, frame); + } + final StateAwareMethodListener<B> handler = (StateAwareMethodListener<B>) classToHandlerMap.get(frame.getClass()); + if (handler == null) + { + if (currentState == null) + { + _logger.debug("No state transition handler defined for receiving frame " + frame); + return null; + } + else + { + // if no specialised per state handler is registered look for a + // handler registered for "all" states + return findStateTransitionHandler(null, frame); + } + } + else + { + return handler; + } + } + + public void addStateListener(StateListener listener) + { + _logger.debug("Adding state listener"); + _stateListeners.add(listener); + } + + public void removeStateListener(StateListener listener) + { + _stateListeners.remove(listener); + } +} diff --git a/java/broker/src/org/apache/qpid/server/state/IllegalStateTransitionException.java b/java/broker/src/org/apache/qpid/server/state/IllegalStateTransitionException.java new file mode 100644 index 0000000000..c77cb4f833 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/state/IllegalStateTransitionException.java @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.state; + +import org.apache.qpid.AMQException; + +public class IllegalStateTransitionException extends AMQException +{ + private AMQState _originalState; + + private Class _frame; + + public IllegalStateTransitionException(AMQState originalState, Class frame) + { + super("No valid state transition defined for receiving frame " + frame + + " from state " + originalState); + _originalState = originalState; + _frame = frame; + } + + public AMQState getOriginalState() + { + return _originalState; + } + + public Class getFrameClass() + { + return _frame; + } +} diff --git a/java/broker/src/org/apache/qpid/server/state/StateAwareMethodListener.java b/java/broker/src/org/apache/qpid/server/state/StateAwareMethodListener.java new file mode 100644 index 0000000000..9776151c28 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/state/StateAwareMethodListener.java @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.state; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.framing.AMQMethodBody; + +/** + * A frame listener that is informed of the protocol state when invoked and has + * the opportunity to update state. + * + */ +public interface StateAwareMethodListener <B extends AMQMethodBody> +{ + void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<B> evt) throws AMQException; +} diff --git a/java/broker/src/org/apache/qpid/server/state/StateListener.java b/java/broker/src/org/apache/qpid/server/state/StateListener.java new file mode 100644 index 0000000000..d31e786ef1 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/state/StateListener.java @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.state; + +import org.apache.qpid.AMQException; + +public interface StateListener +{ + void stateChanged(AMQState oldState, AMQState newState) throws AMQException; + + void error(Throwable t); +} diff --git a/java/broker/src/org/apache/qpid/server/store/MemoryMessageStore.java b/java/broker/src/org/apache/qpid/server/store/MemoryMessageStore.java new file mode 100644 index 0000000000..d15a035259 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/store/MemoryMessageStore.java @@ -0,0 +1,137 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.store; + +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; +import org.apache.commons.configuration.Configuration; + +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; +import java.util.List; + +/** + * A simple message store that stores the messages in a threadsafe structure in memory. + * + */ +public class MemoryMessageStore implements MessageStore +{ + private static final Logger _log = Logger.getLogger(MemoryMessageStore.class); + + private static final int DEFAULT_HASHTABLE_CAPACITY = 50000; + + private static final String HASHTABLE_CAPACITY_CONFIG = "hashtable-capacity"; + + protected ConcurrentMap<Long, AMQMessage> _messageMap; + + private final AtomicLong _messageId = new AtomicLong(1); + + public void configure(String base, Configuration config) + { + int hashtableCapacity = config.getInt(base + "." + HASHTABLE_CAPACITY_CONFIG, DEFAULT_HASHTABLE_CAPACITY); + _log.info("Using capacity " + hashtableCapacity + " for hash table"); + _messageMap = new ConcurrentHashMap<Long, AMQMessage>(hashtableCapacity); + } + + public void configure(QueueRegistry queueRegistry, String base, Configuration config) throws Exception + { + configure(base, config); + } + + public void close() throws Exception + { + if(_messageMap != null) + { + _messageMap.clear(); + _messageMap = null; + } + } + + public void put(AMQMessage msg) + { + _messageMap.put(msg.getMessageId(), msg); + } + + public void removeMessage(long messageId) + { + if (_log.isDebugEnabled()) + { + _log.debug("Removing message with id " + messageId); + } + _messageMap.remove(messageId); + } + + public void createQueue(AMQQueue queue) throws AMQException + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void removeQueue(String name) throws AMQException + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void enqueueMessage(String name, long messageId) throws AMQException + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void dequeueMessage(String name, long messageId) throws AMQException + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void beginTran() throws AMQException + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void commitTran() throws AMQException + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void abortTran() throws AMQException + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean inTran() + { + return false; + } + + public List<AMQQueue> createQueues() throws AMQException + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getNewMessageId() + { + return _messageId.getAndIncrement(); + } + + public AMQMessage getMessage(long messageId) + { + return _messageMap.get(messageId); + } +} diff --git a/java/broker/src/org/apache/qpid/server/store/MessageStore.java b/java/broker/src/org/apache/qpid/server/store/MessageStore.java new file mode 100644 index 0000000000..7655b26221 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/store/MessageStore.java @@ -0,0 +1,80 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.store; + +import org.apache.commons.configuration.Configuration; +import org.apache.qpid.AMQException; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.QueueRegistry; + +import java.util.List; + +public interface MessageStore +{ + /** + * Called after instantiation in order to configure the message store. A particular implementation can define + * whatever parameters it wants. + * @param queueRegistry the registry of queues to be used by this store + * @param base the base element identifier from which all configuration items are relative. For example, if the base + * element is "store", the all elements used by concrete classes will be "store.foo" etc. + * @param config the apache commons configuration object + */ + void configure(QueueRegistry queueRegistry, String base, Configuration config) throws Exception; + + /** + * Called to close and cleanup any resources used by the message store. + * @throws Exception + */ + void close() throws Exception; + + void put(AMQMessage msg) throws AMQException; + + void removeMessage(long messageId) throws AMQException; + + void createQueue(AMQQueue queue) throws AMQException; + + void removeQueue(String name) throws AMQException; + + void enqueueMessage(String name, long messageId) throws AMQException; + + void dequeueMessage(String name, long messageId) throws AMQException; + + void beginTran() throws AMQException; + + void commitTran() throws AMQException; + + void abortTran() throws AMQException; + + boolean inTran(); + + /** + * Recreate all queues that were persisted, including re-enqueuing of existing messages + * @return + * @throws AMQException + */ + List<AMQQueue> createQueues() throws AMQException; + + /** + * Return a valid, currently unused message id. + * @return a message id + */ + long getNewMessageId(); +} + + diff --git a/java/broker/src/org/apache/qpid/server/transport/ConnectorConfiguration.java b/java/broker/src/org/apache/qpid/server/transport/ConnectorConfiguration.java new file mode 100644 index 0000000000..e9e9c8aca4 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/transport/ConnectorConfiguration.java @@ -0,0 +1,93 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.transport; + +import org.apache.qpid.configuration.Configured; +import org.apache.mina.common.IoAcceptor; + +public class ConnectorConfiguration +{ + public static final String DEFAULT_PORT = "5672"; + + public static final String SSL_PORT = "8672"; + + @Configured(path = "connector.processors", + defaultValue = "4") + public int processors; + + @Configured(path = "connector.port", + defaultValue = DEFAULT_PORT) + public int port; + + @Configured(path = "connector.bind", + defaultValue = "wildcard") + public String bindAddress; + + @Configured(path = "connector.sslport", + defaultValue = SSL_PORT) + public int sslPort; + + @Configured(path = "connector.socketReceiveBuffer", + defaultValue = "32767") + public int socketReceiveBufferSize; + + @Configured(path = "connector.socketWriteBuffer", + defaultValue = "32767") + public int socketWriteBuferSize; + + @Configured(path = "connector.tcpNoDelay", + defaultValue = "true") + public boolean tcpNoDelay; + + @Configured(path = "advanced.filterchain[@enableExecutorPool]", + defaultValue = "false") + public boolean enableExecutorPool; + + @Configured(path = "advanced.enablePooledAllocator", + defaultValue = "false") + public boolean enablePooledAllocator; + + @Configured(path = "advanced.enableDirectBuffers", + defaultValue = "false") + public boolean enableDirectBuffers; + + @Configured(path = "connector.ssl", + defaultValue = "false") + public boolean enableSSL; + + @Configured(path = "connector.nonssl", + defaultValue = "true") + public boolean enableNonSSL; + + @Configured(path = "advanced.useBlockingIo", + defaultValue = "false") + public boolean useBlockingIo; + + public IoAcceptor createAcceptor() + { + if(useBlockingIo) + { + System.out.println("Using blocking io"); + return new org.apache.qpid.bio.SocketAcceptor(); + } + else + { + return new org.apache.mina.transport.socket.nio.SocketAcceptor(processors); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/transport/ThreadPoolFilter.java b/java/broker/src/org/apache/qpid/server/transport/ThreadPoolFilter.java new file mode 100644 index 0000000000..e3d87f808c --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/transport/ThreadPoolFilter.java @@ -0,0 +1,692 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.transport; + +import org.apache.mina.common.*; +import org.apache.mina.util.*; +import org.apache.mina.util.Queue; +import org.apache.mina.util.Stack; + +import java.util.*; + +/** + * A Thread-pooling filter. This filter forwards {@link IoHandler} events + * to its thread pool. + * <p/> + * This is an implementation of + * <a href="http://deuce.doc.wustl.edu/doc/pspdfs/lf.pdf">Leader/Followers + * thread pool</a> by Douglas C. Schmidt et al. + */ +public class ThreadPoolFilter extends IoFilterAdapter +{ + /** + * Default maximum size of thread pool (2G). + */ + public static final int DEFAULT_MAXIMUM_POOL_SIZE = Integer.MAX_VALUE; + + /** + * Default keep-alive time of thread pool (1 min). + */ + public static final int DEFAULT_KEEP_ALIVE_TIME = 60 * 1000; + + /** + * A queue which contains {@link Integer}s which represents reusable + * thread IDs. {@link Worker} first checks this queue and then + * uses {@link #threadId} when no reusable thread ID is available. + */ + private static final Queue threadIdReuseQueue = new Queue(); + private static int threadId = 0; + + private static int acquireThreadId() + { + synchronized (threadIdReuseQueue) + { + Integer id = (Integer) threadIdReuseQueue.pop(); + if (id == null) + { + return ++ threadId; + } + else + { + return id.intValue(); + } + } + } + + private static void releaseThreadId(int id) + { + synchronized (threadIdReuseQueue) + { + threadIdReuseQueue.push(new Integer(id)); + } + } + + private final String threadNamePrefix; + private final Map buffers = new IdentityHashMap(); + private final BlockingQueue unfetchedSessionBuffers = new BlockingQueue(); + private final Set allSessionBuffers = new IdentityHashSet(); + + private Worker leader; + private final Stack followers = new Stack(); + private final Set allWorkers = new IdentityHashSet(); + + private int maximumPoolSize = DEFAULT_MAXIMUM_POOL_SIZE; + private int keepAliveTime = DEFAULT_KEEP_ALIVE_TIME; + + private boolean shuttingDown; + + private int poolSize; + private final Object poolSizeLock = new Object(); + + /** + * Creates a new instance of this filter with default thread pool settings. + */ + public ThreadPoolFilter() + { + this("IoThreadPool"); + } + + /** + * Creates a new instance of this filter with the specified thread name prefix + * and other default settings. + * + * @param threadNamePrefix the prefix of the thread names this pool will create. + */ + public ThreadPoolFilter(String threadNamePrefix) + { + if (threadNamePrefix == null) + { + throw new NullPointerException("threadNamePrefix"); + } + threadNamePrefix = threadNamePrefix.trim(); + if (threadNamePrefix.length() == 0) + { + throw new IllegalArgumentException("threadNamePrefix is empty."); + } + this.threadNamePrefix = threadNamePrefix; + } + + public String getThreadNamePrefix() + { + return threadNamePrefix; + } + + public int getPoolSize() + { + synchronized (poolSizeLock) + { + return poolSize; + } + } + + public int getMaximumPoolSize() + { + return maximumPoolSize; + } + + public int getKeepAliveTime() + { + return keepAliveTime; + } + + public void setMaximumPoolSize(int maximumPoolSize) + { + if (maximumPoolSize <= 0) + { + throw new IllegalArgumentException(); + } + this.maximumPoolSize = maximumPoolSize; + } + + public void setKeepAliveTime(int keepAliveTime) + { + this.keepAliveTime = keepAliveTime; + } + + public void init() + { + shuttingDown = false; + leader = new Worker(); + leader.start(); + leader.lead(); + } + + public void destroy() + { + shuttingDown = true; + int expectedPoolSize = 0; + while (getPoolSize() != expectedPoolSize) + { + List allWorkers; + synchronized (poolSizeLock) + { + allWorkers = new ArrayList(this.allWorkers); + } + + // You may not interrupt the current thread. + if (allWorkers.remove(Thread.currentThread())) + { + expectedPoolSize = 1; + } + + for (Iterator i = allWorkers.iterator(); i.hasNext();) + { + Worker worker = (Worker) i.next(); + while (worker.isAlive()) + { + worker.interrupt(); + try + { + // This timeout will help us from + // infinite lock-up and interrupt workers again. + worker.join(100); + } + catch (InterruptedException e) + { + } + } + } + } + + this.allSessionBuffers.clear(); + this.unfetchedSessionBuffers.clear(); + this.buffers.clear(); + this.followers.clear(); + this.leader = null; + } + + private void increasePoolSize(Worker worker) + { + synchronized (poolSizeLock) + { + poolSize++; + allWorkers.add(worker); + } + } + + private void decreasePoolSize(Worker worker) + { + synchronized (poolSizeLock) + { + poolSize--; + allWorkers.remove(worker); + } + } + + private void fireEvent(NextFilter nextFilter, IoSession session, + EventType type, Object data) + { + final BlockingQueue unfetchedSessionBuffers = this.unfetchedSessionBuffers; + final Set allSessionBuffers = this.allSessionBuffers; + final Event event = new Event(type, nextFilter, data); + + synchronized (unfetchedSessionBuffers) + { + final SessionBuffer buf = getSessionBuffer(session); + final Queue eventQueue = buf.eventQueue; + + synchronized (buf) + { + eventQueue.push(event); + } + + if (!allSessionBuffers.contains(buf)) + { + allSessionBuffers.add(buf); + unfetchedSessionBuffers.push(buf); + } + } + } + + /** + * Implement this method to fetch (or pop) a {@link SessionBuffer} from + * the given <tt>unfetchedSessionBuffers</tt>. The default implementation + * simply pops the buffer from it. You could prioritize the fetch order. + * + * @return A non-null {@link SessionBuffer} + */ + protected SessionBuffer fetchSessionBuffer(Queue unfetchedSessionBuffers) + { + return (SessionBuffer) unfetchedSessionBuffers.pop(); + } + + private SessionBuffer getSessionBuffer(IoSession session) + { + final Map buffers = this.buffers; + SessionBuffer buf = (SessionBuffer) buffers.get(session); + if (buf == null) + { + synchronized (buffers) + { + buf = (SessionBuffer) buffers.get(session); + if (buf == null) + { + buf = new SessionBuffer(session); + buffers.put(session, buf); + } + } + } + return buf; + } + + private void removeSessionBuffer(SessionBuffer buf) + { + final Map buffers = this.buffers; + final IoSession session = buf.session; + synchronized (buffers) + { + buffers.remove(session); + } + } + + protected static class SessionBuffer + { + private final IoSession session; + + private final Queue eventQueue = new Queue(); + + private SessionBuffer(IoSession session) + { + this.session = session; + } + + public IoSession getSession() + { + return session; + } + + public Queue getEventQueue() + { + return eventQueue; + } + } + + private class Worker extends Thread + { + private final int id; + private final Object promotionLock = new Object(); + private boolean dead; + + private Worker() + { + int id = acquireThreadId(); + this.id = id; + this.setName(threadNamePrefix + '-' + id); + increasePoolSize(this); + } + + public boolean lead() + { + final Object promotionLock = this.promotionLock; + synchronized (promotionLock) + { + if (dead) + { + return false; + } + + leader = this; + promotionLock.notify(); + } + + return true; + } + + public void run() + { + for (; ;) + { + if (!waitForPromotion()) + { + break; + } + + SessionBuffer buf = fetchBuffer(); + giveUpLead(); + if (buf == null) + { + break; + } + + processEvents(buf); + follow(); + releaseBuffer(buf); + } + + decreasePoolSize(this); + releaseThreadId(id); + } + + private SessionBuffer fetchBuffer() + { + BlockingQueue unfetchedSessionBuffers = ThreadPoolFilter.this.unfetchedSessionBuffers; + synchronized (unfetchedSessionBuffers) + { + while (!shuttingDown) + { + try + { + unfetchedSessionBuffers.waitForNewItem(); + } + catch (InterruptedException e) + { + continue; + } + + return ThreadPoolFilter.this.fetchSessionBuffer(unfetchedSessionBuffers); + } + } + + return null; + } + + private void processEvents(SessionBuffer buf) + { + final IoSession session = buf.session; + final Queue eventQueue = buf.eventQueue; + for (; ;) + { + Event event; + synchronized (buf) + { + event = (Event) eventQueue.pop(); + if (event == null) + { + break; + } + } + processEvent(event.getNextFilter(), session, + event.getType(), event.getData()); + } + } + + private void follow() + { + final Object promotionLock = this.promotionLock; + final Stack followers = ThreadPoolFilter.this.followers; + synchronized (promotionLock) + { + if (this != leader) + { + synchronized (followers) + { + followers.push(this); + } + } + } + } + + private void releaseBuffer(SessionBuffer buf) + { + final BlockingQueue unfetchedSessionBuffers = ThreadPoolFilter.this.unfetchedSessionBuffers; + final Set allSessionBuffers = ThreadPoolFilter.this.allSessionBuffers; + final Queue eventQueue = buf.eventQueue; + + synchronized (unfetchedSessionBuffers) + { + if (eventQueue.isEmpty()) + { + allSessionBuffers.remove(buf); + removeSessionBuffer(buf); + } + else + { + unfetchedSessionBuffers.push(buf); + } + } + } + + private boolean waitForPromotion() + { + final Object promotionLock = this.promotionLock; + + long startTime = System.currentTimeMillis(); + long currentTime = System.currentTimeMillis(); + + synchronized (promotionLock) + { + while (this != leader && !shuttingDown) + { + // Calculate remaining keep-alive time + int keepAliveTime = getKeepAliveTime(); + if (keepAliveTime > 0) + { + keepAliveTime -= (currentTime - startTime); + } + else + { + keepAliveTime = Integer.MAX_VALUE; + } + + // Break the loop if there's no remaining keep-alive time. + if (keepAliveTime <= 0) + { + break; + } + + // Wait for promotion + try + { + promotionLock.wait(keepAliveTime); + } + catch (InterruptedException e) + { + } + + // Update currentTime for the next iteration + currentTime = System.currentTimeMillis(); + } + + boolean timeToLead = this == leader && !shuttingDown; + + if (!timeToLead) + { + // time to die + synchronized (followers) + { + followers.remove(this); + } + + // Mark as dead explicitly when we've got promotionLock. + dead = true; + } + + return timeToLead; + } + } + + private void giveUpLead() + { + final Stack followers = ThreadPoolFilter.this.followers; + Worker worker; + do + { + synchronized (followers) + { + worker = (Worker) followers.pop(); + } + + if (worker == null) + { + // Increase the number of threads if we + // are not shutting down and we can increase the number. + if (!shuttingDown + && getPoolSize() < getMaximumPoolSize()) + { + worker = new Worker(); + worker.lead(); + worker.start(); + } + + // This loop should end because: + // 1) lead() is called already, + // 2) or it is shutting down and there's no more threads left. + break; + } + } + while (!worker.lead()); + } + } + + protected static class EventType + { + public static final EventType OPENED = new EventType("OPENED"); + + public static final EventType CLOSED = new EventType("CLOSED"); + + public static final EventType READ = new EventType("READ"); + + public static final EventType WRITTEN = new EventType("WRITTEN"); + + public static final EventType RECEIVED = new EventType("RECEIVED"); + + public static final EventType SENT = new EventType("SENT"); + + public static final EventType IDLE = new EventType("IDLE"); + + public static final EventType EXCEPTION = new EventType("EXCEPTION"); + + private final String value; + + private EventType(String value) + { + this.value = value; + } + + public String toString() + { + return value; + } + } + + protected static class Event + { + private final EventType type; + private final NextFilter nextFilter; + private final Object data; + + public Event(EventType type, NextFilter nextFilter, Object data) + { + this.type = type; + this.nextFilter = nextFilter; + this.data = data; + } + + public Object getData() + { + return data; + } + + + public NextFilter getNextFilter() + { + return nextFilter; + } + + + public EventType getType() + { + return type; + } + } + + public void sessionCreated(NextFilter nextFilter, IoSession session) + { + nextFilter.sessionCreated(session); + } + + public void sessionOpened(NextFilter nextFilter, + IoSession session) + { + fireEvent(nextFilter, session, EventType.OPENED, null); + } + + public void sessionClosed(NextFilter nextFilter, + IoSession session) + { + fireEvent(nextFilter, session, EventType.CLOSED, null); + } + + public void sessionIdle(NextFilter nextFilter, + IoSession session, IdleStatus status) + { + fireEvent(nextFilter, session, EventType.IDLE, status); + } + + public void exceptionCaught(NextFilter nextFilter, + IoSession session, Throwable cause) + { + fireEvent(nextFilter, session, EventType.EXCEPTION, cause); + } + + public void messageReceived(NextFilter nextFilter, + IoSession session, Object message) + { + ByteBufferUtil.acquireIfPossible(message); + fireEvent(nextFilter, session, EventType.RECEIVED, message); + } + + public void messageSent(NextFilter nextFilter, + IoSession session, Object message) + { + ByteBufferUtil.acquireIfPossible(message); + fireEvent(nextFilter, session, EventType.SENT, message); + } + + protected void processEvent(NextFilter nextFilter, + IoSession session, EventType type, + Object data) + { + if (type == EventType.RECEIVED) + { + nextFilter.messageReceived(session, data); + ByteBufferUtil.releaseIfPossible(data); + } + else if (type == EventType.SENT) + { + nextFilter.messageSent(session, data); + ByteBufferUtil.releaseIfPossible(data); + } + else if (type == EventType.EXCEPTION) + { + nextFilter.exceptionCaught(session, (Throwable) data); + } + else if (type == EventType.IDLE) + { + nextFilter.sessionIdle(session, (IdleStatus) data); + } + else if (type == EventType.OPENED) + { + nextFilter.sessionOpened(session); + } + else if (type == EventType.CLOSED) + { + nextFilter.sessionClosed(session); + } + } + + public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) + { + nextFilter.filterWrite(session, writeRequest); + } + + public void filterClose(NextFilter nextFilter, IoSession session) throws Exception + { + nextFilter.filterClose(session); + } +}
\ No newline at end of file diff --git a/java/broker/src/org/apache/qpid/server/txn/TxnBuffer.java b/java/broker/src/org/apache/qpid/server/txn/TxnBuffer.java new file mode 100644 index 0000000000..9a46afafe5 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/txn/TxnBuffer.java @@ -0,0 +1,75 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.txn; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.store.MessageStore; + +import java.util.ArrayList; +import java.util.List; + +public class TxnBuffer +{ + private final MessageStore _store; + private final List<TxnOp> _ops = new ArrayList<TxnOp>(); + + public TxnBuffer(MessageStore store) + { + _store = store; + } + + public void commit() throws AMQException + { + _store.beginTran(); + boolean failed = true; + try + { + for(TxnOp op : _ops) + { + op.commit(); + } + _ops.clear(); + failed = false; + } + finally + { + if(failed) + { + _store.abortTran(); + } + else + { + _store.commitTran(); + } + } + } + + public void rollback() throws AMQException + { + for(TxnOp op : _ops) + { + op.rollback(); + } + _ops.clear(); + } + + public void enlist(TxnOp op) + { + _ops.add(op); + } +} diff --git a/java/broker/src/org/apache/qpid/server/txn/TxnOp.java b/java/broker/src/org/apache/qpid/server/txn/TxnOp.java new file mode 100644 index 0000000000..402e75c64b --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/txn/TxnOp.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.txn; + +import org.apache.qpid.AMQException; + +public interface TxnOp +{ + public void commit() throws AMQException; + public void rollback(); +} diff --git a/java/broker/src/org/apache/qpid/server/util/CircularBuffer.java b/java/broker/src/org/apache/qpid/server/util/CircularBuffer.java new file mode 100644 index 0000000000..d2c10cb4d1 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/util/CircularBuffer.java @@ -0,0 +1,123 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +import java.util.Iterator; + +public class CircularBuffer implements Iterable +{ + private final Object[] _log; + private int _size; + private int _index; + + public CircularBuffer(int size) + { + _log = new Object[size]; + } + + public void add(Object o) + { + _log[_index++] = o; + _size = Math.min(_size+1, _log.length); + if(_index >= _log.length) + { + _index = 0; + } + } + + public Object get(int i) + { + if(i >= _log.length) + { + throw new ArrayIndexOutOfBoundsException(i); + } + return _log[index(i)]; + } + + public int size() { + return _size; + } + + public Iterator iterator() + { + return new Iterator() + { + private int i = 0; + + public boolean hasNext() + { + return i < _size; + } + + public Object next() + { + return get(i++); + } + + public void remove() + { + throw new UnsupportedOperationException(); + } + }; + } + + public String toString() + { + StringBuilder s = new StringBuilder(); + boolean first = true; + for(Object o : this) + { + if(!first) + { + s.append(", "); + } + else + { + first = false; + } + s.append(o); + } + return s.toString(); + } + + public void dump() + { + for(Object o : this) + { + System.out.println(o); + } + } + + int index(int i) + { + return _size == _log.length ? (_index + i) % _log.length : i; + } + + public static void main(String[] artgv) + { + String[] items = new String[]{ + "A","B","C","D","E","F","G","H","I","J","K" + }; + CircularBuffer buffer = new CircularBuffer(5); + for(String s : items) + { + buffer.add(s); + System.out.println(buffer); + } + } +} diff --git a/java/broker/src/org/apache/qpid/server/util/LoggingProxy.java b/java/broker/src/org/apache/qpid/server/util/LoggingProxy.java new file mode 100644 index 0000000000..03c4896422 --- /dev/null +++ b/java/broker/src/org/apache/qpid/server/util/LoggingProxy.java @@ -0,0 +1,102 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.util.Arrays; + +/** + * Dynamic proxy that records invocations in a fixed size circular buffer, + * dumping details on hitting an exception. + * <p> + * Useful in debugging. + * <p> + */ +public class LoggingProxy implements InvocationHandler +{ + private final Object _target; + private final CircularBuffer _log; + + public LoggingProxy(Object target, int size) + { + _target = target; + _log = new CircularBuffer(size); + } + + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable + { + try + { + entered(method, args); + Object result = method.invoke(_target, args); + returned(method, result); + return result; + } + catch(InvocationTargetException e) + { + dump(); + throw e.getTargetException(); + } + } + + void dump() + { + _log.dump(); + } + + CircularBuffer getBuffer() + { + return _log; + } + + private synchronized void entered(Method method, Object[] args) + { + if (args == null) + { + _log.add(Thread.currentThread() + ": " + method.getName() + "() entered"); + } + else + { + _log.add(Thread.currentThread() + ": " + method.getName() + "(" + Arrays.toString(args) + ") entered"); + } + } + + private synchronized void returned(Method method, Object result) + { + if (method.getReturnType() == Void.TYPE) + { + _log.add(Thread.currentThread() + ": " + method.getName() + "() returned"); + } + else + { + _log.add(Thread.currentThread() + ": " + method.getName() + "() returned " + result); + } + } + + public Object getProxy(Class... c) + { + return Proxy.newProxyInstance(_target.getClass().getClassLoader(), c, this); + } + + public int getBufferSize() { + return _log.size(); + } +} diff --git a/java/broker/test/build-module.xml b/java/broker/test/build-module.xml new file mode 100644 index 0000000000..3128b77249 --- /dev/null +++ b/java/broker/test/build-module.xml @@ -0,0 +1,32 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="Broker Tests" default="build"> + <property name="module.depends" value="broker common"/> + <property name="module.dist" value="false"/> + + <import file="../../module.xml"/> + + <target name="test" depends="build"> + <junit fork="yes" showoutput="true" haltonfailure="yes"> + <test name="org.apache.qpid.server.UnitTests"/> + <formatter type="plain"/> + <classpath refid="module.class.path"/> + </junit> + </target> + +</project> diff --git a/java/broker/test/lib/README b/java/broker/test/lib/README new file mode 100644 index 0000000000..a75673935e --- /dev/null +++ b/java/broker/test/lib/README @@ -0,0 +1 @@ +Junit copied here momentarily.
diff --git a/java/broker/test/lib/junit/junit-4.0.jar b/java/broker/test/lib/junit/junit-4.0.jar Binary files differnew file mode 100644 index 0000000000..b20406924a --- /dev/null +++ b/java/broker/test/lib/junit/junit-4.0.jar diff --git a/java/broker/test/lib/junit/junit.jar b/java/broker/test/lib/junit/junit.jar Binary files differnew file mode 100644 index 0000000000..674d71e89e --- /dev/null +++ b/java/broker/test/lib/junit/junit.jar diff --git a/java/broker/test/src/org/apache/qpid/server/UnitTests.java b/java/broker/test/src/org/apache/qpid/server/UnitTests.java new file mode 100644 index 0000000000..377b1fb64e --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/UnitTests.java @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + org.apache.qpid.server.configuration.UnitTests.class, + org.apache.qpid.server.exchange.UnitTests.class, + org.apache.qpid.server.protocol.UnitTests.class, + org.apache.qpid.server.queue.UnitTests.class, + org.apache.qpid.server.store.UnitTests.class, + org.apache.qpid.server.util.UnitTests.class + }) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/configuration/TestPropertyUtils.java b/java/broker/test/src/org/apache/qpid/server/configuration/TestPropertyUtils.java new file mode 100644 index 0000000000..bd78d1c786 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/configuration/TestPropertyUtils.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.configuration; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.configuration.PropertyException; +import org.apache.qpid.configuration.PropertyUtils; +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +// TODO: This belongs in the "common" module. +public class TestPropertyUtils +{ + @Test + public void testSimpleExpansion() throws PropertyException + { + System.setProperty("banana", "fruity"); + String expandedProperty = PropertyUtils.replaceProperties("${banana}"); + assertEquals(expandedProperty, "fruity"); + } + + @Test + public void testDualExpansion() throws PropertyException + { + System.setProperty("banana", "fruity"); + System.setProperty("concrete", "horrible"); + String expandedProperty = PropertyUtils.replaceProperties("${banana}xyz${concrete}"); + assertEquals(expandedProperty, "fruityxyzhorrible"); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(TestPropertyUtils.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/configuration/UnitTests.java b/java/broker/test/src/org/apache/qpid/server/configuration/UnitTests.java new file mode 100644 index 0000000000..4c70d7c4da --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/configuration/UnitTests.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.configuration; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({TestPropertyUtils.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/exchange/AbstractHeadersExchangeTest.java b/java/broker/test/src/org/apache/qpid/server/exchange/AbstractHeadersExchangeTest.java new file mode 100644 index 0000000000..ac04c51e46 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/exchange/AbstractHeadersExchangeTest.java @@ -0,0 +1,212 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.NoConsumersException; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.store.SkeletonMessageStore; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.framing.BasicContentHeaderProperties; +import org.apache.qpid.AMQException; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; + +import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Set; +import java.util.HashSet; + +public class AbstractHeadersExchangeTest +{ + private final HeadersExchange exchange = new HeadersExchange(); + protected final Set<TestQueue> queues = new HashSet<TestQueue>(); + private int count; + + protected TestQueue bindDefault(String... bindings) throws AMQException + { + return bind("Queue" + (++count), bindings); + } + + protected TestQueue bind(String queueName, String... bindings) throws AMQException + { + return bind(queueName, getHeaders(bindings)); + } + + protected TestQueue bind(String queue, FieldTable bindings) throws AMQException + { + return bind(new TestQueue(queue), bindings); + } + + protected TestQueue bind(TestQueue queue, String... bindings) throws AMQException + { + return bind(queue, getHeaders(bindings)); + } + + protected TestQueue bind(TestQueue queue, FieldTable bindings) throws AMQException + { + queues.add(queue); + exchange.registerQueue(null, queue, bindings); + return queue; + } + + + protected void route(Message m) throws AMQException + { + m.route(exchange); + } + + protected void routeAndTest(Message m, TestQueue... expected) throws AMQException + { + routeAndTest(m, Arrays.asList(expected)); + } + + protected void routeAndTest(Message m, List<TestQueue> expected) throws AMQException + { + route(m); + for (TestQueue q : queues) + { + if (expected.contains(q)) + { + assertTrue("Expected " + m + " to be delivered to " + q, m.isInQueue(q)); + //assert m.isInQueue(q) : "Expected " + m + " to be delivered to " + q; + } + else + { + assertFalse("Did not expect " + m + " to be delivered to " + q, m.isInQueue(q)); + //assert !m.isInQueue(q) : "Did not expect " + m + " to be delivered to " + q; + } + } + } + + static FieldTable getHeaders(String... entries) + { + FieldTable headers = new FieldTable(); + for (String s : entries) + { + String[] parts = s.split("=", 2); + headers.put(parts[0], parts.length > 1 ? parts[1] : ""); + } + return headers; + } + + static BasicPublishBody getPublishRequest(String id) + { + BasicPublishBody request = new BasicPublishBody(); + request.routingKey = id; + return request; + } + + static ContentHeaderBody getContentHeader(FieldTable headers) + { + ContentHeaderBody header = new ContentHeaderBody(); + header.properties = getProperties(headers); + return header; + } + + static BasicContentHeaderProperties getProperties(FieldTable headers) + { + BasicContentHeaderProperties properties = new BasicContentHeaderProperties(); + properties.setHeaders(headers); + return properties; + } + + static class TestQueue extends AMQQueue + { + final List<HeadersExchangeTest.Message> messages = new ArrayList<HeadersExchangeTest.Message>(); + + public TestQueue(String name) throws AMQException + { + super(name, false, "test", true, ApplicationRegistry.getInstance().getQueueRegistry()); + } + + public void deliver(AMQMessage msg) throws AMQException + { + messages.add(new HeadersExchangeTest.Message(msg)); + } + } + + /** + * Just add some extra utility methods to AMQMessage to aid testing. + */ + static class Message extends AMQMessage + { + private static MessageStore _messageStore = new SkeletonMessageStore(); + + Message(String id, String... headers) throws AMQException + { + this(id, getHeaders(headers)); + } + + Message(String id, FieldTable headers) throws AMQException + { + this(getPublishRequest(id), getContentHeader(headers), null); + } + + private Message(BasicPublishBody publish, ContentHeaderBody header, List<ContentBody> bodies) throws AMQException + { + super(_messageStore, publish, header, bodies); + } + + private Message(AMQMessage msg) throws AMQException + { + super(msg); + } + + void route(Exchange exchange) throws AMQException + { + exchange.route(this); + } + + boolean isInQueue(TestQueue queue) + { + return queue.messages.contains(this); + } + + public int hashCode() + { + return getKey().hashCode(); + } + + public boolean equals(Object o) + { + return o instanceof HeadersExchangeTest.Message && equals((HeadersExchangeTest.Message) o); + } + + private boolean equals(HeadersExchangeTest.Message m) + { + return getKey().equals(m.getKey()); + } + + public String toString() + { + return getKey().toString(); + } + + private Object getKey() + { + return getPublishBody().routingKey; + } + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/exchange/HeadersBindingTest.java b/java/broker/test/src/org/apache/qpid/server/exchange/HeadersBindingTest.java new file mode 100644 index 0000000000..7e33b1d711 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/exchange/HeadersBindingTest.java @@ -0,0 +1,200 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.junit.Test; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; + + +import java.util.Map; +import java.util.HashMap; + +import junit.framework.JUnit4TestAdapter; + +/** + */ +public class HeadersBindingTest +{ + private Map<String, String> bindHeaders = new HashMap<String, String>(); + private Map<String, String> matchHeaders = new HashMap<String, String>(); + + @Test public void default_1() + { + bindHeaders.put("A", "Value of A"); + + matchHeaders.put("A", "Value of A"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void default_2() + { + bindHeaders.put("A", "Value of A"); + + matchHeaders.put("A", "Value of A"); + matchHeaders.put("B", "Value of B"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void default_3() + { + bindHeaders.put("A", "Value of A"); + + matchHeaders.put("A", "Altered value of A"); + + assertFalse(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void all_1() + { + bindHeaders.put("X-match", "all"); + bindHeaders.put("A", "Value of A"); + + matchHeaders.put("A", "Value of A"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void all_2() + { + bindHeaders.put("X-match", "all"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Value of A"); + + assertFalse(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void all_3() + { + bindHeaders.put("X-match", "all"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Value of A"); + matchHeaders.put("B", "Value of B"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void all_4() + { + bindHeaders.put("X-match", "all"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Value of A"); + matchHeaders.put("B", "Value of B"); + matchHeaders.put("C", "Value of C"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void all_5() + { + bindHeaders.put("X-match", "all"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Value of A"); + matchHeaders.put("B", "Altered value of B"); + matchHeaders.put("C", "Value of C"); + + assertFalse(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void any_1() + { + bindHeaders.put("X-match", "any"); + bindHeaders.put("A", "Value of A"); + + matchHeaders.put("A", "Value of A"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void any_2() + { + bindHeaders.put("X-match", "any"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Value of A"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void any_3() + { + bindHeaders.put("X-match", "any"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Value of A"); + matchHeaders.put("B", "Value of B"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void any_4() + { + bindHeaders.put("X-match", "any"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Value of A"); + matchHeaders.put("B", "Value of B"); + matchHeaders.put("C", "Value of C"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void any_5() + { + bindHeaders.put("X-match", "any"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Value of A"); + matchHeaders.put("B", "Altered value of B"); + matchHeaders.put("C", "Value of C"); + + assertTrue(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + + @Test public void any_6() + { + bindHeaders.put("X-match", "any"); + bindHeaders.put("A", "Value of A"); + bindHeaders.put("B", "Value of B"); + + matchHeaders.put("A", "Altered value of A"); + matchHeaders.put("B", "Altered value of B"); + matchHeaders.put("C", "Value of C"); + + assertFalse(new HeadersBinding(bindHeaders).matches(matchHeaders)); + } + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(HeadersBindingTest.class); + } + +} diff --git a/java/broker/test/src/org/apache/qpid/server/exchange/HeadersExchangePerformanceTest.java b/java/broker/test/src/org/apache/qpid/server/exchange/HeadersExchangePerformanceTest.java new file mode 100644 index 0000000000..74cb082db7 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/exchange/HeadersExchangePerformanceTest.java @@ -0,0 +1,181 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.queue.NoConsumersException; +import org.apache.qpid.server.util.TimedRun; +import org.apache.qpid.server.util.AveragedRun; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.ContentBody; + +import java.util.List; + +/** + * Want to vary the number of regsitrations, messages and matches and measure + * the corresponding variance in execution time. + * <p/> + * Each registration will contain the 'All' header, even registrations will + * contain the 'Even' header and odd headers will contain the 'Odd' header. + * In additions each regsitration will have a unique value for the 'Specific' + * header as well. + * <p/> + * Messages can then be routed to all registrations, to even- or odd- registrations + * or to a specific registration. + * + */ +public class HeadersExchangePerformanceTest extends AbstractHeadersExchangeTest +{ + private static enum Mode {ALL, ODD_OR_EVEN, SPECIFIC} + + private final TestQueue[] queues; + private final Mode mode; + + public HeadersExchangePerformanceTest(Mode mode, int registrations) throws AMQException + { + this.mode = mode; + queues = new TestQueue[registrations]; + for (int i = 0; i < queues.length; i++) + { + switch(mode) + { + case ALL: + queues[i] = bind(new FastQueue("Queue" + i), "All"); + break; + case ODD_OR_EVEN: + queues[i] = bind(new FastQueue("Queue" + i), "All", oddOrEven(i)); + break; + case SPECIFIC: + queues[i] = bind(new FastQueue("Queue" + i), "All", oddOrEven(i), "Specific"+ i); + break; + } + } + } + + void sendToAll(int count) throws AMQException + { + send(count, "All=True"); + } + + void sendToOdd(int count) throws AMQException + { + send(count, "All=True", "Odd=True"); + } + + void sendToEven(int count) throws AMQException + { + send(count, "All=True", "Even=True"); + } + + void sendToAllSpecifically(int count) throws AMQException + { + for (int i = 0; i < queues.length; i++) + { + sendToSpecific(count, i); + } + } + + void sendToSpecific(int count, int index) throws AMQException + { + send(count, "All=True", oddOrEven(index) + "=True", "Specific=" + index); + } + + private void send(int count, String... headers) throws AMQException + { + for (int i = 0; i < count; i++) + { + route(new Message("Message" + i, headers)); + } + } + + private static String oddOrEven(int i) + { + return (i % 2 == 0 ? "Even" : "Odd"); + } + + static class FastQueue extends TestQueue + { + + public FastQueue(String name) throws AMQException + { + super(name); + } + + public void deliver(BasicPublishBody publishBody, ContentHeaderBody contentHeaderBody, List<ContentBody> contentBodies) throws NoConsumersException + { + //just discard as we are not testing routing functionality here + } + } + + static class Test extends TimedRun + { + private final Mode mode; + private final int registrations; + private final int count; + private HeadersExchangePerformanceTest test; + + Test(Mode mode, int registrations, int count) + { + super(mode + ", registrations=" + registrations + ", count=" + count); + this.mode = mode; + this.registrations = registrations; + this.count = count; + } + + protected void setup() throws Exception + { + test = new HeadersExchangePerformanceTest(mode, registrations); + run(100); //do a warm up run before times start + } + + protected void teardown() throws Exception + { + test = null; + System.gc(); + } + + protected void run() throws Exception + { + run(count); + } + + private void run(int count) throws Exception + { + switch(mode) + { + case ALL: + test.sendToAll(count); + break; + default: + System.out.println("Test for " + mode + " not yet implemented."); + } + } + } + + public static void main(String[] argv) throws Exception + { + int registrations = Integer.parseInt(argv[0]); + int messages = Integer.parseInt(argv[1]); + int iterations = Integer.parseInt(argv[2]); + TimedRun test = new Test(Mode.ALL, registrations, messages); + AveragedRun tests = new AveragedRun(test, iterations); + System.out.println(tests.call()); + } +} + diff --git a/java/broker/test/src/org/apache/qpid/server/exchange/HeadersExchangeTest.java b/java/broker/test/src/org/apache/qpid/server/exchange/HeadersExchangeTest.java new file mode 100644 index 0000000000..86414ffae2 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/exchange/HeadersExchangeTest.java @@ -0,0 +1,81 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import org.junit.Test; +import org.junit.Before; +import org.apache.qpid.AMQException; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.NullApplicationRegistry; +import junit.framework.JUnit4TestAdapter; + +public class HeadersExchangeTest extends AbstractHeadersExchangeTest +{ + @Before + public void init() throws Exception + { + ApplicationRegistry.initialise(new NullApplicationRegistry()); + } + + @Test + public void simple() throws AMQException + { + TestQueue q1 = bindDefault("F0000"); + TestQueue q2 = bindDefault("F0000=Aardvark"); + TestQueue q3 = bindDefault("F0001"); + TestQueue q4 = bindDefault("F0001=Bear"); + TestQueue q5 = bindDefault("F0000", "F0001"); + TestQueue q6 = bindDefault("F0000=Aardvark", "F0001=Bear"); + TestQueue q7 = bindDefault("F0000", "F0001=Bear"); + TestQueue q8 = bindDefault("F0000=Aardvark", "F0001"); + TestQueue q9 = bindDefault("F0000=Apple", "F0001=Banana"); + TestQueue q10 = bindDefault("F0000=Apple", "F0001"); + + routeAndTest(new Message("Message1", "F0000"), q1); + routeAndTest(new Message("Message2", "F0000=Aardvark"), q1, q2); + routeAndTest(new Message("Message3", "F0000=Aardvark", "F0001"), q1, q2, q3, q5, q8); + routeAndTest(new Message("Message4", "F0000", "F0001=Bear"), q1, q3, q4, q5, q7); + routeAndTest(new Message("Message5", "F0000=Aardvark", "F0001=Bear"), + q1, q2, q3, q4, q5, q6, q7, q8); + routeAndTest(new Message("Message6", "F0002")); + } + + @Test + public void any() throws AMQException + { + TestQueue q1 = bindDefault("F0000", "F0001", "X-match=any"); + TestQueue q2 = bindDefault("F0000=Aardvark", "F0001=Bear", "X-match=any"); + TestQueue q3 = bindDefault("F0000", "F0001=Bear", "X-match=any"); + TestQueue q4 = bindDefault("F0000=Aardvark", "F0001", "X-match=any"); + TestQueue q5 = bindDefault("F0000=Apple", "F0001=Banana", "X-match=any"); + TestQueue q6 = bindDefault("F0000=Apple", "F0001", "X-match=any"); + + routeAndTest(new Message("Message1", "F0000"), q1, q3); + routeAndTest(new Message("Message2", "F0000=Aardvark"), q1, q2, q3, q4); + routeAndTest(new Message("Message3", "F0000=Aardvark", "F0001"), q1, q2, q3, q4, q6); + routeAndTest(new Message("Message4", "F0000", "F0001=Bear"), q1, q2, q3, q4, q6); + routeAndTest(new Message("Message5", "F0000=Aardvark", "F0001=Bear"), q1, q2, q3, q4, q6); + routeAndTest(new Message("Message6", "F0002")); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(HeadersExchangeTest.class); + } + +} diff --git a/java/broker/test/src/org/apache/qpid/server/exchange/UnitTests.java b/java/broker/test/src/org/apache/qpid/server/exchange/UnitTests.java new file mode 100644 index 0000000000..a3c6439b67 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/exchange/UnitTests.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.exchange; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({HeadersBindingTest.class, HeadersExchangeTest.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/protocol/MockIoSession.java b/java/broker/test/src/org/apache/qpid/server/protocol/MockIoSession.java new file mode 100644 index 0000000000..101ba7dd36 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/protocol/MockIoSession.java @@ -0,0 +1,288 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import org.apache.mina.common.*; +import org.apache.mina.common.support.DefaultCloseFuture; +import org.apache.mina.common.support.DefaultWriteFuture; + +import java.net.SocketAddress; +import java.util.Set; + +public class MockIoSession implements IoSession +{ + private AMQProtocolSession _protocolSession; + + /** + * Stores the last response written + */ + private Object _lastWrittenObject; + + private boolean _closing; + + public MockIoSession() + { + } + + public Object getLastWrittenObject() + { + return _lastWrittenObject; + } + + public IoService getService() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public IoHandler getHandler() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public IoSessionConfig getConfig() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public IoFilterChain getFilterChain() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public WriteFuture write(Object message) + { + WriteFuture wf = new DefaultWriteFuture(null); + _lastWrittenObject = message; + return wf; + } + + public CloseFuture close() + { + _closing = true; + CloseFuture cf = new DefaultCloseFuture(null); + cf.setClosed(); + return cf; + } + + public Object getAttachment() + { + return _protocolSession; + } + + public Object setAttachment(Object attachment) + { + Object current = _protocolSession; + _protocolSession = (AMQProtocolSession) attachment; + return current; + } + + public Object getAttribute(String key) + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Object setAttribute(String key, Object value) + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Object setAttribute(String key) + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Object removeAttribute(String key) + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean containsAttribute(String key) + { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public Set getAttributeKeys() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public TransportType getTransportType() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isConnected() + { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isClosing() + { + return _closing; + } + + public CloseFuture getCloseFuture() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public SocketAddress getRemoteAddress() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public SocketAddress getLocalAddress() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public SocketAddress getServiceAddress() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getIdleTime(IdleStatus status) + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getIdleTimeInMillis(IdleStatus status) + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public void setIdleTime(IdleStatus status, int idleTime) + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public int getWriteTimeout() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getWriteTimeoutInMillis() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public void setWriteTimeout(int writeTimeout) + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public TrafficMask getTrafficMask() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public void setTrafficMask(TrafficMask trafficMask) + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void suspendRead() + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void suspendWrite() + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void resumeRead() + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void resumeWrite() + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public long getReadBytes() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getWrittenBytes() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getReadMessages() + { + return 0L; + } + + public long getWrittenMessages() + { + return 0L; + } + + public long getWrittenWriteRequests() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getScheduledWriteRequests() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getScheduledWriteBytes() + { + return 0; //TODO + } + + public long getCreationTime() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getLastIoTime() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getLastReadTime() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getLastWriteTime() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isIdle(IdleStatus status) + { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getIdleCount(IdleStatus status) + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getLastIdleTime(IdleStatus status) + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/protocol/TestProtocolInitiation.java b/java/broker/test/src/org/apache/qpid/server/protocol/TestProtocolInitiation.java new file mode 100644 index 0000000000..34e1709a2d --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/protocol/TestProtocolInitiation.java @@ -0,0 +1,212 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import junit.framework.Assert; +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.codec.AMQDecoder; +import org.apache.qpid.codec.AMQEncoder; +import org.apache.qpid.framing.*; +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.WriteFuture; +import org.apache.mina.filter.codec.ProtocolDecoderOutput; +import org.apache.mina.filter.codec.ProtocolEncoderOutput; +import org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput; +import org.junit.Before; +import org.junit.Test; + +/** + * This test suite tests the handling of protocol initiation frames and related issues. + */ +public class TestProtocolInitiation implements ProtocolVersionList +{ + private AMQPFastProtocolHandler _protocolHandler; + + private MockIoSession _mockIoSession; + + /** + * We need to use the object encoder mechanism so to allow us to retrieve the + * output (a bytebuffer) we define our own encoder output class. The encoder + * writes the encoded data to this class, from where we can retrieve it during + * the test run. + */ + private class TestProtocolEncoderOutput implements ProtocolEncoderOutput + { + public ByteBuffer result; + + public void write(ByteBuffer buf) + { + result = buf; + } + + public void mergeAll() + { + throw new UnsupportedOperationException(); + } + + public WriteFuture flush() + { + throw new UnsupportedOperationException(); + } + } + + private class TestProtocolDecoderOutput implements ProtocolDecoderOutput + { + public Object result; + + public void write(Object buf) + { + result = buf; + } + + public void flush() + { + throw new UnsupportedOperationException(); + } + } + + @Before + public void createCommonObjects() + { + _mockIoSession = new MockIoSession(); + _protocolHandler = new AMQPFastProtocolHandler(null, null); + } + + + /** + * Tests that the AMQDecoder handles invalid protocol classes + * @throws Exception + */ + @Test(expected = AMQProtocolClassException.class) + public void testDecoderValidateProtocolClass() throws Exception + { + ProtocolInitiation pi = createValidProtocolInitiation(); + pi.protocolClass = 2; + decodePI(pi); + } + + /** + * Tests that the AMQDecoder handles invalid protocol instance numbers + * @throws Exception + */ + @Test(expected = AMQProtocolInstanceException.class) + public void testDecoderValidatesProtocolInstance() throws Exception + { + ProtocolInitiation pi = createValidProtocolInitiation(); + pi.protocolInstance = 2; + decodePI(pi); + } + + /** + * Tests that the AMQDecoder handles invalid protocol major + * @throws Exception + */ + @Test(expected = AMQProtocolVersionException.class) + public void testDecoderValidatesProtocolMajor() throws Exception + { + ProtocolInitiation pi = createValidProtocolInitiation(); + pi.protocolMajor = 2; + decodePI(pi); + } + + /** + * Tests that the AMQDecoder handles invalid protocol minor + * @throws Exception + */ + @Test(expected = AMQProtocolVersionException.class) + public void testDecoderValidatesProtocolMinor() throws Exception + { + ProtocolInitiation pi = createValidProtocolInitiation(); + pi.protocolMinor = 99; + decodePI(pi); + } + + /** + * Tests that the AMQDecoder accepts a valid PI + * @throws Exception + */ + @Test(expected = AMQProtocolHeaderException.class) + public void testDecoderValidatesHeader() throws Exception + { + ProtocolInitiation pi = createValidProtocolInitiation(); + pi.header = new char[] {'P', 'Q', 'M', 'A' }; + decodePI(pi); + } + + /** + * Test that a valid header is passed by the decoder. + * @throws Exception + */ + @Test + public void testDecoderAcceptsValidHeader() throws Exception + { + ProtocolInitiation pi = createValidProtocolInitiation(); + decodePI(pi); + } + + /** + * This test checks that an invalid protocol header results in the + * connection being closed. + */ + @Test + public void testInvalidProtocolHeaderClosesConnection() throws Exception + { + AMQProtocolHeaderException pe = new AMQProtocolHeaderException("Test"); + _protocolHandler.exceptionCaught(_mockIoSession, pe); + Assert.assertNotNull(_mockIoSession.getLastWrittenObject()); + Object piResponse = _mockIoSession.getLastWrittenObject(); + Assert.assertEquals(piResponse.getClass(), ProtocolInitiation.class); + ProtocolInitiation pi = (ProtocolInitiation) piResponse; + Assert.assertEquals("Protocol Initiation sent out was not the broker's expected header", pi, + createValidProtocolInitiation()); + Assert.assertTrue("Session has not been closed", _mockIoSession.isClosing()); + } + + private ProtocolInitiation createValidProtocolInitiation() + { + /* Find last protocol version in protocol version list. Make sure last protocol version + listed in the build file (build-module.xml) is the latest version which will be used + here. */ + int i = pv.length - 1; + return new ProtocolInitiation(pv[i][PROTOCOL_MAJOR], pv[i][PROTOCOL_MINOR]); + } + + /** + * Helper that encodes a protocol initiation and attempts to decode it + * @param pi + * @throws Exception + */ + private void decodePI(ProtocolInitiation pi) throws Exception + { + // we need to do this test at the level of the decoder since we initially only expect PI frames + // so the protocol handler is not set up to know whether it should be expecting a PI frame or + // a different type of frame + AMQDecoder decoder = new AMQDecoder(true); + AMQEncoder encoder = new AMQEncoder(); + TestProtocolEncoderOutput peo = new TestProtocolEncoderOutput(); + encoder.encode(_mockIoSession, pi, peo); + TestProtocolDecoderOutput pdo = new TestProtocolDecoderOutput(); + decoder.decode(_mockIoSession, peo.result, pdo); + ((ProtocolInitiation) pdo.result).checkVersion(this); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(TestProtocolInitiation.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/protocol/UnitTests.java b/java/broker/test/src/org/apache/qpid/server/protocol/UnitTests.java new file mode 100644 index 0000000000..09dc76d310 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/protocol/UnitTests.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.protocol; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({TestProtocolInitiation.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/AckTest.java b/java/broker/test/src/org/apache/qpid/server/queue/AckTest.java new file mode 100644 index 0000000000..904665949c --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/AckTest.java @@ -0,0 +1,243 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import junit.framework.JUnit4TestAdapter; +import static org.junit.Assert.assertTrue; +import org.junit.Before; +import org.junit.Test; +import org.junit.Ignore; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.store.TestableMemoryMessageStore; +import org.apache.qpid.server.util.NullApplicationRegistry; +import org.apache.log4j.Logger; + +import java.util.Iterator; +import java.util.Map; + +/** + * Tests that acknowledgements are handled correctly. + */ +public class AckTest +{ + private static final Logger _log = Logger.getLogger(AckTest.class); + + private SubscriptionImpl _subscription; + + private MockProtocolSession _protocolSession; + + private TestableMemoryMessageStore _messageStore; + + private AMQChannel _channel; + + private SubscriptionSet _subscriptionManager; + + private AMQQueue _queue; + + public AckTest() throws Exception + { + ApplicationRegistry.initialise(new NullApplicationRegistry()); + } + + @Before + public void setup() throws Exception + { + _messageStore = new TestableMemoryMessageStore(); + _channel = new AMQChannel(5, _messageStore, null/*dont need exchange registry*/); + _protocolSession = new MockProtocolSession(_messageStore); + _protocolSession.addChannel(_channel); + _subscriptionManager = new SubscriptionSet(); + _queue = new AMQQueue("myQ", false, "guest", true, new DefaultQueueRegistry(), _subscriptionManager); + } + + private void publishMessages(int count) throws AMQException + { + for (int i = 1; i <= count; i++) + { + BasicPublishBody publishBody = new BasicPublishBody(); + publishBody.routingKey = "rk"; + publishBody.exchange = "someExchange"; + AMQMessage msg = new AMQMessage(_messageStore, publishBody); + msg.setContentHeaderBody(new ContentHeaderBody()); + _subscription.send(msg, _queue); + } + } + + /** + * Tests that the acknowledgements are correctly associated with a channel and + * order is preserved when acks are enabled + */ + @Test @Ignore /* FIXME: broken at the moment */ + public void ackChannelAssociationTest() throws AMQException + { + _subscription = new SubscriptionImpl(5, _protocolSession, "conTag", true); + final int msgCount = 10; + publishMessages(msgCount); + + Map<Long, AMQChannel.UnacknowledgedMessage> map = _channel.getUnacknowledgedMessageMap(); + assertTrue(map.size() == msgCount); + + Iterator<Map.Entry<Long, AMQChannel.UnacknowledgedMessage>> it = map.entrySet().iterator(); + for (int i = 1; i <= map.size(); i++) + { + Map.Entry<Long, AMQChannel.UnacknowledgedMessage> entry = it.next(); + assertTrue(entry.getKey() == i); + AMQChannel.UnacknowledgedMessage unackedMsg = entry.getValue(); + assertTrue(unackedMsg.queue == _queue); + } + assertTrue(_messageStore.getMessageMap().size() == msgCount); + } + + /** + * Tests that in no-ack mode no messages are retained + */ + @Test + public void testNoAckMode() throws AMQException + { + // false arg means no acks expected + _subscription = new SubscriptionImpl(5, _protocolSession, "conTag", false); + final int msgCount = 10; + publishMessages(msgCount); + + Map<Long, AMQChannel.UnacknowledgedMessage> map = _channel.getUnacknowledgedMessageMap(); + assertTrue(map.size() == 0); + assertTrue(_messageStore.getMessageMap().size() == 0); + } + + /** + * Tests that a single acknowledgement is handled correctly (i.e multiple flag not + * set case) + */ + @Test + public void singleAckReceivedTest() throws AMQException + { + _subscription = new SubscriptionImpl(5, _protocolSession, "conTag", true); + final int msgCount = 10; + publishMessages(msgCount); + + _channel.acknowledgeMessage(5, false); + Map<Long, AMQChannel.UnacknowledgedMessage> map = _channel.getUnacknowledgedMessageMap(); + assertTrue(map.size() == msgCount - 1); + + Iterator<Map.Entry<Long, AMQChannel.UnacknowledgedMessage>> it = map.entrySet().iterator(); + int i = 1; + while (i <= map.size()) + { + Map.Entry<Long, AMQChannel.UnacknowledgedMessage> entry = it.next(); + assertTrue(entry.getKey() == i); + AMQChannel.UnacknowledgedMessage unackedMsg = entry.getValue(); + assertTrue(unackedMsg.queue == _queue); + // 5 is the delivery tag of the message that *should* be removed + if (++i == 5) + { + ++i; + } + } + } + + /** + * Tests that a single acknowledgement is handled correctly (i.e multiple flag not + * set case) + */ + @Test + public void multiAckReceivedTest() throws AMQException + { + _subscription = new SubscriptionImpl(5, _protocolSession, "conTag", true); + final int msgCount = 10; + publishMessages(msgCount); + + _channel.acknowledgeMessage(5, true); + Map<Long, AMQChannel.UnacknowledgedMessage> map = _channel.getUnacknowledgedMessageMap(); + assertTrue(map.size() == 5); + + Iterator<Map.Entry<Long, AMQChannel.UnacknowledgedMessage>> it = map.entrySet().iterator(); + int i = 1; + while (i <= map.size()) + { + Map.Entry<Long, AMQChannel.UnacknowledgedMessage> entry = it.next(); + assertTrue(entry.getKey() == i + 5); + AMQChannel.UnacknowledgedMessage unackedMsg = entry.getValue(); + assertTrue(unackedMsg.queue == _queue); + ++i; + } + } + + /** + * Tests that a multiple acknowledgement is handled correctly. When ack'ing all pending msgs. + * + */ + @Test + public void multiAckAllReceivedTest() throws AMQException + { + _subscription = new SubscriptionImpl(5, _protocolSession, "conTag", true); + final int msgCount = 10; + publishMessages(msgCount); + + _channel.acknowledgeMessage(0, true); + Map<Long, AMQChannel.UnacknowledgedMessage> map = _channel.getUnacknowledgedMessageMap(); + assertTrue(map.size() == 0); + + Iterator<Map.Entry<Long, AMQChannel.UnacknowledgedMessage>> it = map.entrySet().iterator(); + int i = 1; + while (i <= map.size()) + { + Map.Entry<Long, AMQChannel.UnacknowledgedMessage> entry = it.next(); + assertTrue(entry.getKey() == i + 5); + AMQChannel.UnacknowledgedMessage unackedMsg = entry.getValue(); + assertTrue(unackedMsg.queue == _queue); + ++i; + } + } + + + + @Test + public void testPrefetch() throws AMQException + { + _subscription = new SubscriptionImpl(5, _protocolSession, "conTag", true); + _channel.setPrefetchCount(5); + final int msgCount = 5; + publishMessages(msgCount); + + // at this point we should have sent out only 5 messages with a further 5 queued + // up in the channel which should be suspended + assertTrue(_subscription.isSuspended()); + Map<Long, AMQChannel.UnacknowledgedMessage> map = _channel.getUnacknowledgedMessageMap(); + assertTrue(map.size() == 5); + _channel.acknowledgeMessage(5, true); + assertTrue(!_subscription.isSuspended()); + try + { + Thread.sleep(3000); + } + catch (InterruptedException e) + { + _log.error("Error: " + e, e); + } + assertTrue(map.size() == 0); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(AckTest.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/ConcurrencyTest.java b/java/broker/test/src/org/apache/qpid/server/queue/ConcurrencyTest.java new file mode 100644 index 0000000000..1cf11933fa --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/ConcurrencyTest.java @@ -0,0 +1,261 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import junit.framework.JUnit4TestAdapter; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import org.junit.Test; +import org.junit.Assert; +import org.apache.qpid.AMQException; +import org.apache.qpid.server.handler.OnCurrentThreadExecutor; + +import java.util.*; +import java.util.concurrent.Executor; + +/** + * Tests delivery in the face of concurrent incoming _messages, subscription alterations + * and attempts to asynchronously process queued _messages. + */ +public class ConcurrencyTest extends MessageTestHelper +{ + private final Random random = new Random(); + + private final int numMessages = 1000; + + private final List<TestSubscription> _subscribers = new ArrayList<TestSubscription>(); + private final Set<Subscription> _active = new HashSet<Subscription>(); + private final List<AMQMessage> _messages = new ArrayList<AMQMessage>(); + private int next = 0;//index to next message to send + private final List<AMQMessage> _received = Collections.synchronizedList(new ArrayList<AMQMessage>()); + private final Executor _executor = new OnCurrentThreadExecutor(); + private final List<Thread> _threads = new ArrayList<Thread>(); + + private final SubscriptionSet _subscriptionMgr = new SubscriptionSet(); + private final DeliveryManager _deliveryMgr; + + private boolean isComplete; + private boolean failed; + + public ConcurrencyTest() throws Exception + { + _deliveryMgr = new DeliveryManager(_subscriptionMgr, new AMQQueue("myQ", false, "guest", false, + new DefaultQueueRegistry())); + } + + @Test + public void concurrent1() throws InterruptedException, AMQException + { + initSubscriptions(10); + initMessages(numMessages); + initThreads(1, 4, 4, 4); + run(); + check(); + } + + @Test + public void concurrent2() throws InterruptedException, AMQException + { + initSubscriptions(10); + initMessages(numMessages); + initThreads(4, 2, 2, 2); + run(); + check(); + } + + void check() + { + assertFalse("Failed", failed); + + _deliveryMgr.processAsync(_executor); + + assertEquals("Did not recieve the correct number of messages", _messages.size(), _received.size()); + for(int i = 0; i < _messages.size(); i++) + { + assertEquals("Wrong message at " + i, _messages.get(i), _received.get(i)); + } + } + + void initSubscriptions(int subscriptions) + { + for(int i = 0; i < subscriptions; i++) + { + _subscribers.add(new TestSubscription("Subscriber" + i, _received)); + } + } + + void initMessages(int messages) throws AMQException + { + for(int i = 0; i < messages; i++) + { + _messages.add(message()); + } + } + + void initThreads(int senders, int subscribers, int suspenders, int processors) + { + addThreads(senders, senders == 1 ? new Sender() : new OrderedSender()); + addThreads(subscribers, new Subscriber()); + addThreads(suspenders, new Suspender()); + addThreads(processors, new Processor()); + } + + void addThreads(int count, Runnable runner) + { + for(int i = 0; i < count; i++) + { + _threads.add(new Thread(runner, runner.toString())); + } + } + + void run() throws InterruptedException + { + for(Thread t : _threads) + { + t.start(); + } + + for(Thread t : _threads) + { + t.join(); + } + } + + private void toggle(Subscription s) + { + synchronized (_active) + { + if (_active.contains(s)) + { + _active.remove(s); + Subscription result = _subscriptionMgr.removeSubscriber(s); + Assert.assertTrue("Removed subscription " + result + " but trying to remove subscription " + s, + result != null && result.equals(s)); + } + else + { + _active.add(s); + _subscriptionMgr.addSubscriber(s); + } + } + } + + private AMQMessage nextMessage() + { + synchronized (_messages) + { + if (next < _messages.size()) + { + return _messages.get(next++); + } + else + { + if (_deliveryMgr.getQueueMessageCount() == 0) { + isComplete = true; + } + return null; + } + } + } + + private boolean randomBoolean() + { + return random.nextBoolean(); + } + + private TestSubscription randomSubscriber() + { + return _subscribers.get(random.nextInt(_subscribers.size())); + } + + private class Sender extends Runner + { + void doRun() throws Throwable + { + AMQMessage msg = nextMessage(); + if (msg != null) + { + _deliveryMgr.deliver(toString(), msg); + } + } + } + + private class OrderedSender extends Sender + { + synchronized void doRun() throws Throwable + { + super.doRun(); + } + } + + private class Suspender extends Runner + { + void doRun() throws Throwable + { + randomSubscriber().setSuspended(randomBoolean()); + } + } + + private class Subscriber extends Runner + { + void doRun() throws Throwable + { + toggle(randomSubscriber()); + } + } + + private class Processor extends Runner + { + void doRun() throws Throwable + { + _deliveryMgr.processAsync(_executor); + } + } + + private abstract class Runner implements Runnable + { + public void run() + { + try + { + while (!stop()) + { + doRun(); + } + } + catch (Throwable t) + { + failed = true; + t.printStackTrace(); + } + } + + abstract void doRun() throws Throwable; + + boolean stop() + { + return isComplete || failed; + } + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(ConcurrencyTest.class); + } + +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/DeliveryManagerTest.java b/java/broker/test/src/org/apache/qpid/server/queue/DeliveryManagerTest.java new file mode 100644 index 0000000000..d00cd55fa1 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/DeliveryManagerTest.java @@ -0,0 +1,159 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import org.junit.Test; +import org.apache.qpid.server.handler.OnCurrentThreadExecutor; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.NullApplicationRegistry; +import org.apache.qpid.AMQException; +import junit.framework.JUnit4TestAdapter; + +public class DeliveryManagerTest extends MessageTestHelper +{ + private final SubscriptionSet _subscriptions = new SubscriptionSet(); + private final DeliveryManager _mgr; + + public DeliveryManagerTest() throws Exception + { + try + { + _mgr = new DeliveryManager(_subscriptions, new AMQQueue("myQ", false, "guest", false, + new DefaultQueueRegistry())); + } + catch(Throwable t) + { + t.printStackTrace(); + throw new AMQException("Could not initialise delivery manager", t); + } + } + + @Test + public void startInQueueingMode() throws AMQException + { + AMQMessage[] messages = new AMQMessage[10]; + for(int i = 0; i < messages.length; i++) + { + messages[i] = message(); + } + int batch = messages.length / 2; + + for(int i = 0; i < batch; i++) + { + _mgr.deliver("Me", messages[i]); + } + + TestSubscription s1 = new TestSubscription("1"); + TestSubscription s2 = new TestSubscription("2"); + _subscriptions.addSubscriber(s1); + _subscriptions.addSubscriber(s2); + + for(int i = batch; i < messages.length; i++) + { + _mgr.deliver("Me", messages[i]); + } + + assertTrue(s1.getMessages().isEmpty()); + assertTrue(s2.getMessages().isEmpty()); + + _mgr.processAsync(new OnCurrentThreadExecutor()); + + assertEquals(messages.length / 2, s1.getMessages().size()); + assertEquals(messages.length / 2, s2.getMessages().size()); + + for(int i = 0; i < messages.length; i++) + { + if(i % 2 == 0) + { + assertTrue(s1.getMessages().get(i / 2) == messages[i]); + } + else + { + assertTrue(s2.getMessages().get(i / 2) == messages[i]); + } + } + } + + @Test + public void startInDirectMode() throws AMQException + { + AMQMessage[] messages = new AMQMessage[10]; + for(int i = 0; i < messages.length; i++) + { + messages[i] = message(); + } + int batch = messages.length / 2; + + TestSubscription s1 = new TestSubscription("1"); + _subscriptions.addSubscriber(s1); + + for(int i = 0; i < batch; i++) + { + _mgr.deliver("Me", messages[i]); + } + + assertEquals(batch, s1.getMessages().size()); + for(int i = 0; i < batch; i++) + { + assertTrue(messages[i] == s1.getMessages().get(i)); + } + s1.getMessages().clear(); + assertEquals(0, s1.getMessages().size()); + + s1.setSuspended(true); + for(int i = batch; i < messages.length; i++) + { + _mgr.deliver("Me", messages[i]); + } + + _mgr.processAsync(new OnCurrentThreadExecutor()); + assertEquals(0, s1.getMessages().size()); + s1.setSuspended(false); + + _mgr.processAsync(new OnCurrentThreadExecutor()); + assertEquals(messages.length - batch, s1.getMessages().size()); + + for(int i = batch; i < messages.length; i++) + { + assertTrue(messages[i] == s1.getMessages().get(i - batch)); + } + + } + + @Test (expected=NoConsumersException.class) + public void noConsumers() throws AMQException + { + _mgr.deliver("Me", message(true)); + } + + @Test (expected=NoConsumersException.class) + public void noActiveConsumers() throws AMQException + { + TestSubscription s = new TestSubscription("A"); + _subscriptions.addSubscriber(s); + s.setSuspended(true); + _mgr.deliver("Me", message(true)); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(DeliveryManagerTest.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/MessageTestHelper.java b/java/broker/test/src/org/apache/qpid/server/queue/MessageTestHelper.java new file mode 100644 index 0000000000..f9baa77b65 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/MessageTestHelper.java @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.store.SkeletonMessageStore; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.NullApplicationRegistry; +import org.apache.qpid.AMQException; + +class MessageTestHelper +{ + private final MessageStore _messageStore = new SkeletonMessageStore(); + + MessageTestHelper() throws Exception + { + ApplicationRegistry.initialise(new NullApplicationRegistry()); + } + + AMQMessage message() throws AMQException + { + return message(false); + } + + AMQMessage message(boolean immediate) throws AMQException + { + BasicPublishBody publish = new BasicPublishBody(); + publish.immediate = immediate; + return new AMQMessage(_messageStore, publish, new ContentHeaderBody(), null); + } + +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/MockProtocolSession.java b/java/broker/test/src/org/apache/qpid/server/queue/MockProtocolSession.java new file mode 100644 index 0000000000..f26d6d64b3 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/MockProtocolSession.java @@ -0,0 +1,121 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.store.MessageStore; + +import javax.security.sasl.SaslServer; +import java.util.HashMap; +import java.util.Map; + +/** + * A protocol session that can be used for testing purposes. + */ +public class MockProtocolSession implements AMQProtocolSession +{ + private MessageStore _messageStore; + + private Map<Integer, AMQChannel> _channelMap = new HashMap<Integer, AMQChannel>(); + + public MockProtocolSession(MessageStore messageStore) + { + _messageStore = messageStore; + } + + public void dataBlockReceived(AMQDataBlock message) throws Exception + { + } + + public void writeFrame(AMQDataBlock frame) + { + } + + public String getContextKey() + { + return null; + } + + public void setContextKey(String contextKey) + { + } + + public AMQChannel getChannel(int channelId) + { + AMQChannel channel = _channelMap.get(channelId); + if (channel == null) + { + throw new IllegalArgumentException("Invalid channel id: " + channelId); + } + else + { + return channel; + } + } + + public void addChannel(AMQChannel channel) + { + if (channel == null) + { + throw new IllegalArgumentException("Channel must not be null"); + } + else + { + _channelMap.put(channel.getChannelId(), channel); + } + } + + public void closeChannel(int channelId) throws AMQException + { + } + + public void removeChannel(int channelId) + { + _channelMap.remove(channelId); + } + + public void initHeartbeats(int delay) + { + } + + public void closeSession() throws AMQException + { + } + + public Object getKey() + { + return null; + } + + public String getLocalFQDN() + { + return null; + } + + public SaslServer getSaslServer() + { + return null; + } + + public void setSaslServer(SaslServer saslServer) + { + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/QueueConcurrentPerfTest.java b/java/broker/test/src/org/apache/qpid/server/queue/QueueConcurrentPerfTest.java new file mode 100644 index 0000000000..8ae8ebae79 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/QueueConcurrentPerfTest.java @@ -0,0 +1,46 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.server.util.AveragedRun; +import org.apache.qpid.server.util.ConcurrentTest; + +public class QueueConcurrentPerfTest extends QueuePerfTest +{ + QueueConcurrentPerfTest(Factory factory, int queueCount, int messages) + { + super(factory, queueCount, messages); + } + + public static void main(String[] argv) throws Exception + { + Factory[] factories = new Factory[]{SYNCHRONIZED, CONCURRENT}; + int iterations = 5; + String label = argv.length > 0 ? argv[0]: null; + System.out.println((label == null ? "" : "Label, ") + "Queue Type, No. of Queues, No. of Operations, Avg Time, Min Time, Max Time"); + //vary number of queues: + for(Factory f : factories) + { + run(label, new AveragedRun(new ConcurrentTest(new QueuePerfTest(f, 100, 10000), iterations), 5)); + run(label, new AveragedRun(new ConcurrentTest(new QueuePerfTest(f, 1000, 10000), iterations), 5)); + run(label, new AveragedRun(new ConcurrentTest(new QueuePerfTest(f, 10000, 10000), iterations), 5)); + run(label, new AveragedRun(new ConcurrentTest(new QueuePerfTest(f, 1000, 1000), iterations), 5)); + run(label, new AveragedRun(new ConcurrentTest(new QueuePerfTest(f, 1000, 100000), iterations), 5)); + } + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/QueuePerfTest.java b/java/broker/test/src/org/apache/qpid/server/queue/QueuePerfTest.java new file mode 100644 index 0000000000..36e4e90f35 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/QueuePerfTest.java @@ -0,0 +1,255 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.server.util.AveragedRun; +import org.apache.qpid.server.util.TimedRun; +import org.apache.qpid.server.util.RunStats; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import java.util.concurrent.ConcurrentLinkedQueue; + +public class QueuePerfTest extends TimedRun +{ + private final Factory _factory; + private final int _queueCount; + private final int _messages; + private final String _msg = ""; + private List<Queue<String>> _queues; + + QueuePerfTest(Factory factory, int queueCount, int messages) + { + super(factory + ", " + queueCount + ", " + messages); + _factory = factory; + _queueCount = queueCount; + _messages = messages; + } + + protected void setup() throws Exception + { + //init + int count = Integer.getInteger("prepopulate", 0); +// System.err.println("Prepopulating with " + count + " items"); + _queues = new ArrayList<Queue<String>>(_queueCount); + for (int i = 0; i < _queueCount; i++) + { + Queue<String> q = _factory.create(); + for(int j = 0; j < count; ++j) + { + q.add("Item"+ j); + } + _queues.add(q); + } + System.gc(); + } + + protected void teardown() throws Exception + { + System.gc(); + } + + protected void run() throws Exception + { + //dispatch + for (int i = 0; i < _messages; i++) + { + for (Queue<String> q : _queues) + { + q.offer(_msg); + q.poll(); + } + } + } + + static interface Factory + { + Queue<String> create(); + } + + static Factory CONCURRENT = new Factory() + { + public Queue<String> create() + { + return new ConcurrentLinkedQueue<String>(); + } + + public String toString() + { + return "ConcurrentLinkedQueue"; + } + + }; + + static Factory SYNCHRONIZED = new Factory() + { + public Queue<String> create() + { + return new SynchronizedQueue<String>(new LinkedList<String>()); + } + + + public String toString() + { + return "Synchronized LinkedList"; + } + }; + + static Factory PLAIN = new Factory() + { + public Queue<String> create() + { + return new LinkedList<String>(); + } + + public String toString() + { + return "Plain LinkedList"; + } + }; + + static class SynchronizedQueue<E> implements Queue<E> + { + private final Queue<E> queue; + + SynchronizedQueue(Queue<E> queue) + { + this.queue = queue; + } + + public synchronized E element() + { + return queue.element(); + } + + public synchronized boolean offer(E o) + { + return queue.offer(o); + } + + public synchronized E peek() + { + return queue.peek(); + } + + public synchronized E poll() + { + return queue.poll(); + } + + public synchronized E remove() + { + return queue.remove(); + } + + public synchronized int size() + { + return queue.size(); + } + + public synchronized boolean isEmpty() + { + return queue.isEmpty(); + } + + public synchronized boolean contains(Object o) + { + return queue.contains(o); + } + + public synchronized Iterator<E> iterator() + { + return queue.iterator(); + } + + public synchronized Object[] toArray() + { + return queue.toArray(); + } + + public synchronized <T>T[] toArray(T[] a) + { + return queue.toArray(a); + } + + public synchronized boolean add(E o) + { + return queue.add(o); + } + + public synchronized boolean remove(Object o) + { + return queue.remove(o); + } + + public synchronized boolean containsAll(Collection<?> c) + { + return queue.containsAll(c); + } + + public synchronized boolean addAll(Collection<? extends E> c) + { + return queue.addAll(c); + } + + public synchronized boolean removeAll(Collection<?> c) + { + return queue.removeAll(c); + } + + public synchronized boolean retainAll(Collection<?> c) + { + return queue.retainAll(c); + } + + public synchronized void clear() + { + queue.clear(); + } + } + + static void run(String label, AveragedRun test) throws Exception + { + RunStats stats = test.call(); + System.out.println((label == null ? "" : label + ", ") + test + + ", " + stats.getAverage() + ", " + stats.getMax() + ", " + stats.getMin()); + } + + public static void main(String[] argv) throws Exception + { + Factory[] factories = new Factory[]{PLAIN, SYNCHRONIZED, CONCURRENT}; + int iterations = 5; + String label = argv.length > 0 ? argv[0]: null; + System.out.println((label == null ? "" : "Label, ") + "Queue Type, No. of Queues, No. of Operations, Avg Time, Min Time, Max Time"); + //vary number of queues: + + for(Factory f : factories) + { + run(label, new AveragedRun(new QueuePerfTest(f, 100, 10000), iterations)); + run(label, new AveragedRun(new QueuePerfTest(f, 1000, 10000), iterations)); + run(label, new AveragedRun(new QueuePerfTest(f, 10000, 10000), iterations)); + run(label, new AveragedRun(new QueuePerfTest(f, 1000, 1000), iterations)); + run(label, new AveragedRun(new QueuePerfTest(f, 1000, 100000), iterations)); + } + } + +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/SendPerfTest.java b/java/broker/test/src/org/apache/qpid/server/queue/SendPerfTest.java new file mode 100644 index 0000000000..eff65a9350 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/SendPerfTest.java @@ -0,0 +1,171 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.AMQException; +import org.apache.qpid.codec.AMQCodecFactory; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.exchange.AbstractExchange; +import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.handler.OnCurrentThreadExecutor; +import org.apache.qpid.server.protocol.AMQMinaProtocolSession; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.MockIoSession; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.IApplicationRegistry; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.store.SkeletonMessageStore; +import org.apache.qpid.server.util.AveragedRun; +import org.apache.qpid.server.util.NullApplicationRegistry; +import org.apache.qpid.server.util.TimedRun; + +import java.util.ArrayList; +import java.util.List; + +public class SendPerfTest extends TimedRun +{ + private int _messages = 1000; + private int _clients = 10; + private List<AMQQueue> _queues; + + public SendPerfTest(int clients, int messages) + { + super("SendPerfTest, msgs=" + messages + ", clients=" + clients); + _messages = messages; + _clients = clients; + } + + protected void setup() throws Exception + { + _queues = initQueues(_clients); + System.gc(); + } + + protected void teardown() throws Exception + { + System.gc(); + } + + protected void run() throws Exception + { + deliver(_messages, _queues); + } + + //have a dummy AMQProtocolSession that does nothing on the writeFrame() + //set up x number of queues + //create necessary bits and pieces to deliver a message + //deliver y messages to each queue + + public static void main(String[] argv) throws Exception + { + ApplicationRegistry.initialise(new NullApplicationRegistry()); + int clients = Integer.parseInt(argv[0]); + int messages = Integer.parseInt(argv[1]); + int iterations = Integer.parseInt(argv[2]); + AveragedRun test = new AveragedRun(new SendPerfTest(clients, messages), iterations); + test.run(); + } + + /** + * Delivers messages to a number of queues. + * @param count the number of messages to deliver + * @param queues the list of queues + * @throws NoConsumersException + */ + static void deliver(int count, List<AMQQueue> queues) throws AMQException + { + BasicPublishBody publish = new BasicPublishBody(); + publish.exchange = new NullExchange().getName(); + ContentHeaderBody header = new ContentHeaderBody(); + List<ContentBody> body = new ArrayList<ContentBody>(); + MessageStore messageStore = new SkeletonMessageStore(); + body.add(new ContentBody()); + for (int i = 0; i < count; i++) + { + for (AMQQueue q : queues) + { + q.deliver(new AMQMessage(messageStore, i, publish, header, body)); + } + } + } + + static List<AMQQueue> initQueues(int number) throws AMQException + { + Exchange exchange = new NullExchange(); + List<AMQQueue> queues = new ArrayList<AMQQueue>(number); + for (int i = 0; i < number; i++) + { + AMQQueue q = createQueue("Queue" + (i + 1)); + q.bind("routingKey", exchange); + try + { + q.registerProtocolSession(createSession(), 1, "1", false); + } + catch (Exception e) + { + throw new AMQException("Error creating protocol session: " + e, e); + } + queues.add(q); + } + return queues; + } + + static AMQQueue createQueue(String name) throws AMQException + { + return new AMQQueue(name, false, null, false, ApplicationRegistry.getInstance().getQueueRegistry(), + new OnCurrentThreadExecutor()); + } + + static AMQProtocolSession createSession() throws Exception + { + IApplicationRegistry reg = ApplicationRegistry.getInstance(); + AMQCodecFactory codecFactory = new AMQCodecFactory(true); + AMQMinaProtocolSession result = new AMQMinaProtocolSession(new MockIoSession(), reg.getQueueRegistry(), reg.getExchangeRegistry(), codecFactory); + result.addChannel(new AMQChannel(1, null, null)); + return result; + } + + static class NullExchange extends AbstractExchange + { + public String getName() + { + return "NullExchange"; + } + + protected ExchangeMBean createMBean() + { + return null; + } + + public void registerQueue(String routingKey, AMQQueue queue, FieldTable args) throws AMQException + { + } + + public void deregisterQueue(String routingKey, AMQQueue queue) throws AMQException + { + } + + public void route(AMQMessage payload) throws AMQException + { + } + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/SubscriptionManagerTest.java b/java/broker/test/src/org/apache/qpid/server/queue/SubscriptionManagerTest.java new file mode 100644 index 0000000000..7743db5078 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/SubscriptionManagerTest.java @@ -0,0 +1,105 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import org.junit.Test; +import junit.framework.JUnit4TestAdapter; + +public class SubscriptionManagerTest +{ + private final SubscriptionSet mgr = new SubscriptionSet(); + + @Test + public void basicSubscriptionManagement() + { + assertTrue(mgr.isEmpty()); + assertFalse(mgr.hasActiveSubscribers()); + TestSubscription s1 = new TestSubscription("S1"); + mgr.addSubscriber(s1); + assertFalse(mgr.isEmpty()); + assertTrue(mgr.hasActiveSubscribers()); + + TestSubscription s2 = new TestSubscription("S2"); + mgr.addSubscriber(s2); + + s2.setSuspended(true); + assertFalse(mgr.isEmpty()); + assertTrue(mgr.hasActiveSubscribers()); + assertTrue(s2.isSuspended()); + assertFalse(s1.isSuspended()); + + s1.setSuspended(true); + assertFalse(mgr.hasActiveSubscribers()); + + mgr.removeSubscriber(new TestSubscription("S1")); + assertFalse(mgr.isEmpty()); + mgr.removeSubscriber(new TestSubscription("S2")); + assertTrue(mgr.isEmpty()); + } + + @Test + public void roundRobin() + { + TestSubscription a = new TestSubscription("A"); + TestSubscription b = new TestSubscription("B"); + TestSubscription c = new TestSubscription("C"); + TestSubscription d = new TestSubscription("D"); + mgr.addSubscriber(a); + mgr.addSubscriber(b); + mgr.addSubscriber(c); + mgr.addSubscriber(d); + + for (int i = 0; i < 3; i++) + { + assertEquals(a, mgr.nextSubscriber(null)); + assertEquals(b, mgr.nextSubscriber(null)); + assertEquals(c, mgr.nextSubscriber(null)); + assertEquals(d, mgr.nextSubscriber(null)); + } + + c.setSuspended(true); + + for (int i = 0; i < 3; i++) + { + assertEquals(a, mgr.nextSubscriber(null)); + assertEquals(b, mgr.nextSubscriber(null)); + assertEquals(d, mgr.nextSubscriber(null)); + } + + mgr.removeSubscriber(a); + d.setSuspended(true); + c.setSuspended(false); + Subscription e = new TestSubscription("D"); + mgr.addSubscriber(e); + + for (int i = 0; i < 3; i++) + { + assertEquals(b, mgr.nextSubscriber(null)); + assertEquals(c, mgr.nextSubscriber(null)); + assertEquals(e, mgr.nextSubscriber(null)); + } + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(SubscriptionManagerTest.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/SubscriptionSetTest.java b/java/broker/test/src/org/apache/qpid/server/queue/SubscriptionSetTest.java new file mode 100644 index 0000000000..b6e8f8b44d --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/SubscriptionSetTest.java @@ -0,0 +1,149 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import junit.framework.JUnit4TestAdapter; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import org.junit.Test; + +public class SubscriptionSetTest +{ + /** + * A SubscriptionSet that counts the number of items scanned. + */ + static class TestSubscriptionSet extends SubscriptionSet + { + private int scanned = 0; + + void resetScanned() + { + scanned = 0; + } + + protected void subscriberScanned() + { + ++scanned; + } + + int getScanned() + { + return scanned; + } + } + + final TestSubscription sub1 = new TestSubscription("1"); + final TestSubscription sub2 = new TestSubscription("2"); + final TestSubscription sub3 = new TestSubscription("3"); + + final TestSubscription suspendedSub1 = new TestSubscription("sus1", true); + final TestSubscription suspendedSub2 = new TestSubscription("sus2", true); + final TestSubscription suspendedSub3 = new TestSubscription("sus3", true); + + @Test + public void nextMessage() + { + SubscriptionSet ss = new SubscriptionSet(); + assertNull(ss.nextSubscriber(null)); + assertEquals(0, ss.getCurrentSubscriber()); + + ss.addSubscriber(sub1); + assertEquals(sub1, ss.nextSubscriber(null)); + assertEquals(1, ss.getCurrentSubscriber()); + assertEquals(sub1, ss.nextSubscriber(null)); + assertEquals(1, ss.getCurrentSubscriber()); + + ss.addSubscriber(sub2); + ss.addSubscriber(sub3); + + assertEquals(sub2, ss.nextSubscriber(null)); + assertEquals(2, ss.getCurrentSubscriber()); + + assertEquals(sub3, ss.nextSubscriber(null)); + assertEquals(3, ss.getCurrentSubscriber()); + } + + @Test + public void nextMessageWhenAllSuspended() + { + SubscriptionSet ss = createAllSuspendedSubscriptionSet(); + assertNull(ss.nextSubscriber(null)); + assertEquals(3, ss.getCurrentSubscriber()); + + assertNull(ss.nextSubscriber(null)); + assertEquals(3, ss.getCurrentSubscriber()); + } + + private TestSubscriptionSet createAllSuspendedSubscriptionSet() + { + TestSubscriptionSet ss = new TestSubscriptionSet(); + ss.addSubscriber(suspendedSub1); + ss.addSubscriber(suspendedSub2); + ss.addSubscriber(suspendedSub3); + return ss; + } + + @Test + public void nextMessageAfterRemove() + { + SubscriptionSet ss = new SubscriptionSet(); + ss.addSubscriber(suspendedSub1); + ss.addSubscriber(suspendedSub2); + ss.addSubscriber(sub3); + assertEquals(sub3, ss.nextSubscriber(null)); + assertEquals(3, ss.getCurrentSubscriber()); + + assertEquals(suspendedSub1, ss.removeSubscriber(suspendedSub1)); + + assertEquals(sub3, ss.nextSubscriber(null)); // Current implementation handles OutOfBoundsException here. + assertEquals(2, ss.getCurrentSubscriber()); + } + + @Test + public void nextMessageOverScanning() + { + TestSubscriptionSet ss = new TestSubscriptionSet(); + TestSubscription sub = new TestSubscription("test"); + ss.addSubscriber(suspendedSub1); + ss.addSubscriber(sub); + ss.addSubscriber(suspendedSub3); + assertEquals(sub, ss.nextSubscriber(null)); + assertEquals(2, ss.getCurrentSubscriber()); + assertEquals(2, ss.getScanned()); + + ss.resetScanned(); + sub.setSuspended(true); + assertNull(ss.nextSubscriber(null)); + assertEquals(3, ss.getCurrentSubscriber()); + // Current implementation overscans by one item here. + assertEquals(ss.size() + 1, ss.getScanned()); + } + + @Test + public void nextMessageOverscanWorstCase() { + TestSubscriptionSet ss = createAllSuspendedSubscriptionSet(); + ss.nextSubscriber(null); + // Scans the subscriptions twice. + assertEquals(ss.size() * 2, ss.getScanned()); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(SubscriptionSetTest.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/TestSubscription.java b/java/broker/test/src/org/apache/qpid/server/queue/TestSubscription.java new file mode 100644 index 0000000000..093d7e60f4 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/TestSubscription.java @@ -0,0 +1,84 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import java.util.ArrayList; +import java.util.List; + +public class TestSubscription implements Subscription +{ + private final List<AMQMessage> messages; + private final Object key; + private boolean isSuspended; + + public TestSubscription(Object key) + { + this(key, new ArrayList<AMQMessage>()); + } + + public TestSubscription(final Object key, final boolean isSuspended) + { + this(key); + setSuspended(isSuspended); + } + + TestSubscription(Object key, List<AMQMessage> messages) + { + this.key = key; + this.messages = messages; + } + + List<AMQMessage> getMessages() + { + return messages; + } + + public void send(AMQMessage msg, AMQQueue queue) + { + messages.add(msg); + } + + public void setSuspended(boolean suspended) + { + isSuspended = suspended; + } + + public boolean isSuspended() + { + return isSuspended; + } + + public void queueDeleted(AMQQueue queue) + { + } + + public int hashCode() + { + return key.hashCode(); + } + + public boolean equals(Object o) + { + return o instanceof TestSubscription && ((TestSubscription) o).key.equals(key); + } + + public String toString() + { + return key.toString(); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/queue/UnitTests.java b/java/broker/test/src/org/apache/qpid/server/queue/UnitTests.java new file mode 100644 index 0000000000..3a86773a15 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/queue/UnitTests.java @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AckTest.class, + DeliveryManagerTest.class, + SubscriptionManagerTest.class, + SubscriptionSetTest.class, + ConcurrencyTest.class} +) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/store/SkeletonMessageStore.java b/java/broker/test/src/org/apache/qpid/server/store/SkeletonMessageStore.java new file mode 100644 index 0000000000..82292d2503 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/store/SkeletonMessageStore.java @@ -0,0 +1,99 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.store; + +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.AMQException; +import org.apache.commons.configuration.Configuration; + +import java.util.List; +import java.util.concurrent.atomic.AtomicLong; + +/** + * A message store that does nothing. Designed to be used in tests that do not want to use any message store + * functionality. + */ +public class SkeletonMessageStore implements MessageStore +{ + private final AtomicLong _messageId = new AtomicLong(1); + + public void configure(String base, Configuration config) throws Exception + { + } + + public void configure(QueueRegistry queueRegistry, String base, Configuration config) throws Exception + { + } + + public void close() throws Exception + { + } + + public void put(AMQMessage msg) + { + } + + public void removeMessage(long messageId) + { + } + + public void createQueue(AMQQueue queue) throws AMQException + { + } + + public void removeQueue(String name) throws AMQException + { + } + + public void enqueueMessage(String name, long messageId) throws AMQException + { + } + + public void dequeueMessage(String name, long messageId) throws AMQException + { + } + + public void beginTran() throws AMQException + { + } + + public boolean inTran() + { + return false; + } + + public void commitTran() throws AMQException + { + } + + public void abortTran() throws AMQException + { + } + + public List<AMQQueue> createQueues() throws AMQException + { + return null; + } + + public long getNewMessageId() + { + return _messageId.getAndIncrement(); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/store/TestReferenceCounting.java b/java/broker/test/src/org/apache/qpid/server/store/TestReferenceCounting.java new file mode 100644 index 0000000000..d2e3ca6478 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/store/TestReferenceCounting.java @@ -0,0 +1,68 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.store; + +import junit.framework.JUnit4TestAdapter; +import org.junit.Test; +import org.junit.Assert; +import org.junit.Before; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.AMQException; + +/** + * Tests that reference counting works correctly with AMQMessage and the message store + */ +public class TestReferenceCounting +{ + private TestableMemoryMessageStore _store; + + @Before + public void createCommonObjects() + { + _store = new TestableMemoryMessageStore(); + } + + /** + * Check that when the reference count is decremented the message removes itself from the store + */ + @Test + public void testMessageGetsRemoved() throws AMQException + { + AMQMessage message = new AMQMessage(_store, null); + _store.put(message); + Assert.assertTrue(_store.getMessageMap().size() == 1); + message.decrementReference(); + Assert.assertTrue(_store.getMessageMap().size() == 0); + } + + @Test + public void testMessageRemains() throws AMQException + { + AMQMessage message = new AMQMessage(_store, null); + _store.put(message); + Assert.assertTrue(_store.getMessageMap().size() == 1); + message.incrementReference(); + message.decrementReference(); + Assert.assertTrue(_store.getMessageMap().size() == 1); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(TestReferenceCounting.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/store/TestableMemoryMessageStore.java b/java/broker/test/src/org/apache/qpid/server/store/TestableMemoryMessageStore.java new file mode 100644 index 0000000000..1214cd2825 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/store/TestableMemoryMessageStore.java @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.store; + +import org.apache.qpid.server.queue.AMQMessage; + +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Adds some extra methods to the memory message store for testing purposes. + */ +public class TestableMemoryMessageStore extends MemoryMessageStore +{ + public TestableMemoryMessageStore() + { + _messageMap = new ConcurrentHashMap<Long, AMQMessage>(); + } + + public ConcurrentMap<Long, AMQMessage> getMessageMap() + { + return _messageMap; + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/store/UnitTests.java b/java/broker/test/src/org/apache/qpid/server/store/UnitTests.java new file mode 100644 index 0000000000..a917d736a2 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/store/UnitTests.java @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.store; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + TestReferenceCounting.class +}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/util/AveragedRun.java b/java/broker/test/src/org/apache/qpid/server/util/AveragedRun.java new file mode 100644 index 0000000000..3e4a1edac4 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/util/AveragedRun.java @@ -0,0 +1,63 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +import org.apache.qpid.server.util.TimedRun; + +import java.util.concurrent.Callable; +import java.util.Collection; + +public class AveragedRun implements Callable<RunStats> +{ + private final RunStats stats = new RunStats(); + private final TimedRun test; + private final int iterations; + + public AveragedRun(TimedRun test, int iterations) + { + this.test = test; + this.iterations = iterations; + } + + public RunStats call() throws Exception + { + for (int i = 0; i < iterations; i++) + { + stats.record(test.call()); + } + return stats; + } + + public void run() throws Exception + { + System.out.println(test + ": " + call()); + } + + public String toString() + { + return test.toString(); + } + + static void run(Collection<AveragedRun> tests) throws Exception + { + for(AveragedRun test : tests) + { + test.run(); + } + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/util/ConcurrentTest.java b/java/broker/test/src/org/apache/qpid/server/util/ConcurrentTest.java new file mode 100644 index 0000000000..6c5185e254 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/util/ConcurrentTest.java @@ -0,0 +1,76 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +public class ConcurrentTest extends TimedRun +{ + private final TimedRun _test; + private final Thread[] _threads; + + public ConcurrentTest(TimedRun test, int threads) + { + super(test.toString()); + _test = test; + _threads = new Thread[threads]; + } + + protected void setup() throws Exception + { + _test.setup(); + for(int i = 0; i < _threads.length; i++) + { + _threads[i] = new Thread(new Runner()); + } + } + + protected void teardown() throws Exception + { + _test.teardown(); + } + + protected void run() throws Exception + { + for(Thread t : _threads) + { + t.start(); + } + for(Thread t : _threads) + { + t.join(); + } + } + + private class Runner implements Runnable + { + private Exception error; + + public void run() + { + try + { + _test.run(); + } + catch(Exception e) + { + error = e; + e.printStackTrace(); + } + } + } + +} diff --git a/java/broker/test/src/org/apache/qpid/server/util/LoggingProxyTest.java b/java/broker/test/src/org/apache/qpid/server/util/LoggingProxyTest.java new file mode 100644 index 0000000000..15c9e1a59a --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/util/LoggingProxyTest.java @@ -0,0 +1,89 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +import junit.framework.JUnit4TestAdapter; +import org.junit.Assert; +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +public class LoggingProxyTest +{ + static interface IFoo { + void foo(); + void foo(int i, Collection c); + String bar(); + String bar(String s, List l); + } + + static class Foo implements IFoo { + public void foo() + { + } + + public void foo(int i, Collection c) + { + } + + public String bar() + { + return null; + } + + public String bar(String s, List l) + { + return "ha"; + } + } + + @Test + public void simple() { + LoggingProxy proxy = new LoggingProxy(new Foo(), 20); + IFoo foo = (IFoo)proxy.getProxy(IFoo.class); + foo.foo(); + assertEquals(2, proxy.getBufferSize()); + Assert.assertTrue(proxy.getBuffer().get(0).toString().matches(".*: foo\\(\\) entered$")); + Assert.assertTrue(proxy.getBuffer().get(1).toString().matches(".*: foo\\(\\) returned$")); + + foo.foo(3, Arrays.asList(0, 1, 2)); + assertEquals(4, proxy.getBufferSize()); + Assert.assertTrue(proxy.getBuffer().get(2).toString().matches(".*: foo\\(\\[3, \\[0, 1, 2\\]\\]\\) entered$")); + Assert.assertTrue(proxy.getBuffer().get(3).toString().matches(".*: foo\\(\\) returned$")); + + foo.bar(); + assertEquals(6, proxy.getBufferSize()); + Assert.assertTrue(proxy.getBuffer().get(4).toString().matches(".*: bar\\(\\) entered$")); + Assert.assertTrue(proxy.getBuffer().get(5).toString().matches(".*: bar\\(\\) returned null$")); + + foo.bar("hello", Arrays.asList(1, 2, 3)); + assertEquals(8, proxy.getBufferSize()); + Assert.assertTrue(proxy.getBuffer().get(6).toString().matches(".*: bar\\(\\[hello, \\[1, 2, 3\\]\\]\\) entered$")); + Assert.assertTrue(proxy.getBuffer().get(7).toString().matches(".*: bar\\(\\) returned ha$")); + + proxy.dump(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(LoggingProxyTest.class); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/util/NullApplicationRegistry.java b/java/broker/test/src/org/apache/qpid/server/util/NullApplicationRegistry.java new file mode 100644 index 0000000000..3daf143561 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/util/NullApplicationRegistry.java @@ -0,0 +1,103 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +import org.apache.qpid.server.exchange.DefaultExchangeFactory; +import org.apache.qpid.server.exchange.DefaultExchangeRegistry; +import org.apache.qpid.server.exchange.ExchangeFactory; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.management.ManagedObjectRegistry; +import org.apache.qpid.server.management.NoopManagedObjectRegistry; +import org.apache.qpid.server.queue.DefaultQueueRegistry; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.security.auth.AuthenticationManager; +import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.store.TestableMemoryMessageStore; +import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration.MapConfiguration; + +import java.util.HashMap; + +public class NullApplicationRegistry extends ApplicationRegistry +{ + private QueueRegistry _queueRegistry; + + private ExchangeRegistry _exchangeRegistry; + + private ExchangeFactory _exchangeFactory; + + private ManagedObjectRegistry _managedObjectRegistry; + + private AuthenticationManager _authenticationManager; + + private MessageStore _messageStore; + + public NullApplicationRegistry() + { + super(new MapConfiguration(new HashMap())); + } + + public void initialise() throws Exception + { + _managedObjectRegistry = new NoopManagedObjectRegistry(); + _queueRegistry = new DefaultQueueRegistry(); + _exchangeFactory = new DefaultExchangeFactory(); + _exchangeRegistry = new DefaultExchangeRegistry(_exchangeFactory); + _authenticationManager = new NullAuthenticationManager(); + _messageStore = new TestableMemoryMessageStore(); + + _configuration.addProperty("heartbeat.delay", 10 * 60); // 10 minutes + } + + public Configuration getConfiguration() + { + return _configuration; + } + + public QueueRegistry getQueueRegistry() + { + return _queueRegistry; + } + + public ExchangeRegistry getExchangeRegistry() + { + return _exchangeRegistry; + } + + public ExchangeFactory getExchangeFactory() + { + return _exchangeFactory; + } + + public ManagedObjectRegistry getManagedObjectRegistry() + { + return _managedObjectRegistry; + } + + public AuthenticationManager getAuthenticationManager() + { + return _authenticationManager; + } + + public MessageStore getMessageStore() + { + return _messageStore; + } +} + diff --git a/java/broker/test/src/org/apache/qpid/server/util/NullAuthenticationManager.java b/java/broker/test/src/org/apache/qpid/server/util/NullAuthenticationManager.java new file mode 100644 index 0000000000..cdde505451 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/util/NullAuthenticationManager.java @@ -0,0 +1,82 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +import org.apache.qpid.server.security.auth.AuthenticationManager; +import org.apache.qpid.server.security.auth.AuthenticationResult; + +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; + +public class NullAuthenticationManager implements AuthenticationManager +{ + public String getMechanisms() + { + return "PLAIN"; + } + + public SaslServer createSaslServer(String mechanism, String localFQDN) throws SaslException + { + return new SaslServer() + { + public String getMechanismName() + { + return "PLAIN"; + } + + public byte[] evaluateResponse(byte[] response) throws SaslException + { + return new byte[0]; + } + + public boolean isComplete() + { + return true; + } + + public String getAuthorizationID() + { + return "guest"; + } + + public byte[] unwrap(byte[] incoming, int offset, int len) throws SaslException + { + return new byte[0]; + } + + public byte[] wrap(byte[] outgoing, int offset, int len) throws SaslException + { + return new byte[0]; + } + + public Object getNegotiatedProperty(String propName) + { + return null; + } + + public void dispose() throws SaslException + { + } + }; + } + + public AuthenticationResult authenticate(SaslServer server, byte[] response) + { + return new AuthenticationResult(AuthenticationResult.AuthenticationStatus.SUCCESS); + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/util/RunStats.java b/java/broker/test/src/org/apache/qpid/server/util/RunStats.java new file mode 100644 index 0000000000..248622836d --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/util/RunStats.java @@ -0,0 +1,54 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +public class RunStats +{ + private long min = Long.MAX_VALUE; + private long max; + private long total; + private int count; + + public void record(long time) + { + max = Math.max(time, max); + min = Math.min(time, min); + total += time; + count++; + } + + public long getMin() + { + return min; + } + + public long getMax() + { + return max; + } + + public long getAverage() + { + return total / count; + } + + public String toString() + { + return "avg=" + getAverage() + ", min=" + min + ", max=" + max; + } +} diff --git a/java/broker/test/src/org/apache/qpid/server/util/TimedRun.java b/java/broker/test/src/org/apache/qpid/server/util/TimedRun.java new file mode 100644 index 0000000000..f779b7fbb6 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/util/TimedRun.java @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +import java.util.concurrent.Callable; + +public abstract class TimedRun implements Callable<Long> +{ + private final String description; + + public TimedRun(String description) + { + this.description = description; + } + + public Long call() throws Exception + { + setup(); + long start = System.currentTimeMillis(); + run(); + long stop = System.currentTimeMillis(); + teardown(); + return stop - start; + } + + public String toString() + { + return description; + } + + protected void setup() throws Exception{} + protected void teardown() throws Exception{} + protected abstract void run() throws Exception; +} diff --git a/java/broker/test/src/org/apache/qpid/server/util/UnitTests.java b/java/broker/test/src/org/apache/qpid/server/util/UnitTests.java new file mode 100644 index 0000000000..d6cc471413 --- /dev/null +++ b/java/broker/test/src/org/apache/qpid/server/util/UnitTests.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.util; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({LoggingProxyTest.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/build-old.xml b/java/build-old.xml new file mode 100644 index 0000000000..d518b2e08f --- /dev/null +++ b/java/build-old.xml @@ -0,0 +1,37 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Java" default="build"> + + <macrodef name="iterate"> + <attribute name="target"/> + <sequential> + <subant target="@{target}"> + <filelist dir="." files="common,broker,client"/> + </subant> + </sequential> + </macrodef> + + <target name="build"> + <iterate target=""/> + </target> + + <target name="clean"> + <iterate target="clean"/> + </target> + +</project> diff --git a/java/build.xml b/java/build.xml new file mode 100644 index 0000000000..91b39881a4 --- /dev/null +++ b/java/build.xml @@ -0,0 +1,101 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Java" default="build"> + + <import file="common.xml"/> + + <property file="build.properties"/> + <property name="modules.extra" value=""/> + <property name="modules.client" value="common,client"/> + <property name="modules" + value="${modules.client},broker,broker/test,client/test,management/core,management/cli,cluster,${modules.extra}"/> + + <macrodef name="iterate"> + <attribute name="target"/> + <attribute name="modules" default="${modules}"/> + <element name="elements" implicit="true" optional="true"/> + <sequential> + <subant target="@{target}" antfile="build-module.xml"> + <filelist dir="." files="@{modules}"/> + <elements/> + </subant> + </sequential> + </macrodef> + + <target name="build" description="compile java source code for each module"> + <iterate target="build"/> + </target> + + <target name="test" description="execute unit tests"> + <iterate target="test"/> + </target> + + <target name="doc" description="produce javadoc for each module"> + <iterate target="doc"/> + </target> + + <target name="jar" + description="create java class file archives for each module"> + <iterate target="jar"/> + </target> + + <target name="dist" + description="copy each module's files into a single distribution tree"> + <iterate target="dist"/> + <iterate target="dist-lib" modules="${modules.client}"> + <property name="dist.dir" value="${dist.client.dir}"/> + </iterate> + </target> + + <target name="clean" description="remove all build artifacts"> + <iterate target="clean"/> + <delete dir="${build.dir}"/> + </target> + + <property name="client.includes" value="*/client/**"/> + + <target name="zip" depends="dist" + description="produce a zip archive of the distribution tree"> + <zip basedir="${dist.root}" destfile="${build.zip}"/> + <zip basedir="${dist.root}" destfile="${client.zip}" + includes="${client.includes}"/> + </target> + + <target name="tar" depends="dist" + description="produce a tar archive of the distribution tree"> + <tar basedir="${dist.root}" destfile="${build.tar}"/> + <tar basedir="${dist.root}" destfile="${client.tar}" + includes="${client.includes}"/> + </target> + + <target name="gzip" depends="tar" + description="produce a gzipped tarball of the distribution tree"> + <gzip src="${build.tar}" destfile="${build.tgz}"/> + <gzip src="${client.tar}" destfile="${client.tgz}"/> + </target> + + <target name="bzip2" depends="tar" + description="produze a bzipped tarball of the distribution tree"> + <bzip2 src="${build.tar}" destfile="${build.bz2}"/> + <bzip2 src="${client.tar}" destfile="${client.bz2}"/> + </target> + + <target name="archive" depends="zip,gzip,bzip2" + description="produce all archive formats of the distribution tree"/> + +</project> diff --git a/java/client/build-module.xml b/java/client/build-module.xml new file mode 100644 index 0000000000..637806e14b --- /dev/null +++ b/java/client/build-module.xml @@ -0,0 +1,21 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Client" default="build"> + <property name="module.depends" value="common"/> + <import file="../module.xml"/> +</project> diff --git a/java/client/build-old.xml b/java/client/build-old.xml new file mode 100644 index 0000000000..d0fcd090d7 --- /dev/null +++ b/java/client/build-old.xml @@ -0,0 +1,287 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<!-- AMQP Java build file --> + +<project name="qpid-client" default="jar" basedir="."> + <property name="lib" value="${basedir}/lib"/> + <property name="common.dir" value="${basedir}/../common"/> + <property name="common.lib" value="${basedir}/../common/lib"/> + <property name="client.dir" value="${basedir}"/> + <property name="common.src" value="${common.dir}/src"/> + <property name="common.resources" value="${common.dir}/resources"/> + <property name="common.classes" value="${common.dir}/classes"/> + <property name="client.src" value="${client.dir}/src"/> + <property name="client.lib" value="${client.dir}/lib"/> + <property name="client.tests" value="${client.dir}/test"/> + <property name="client.classes" value="${client.dir}/classes"/> + <property name="client.testclasses" value="${client.dir}/testclasses"/> + <property name="generated.java.src" value="${common.dir}/generated/java"/> + <property name="broker.classes" value="${basedir}/../broker/classes"/> + <property name="broker.testclasses" value="${basedir}/../broker/testclasses"/> + <property name="dist" value="${basedir}/dist"/> + + <!-- Setup details --> + <target name="init"> + <tstamp> + <format property="release" pattern="-dMMMyy" locale="en" timezone="GMT"/> + </tstamp> + + <mkdir dir="${common.classes}"/> + <mkdir dir="${client.classes}"/> + <mkdir dir="${client.testclasses}"/> + </target> + + <path id="amqp.classpath"> + <fileset dir="${basedir}/lib"> + <include name="**/*.jar"/> + </fileset> + <fileset dir="${common.dir}/lib"> + <include name="**/*.jar"/> + </fileset> + <pathelement path="${common.classes}"/> + <pathelement path="${client.classes}"/> + <pathelement path="${client.testclasses}/"/> + <pathelement path="${broker.classes}/"/> + <pathelement path="${broker.testclasses}/"/> + </path> + + <path id="client.test.classpath"> + <path refid="amqp.classpath"/> + <fileset dir="${basedir}/test/lib"> + <include name="**/*.jar"/> + </fileset> + </path> + + <!-- Remove all built files --> + <target name="clean" depends="init"> + <delete dir="${common.classes}"/> + <delete dir="${client.classes}"/> + <delete dir="${client.testclasses}"/> + </target> + + <!-- Compile Java --> + <target name="compile" depends="init, generate"> + <javac destdir="${common.classes}" target="1.5" source="1.5" debug="on"> + <classpath refid="amqp.classpath"/> + <src path="${common.src}"/> + <src path="${generated.java.src}"/> + </javac> + + <javac destdir="${client.classes}" target="1.5" source="1.5" debug="on"> + <classpath refid="amqp.classpath"/> + <src path="${client.src}"/> + </javac> + + <copy todir="${common.classes}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${common.src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + <fileset dir="${common.resources}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + + <copy todir="${client.classes}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${client.src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <target name="compiletests" depends="compile"> + <javac destdir="${client.testclasses}" target="1.5" source="1.5" classpathref="client.test.classpath" debug="on"> + <src path="${client.tests}"/> + </javac> + + <copy todir="${client.testclasses}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${client.tests}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <!-- Generate framing source code from protocol specification --> + <target name="generate" description="Generates framing source code from protocol specification"> + <ant dir="../common" target="generate"/> + </target> + + <!-- Build jar archive --> + <target name="jar" depends="compiletests"> + <mkdir dir="${dist}"/> + <jar basedir="${common.classes}" jarfile="${dist}/amqp-common.jar"/> + <jar basedir="${client.classes}" jarfile="${dist}/amqp-jms.jar"/> + <jar basedir="${client.testclasses}" jarfile="${dist}/amqp-tests.jar"/> + </target> + + <target name="dist" depends="compile"> + <mkdir dir="${dist}"/> + <jar basedir="${common.classes}" jarfile="${dist}/amqp-common.jar"/> + <jar basedir="${client.classes}" jarfile="${dist}/amqp-jms.jar"/> + </target> + + <target name="javadoc" depends="compile, compiletests"> + <mkdir dir="${dist}/docs/api"/> + <javadoc sourcepath="${client.src}" destdir="${dist}/docs/api" + packagenames="org.apache.qpid.*" classpathref="amqp.classpath" author="true" + version="true" windowTitle="AMQP Client API" doctitle="AMQP Client API" + footer="See <a href="http://www.amqp.org">www.amqp.org</a> for more information." + use="true" verbose="false"/> + </target> + + <target name="ServiceProvidingClient" depends="compiletests"> + <java fork="yes" classname="org.apache.qpid.requestreply1.ServiceProvidingClient"> + <classpath refid="amqp.classpath"/> + <jvmarg value="-server"/> + <sysproperty key="amqj.logging.level" value="INFO"/> + <sysproperty key="amqj.server.shared_read_write_pool" value="true"/> + <arg value="localhost:5672"/> + <arg value="guest"/> + <arg value="guest"/> + <arg value="/vpath"/> + <arg value="serviceQ1"/> + </java> + </target> + + <target name="ServiceRequestingClient" depends="compiletests"> + <java fork="yes" classname="org.apache.qpid.requestreply1.ServiceRequestingClient"> + <classpath refid="amqp.classpath"/> + <jvmarg value="-server"/> + <sysproperty key="amqj.logging.level" value="INFO"/> + <sysproperty key="amqj.server.shared_read_write_pool" value="true"/> + <arg value="localhost:5672"/> + <arg value="guest"/> + <arg value="guest"/> + <arg value="/vpath"/> + <arg value="serviceQ1"/> + <arg value="5000"/> + <arg value="512"/> + </java> + </target> + + <target name="HeadersListener" depends="compiletests"> + <java fork="yes" classname="org.apache.qpid.headers.Listener"> + <classpath refid="amqp.classpath"/> + <jvmarg value="-server"/> + <sysproperty key="amqj.logging.level" value="INFO"/> + <sysproperty key="amqj.server.shared_read_write_pool" value="true"/> + </java> + </target> + + <target name="HeadersPublisher" depends="compiletests"> + <java fork="yes" classname="org.apache.qpid.headers.Publisher"> + <classpath refid="amqp.classpath"/> + <jvmarg value="-server"/> + <sysproperty key="amqj.logging.level" value="INFO"/> + <sysproperty key="amqj.server.shared_read_write_pool" value="true"/> + <arg value="5000"/> + <arg value="1"/> + </java> + </target> + + <target name="profile" depends="compile" description="Profile Project"> + <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath refid="amqp.classpath"/> + </nbprofiledirect> + <java fork="true" classname="org.apache.qpid.requestreply1.VmRequestReply" + dir="${profiler.session.working.dir}" + jvm="${profiler.info.jvm}"> + <jvmarg line="${profiler.info.jvmargs}"/> + <env key="Path" path="${profiler.info.agentpath}:${env.Path}"/> + <classpath refid="amqp.classpath"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <jvmarg value="-server"/> + <jvmarg value="-Damqj.logging.level=INFO"/> + <sysproperty key="amqj.shared_read_write_pool" value="true"/> + <arg value="localhost:5672"/> + <arg value="guest"/> + <arg value="guest"/> + <arg value="/vpath"/> + <arg value="serviceQ1"/> + <arg value="5000"/> + <arg value="512"/> + </java> + </target> + + <target name="profile-single" depends="compile" description="Profile File"> + <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail> + <nbprofile classname="${profile.class}"> + <classpath refid="amqp.classpath"/> + </nbprofile> + </target> + + <target name="release" depends="jar" description="Create a release package"> + <!-- create a jar file that will contain classpath entries for all required jars --> + <jar jarfile="${dist}/amqj.jar"> + <manifest> + <attribute name="Class-Path" value="lib/jms.jar lib/slf4j-simple.jar lib/log4j-1.2.13.jar lib/mina-core-0.9.5-SNAPSHOT.jar lib/mina-filter-ssl-0.9.5-SNAPSHOT.jar lib/commons-cli-1.0.jar lib/commons-configuration-1.2.jar lib/commons-collections-3.1.jar lib/commons-logging-api.jar lib/commons-logging.jar lib/commons-lang-2.1.jar lib/junit-4.0.jar lib/amqp-tests.jar lib/amqp-common.jar lib/amqp-jms.jar"/> + </manifest> + </jar> + <!-- create a zip for releasing --> + <zip destfile="${dist}/client.zip"> + <zipfileset dir="bin" includes="*.sh,*.bat" filemode="755"/> + <zipfileset file="${dist}/amqj.jar" /> + <zipfileset prefix="lib" file="${client.lib}/jms/jms.jar"/> + <zipfileset prefix="lib" file="${common.lib}/slf4j/slf4j-simple.jar"/> + <zipfileset prefix="lib" file="${common.lib}/logging-log4j/log4j-1.2.13.jar"/> + <zipfileset prefix="lib" file="${common.lib}/mina/mina-core-0.9.5-SNAPSHOT.jar"/> + <zipfileset prefix="lib" file="${common.lib}/mina/mina-filter-ssl-0.9.5-SNAPSHOT.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-cli/commons-cli-1.0.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-configuration/commons-configuration-1.2.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-collections/commons-collections-3.1.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-logging/commons-logging-api.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-logging/commons-logging.jar"/> + <zipfileset prefix="lib" file="${common.lib}/commons-lang/commons-lang-2.1.jar"/> + <zipfileset prefix="lib" file="${common.lib}/junit/junit-4.0.jar"/> + <zipfileset prefix="lib" file="${dist}/amqp-tests.jar"/> + <zipfileset prefix="lib" file="${dist}/amqp-common.jar"/> + <zipfileset prefix="lib" file="${dist}/amqp-jms.jar"/> + </zip> + + <tar destfile="${dist}/client.tar.gz" compression="gzip"> + <tarfileset dir="bin" includes="*.sh,*.bat" mode="755"/> + <tarfileset file="${dist}/amqj.jar"/> + <tarfileset prefix="lib" file="${client.lib}/jms/jms.jar"/> + <tarfileset prefix="lib" file="${common.lib}/slf4j/slf4j-simple.jar"/> + <tarfileset prefix="lib" file="${common.lib}/logging-log4j/log4j-1.2.13.jar"/> + <tarfileset prefix="lib" file="${common.lib}/mina/mina-core-0.9.5-SNAPSHOT.jar"/> + <tarfileset prefix="lib" file="${common.lib}/mina/mina-filter-ssl-0.9.5-SNAPSHOT.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-cli/commons-cli-1.0.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-configuration/commons-configuration-1.2.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-collections/commons-collections-3.1.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-logging/commons-logging-api.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-logging/commons-logging.jar"/> + <tarfileset prefix="lib" file="${common.lib}/commons-lang/commons-lang-2.1.jar"/> + <tarfileset prefix="lib" file="${common.lib}/junit/junit-4.0.jar"/> + <tarfileset prefix="lib" file="${dist}/amqp-tests.jar"/> + <tarfileset prefix="lib" file="${dist}/amqp-common.jar"/> + <tarfileset prefix="lib" file="${dist}/amqp-jms.jar"/> + </tar> + </target> + +</project> diff --git a/java/client/dist/readme.txt b/java/client/dist/readme.txt new file mode 100644 index 0000000000..b5f7b107b6 --- /dev/null +++ b/java/client/dist/readme.txt @@ -0,0 +1,2 @@ +This directory is deliberately empty. +AMQP JAR files will be built here during the build process. diff --git a/java/client/lib/jms/jms.jar b/java/client/lib/jms/jms.jar Binary files differnew file mode 100644 index 0000000000..dad227f694 --- /dev/null +++ b/java/client/lib/jms/jms.jar diff --git a/java/client/readme.txt b/java/client/readme.txt new file mode 100644 index 0000000000..ef8fa01717 --- /dev/null +++ b/java/client/readme.txt @@ -0,0 +1,31 @@ +AMQP JMS API + +To build this you will need ant. The build.xml file requires that the amq.home +property be set to point to the location of the root directory under which the +base2 and amqp moduels reside (these contain protocol definitions used in +the code generation). + +You can avoid setting it if you have the following structure: + + root/ + base/ + base2/ + foreign/ + gsl/ + amqp/ + blaze/ + java/ + client + build.xml + Readme.txt [this file] + common + + +Otherwise you can either pass it in on the command line or add it to a file +named build.properties in the same directory as this Readme.txt file. + +E.g.: + +ant -Damq.home=c:\AMQP\ + + diff --git a/java/client/src/log4j.properties b/java/client/src/log4j.properties new file mode 100644 index 0000000000..d3135ff574 --- /dev/null +++ b/java/client/src/log4j.properties @@ -0,0 +1,10 @@ +log4j.rootLogger=${root.logging.level} + + +log4j.logger.org.apache.qpid=${amqj.logging.level}, console +log4j.additivity.org.apache.qpid=false + +log4j.appender.console=org.apache.log4j.ConsoleAppender +log4j.appender.console.Threshold=info +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern=%t %d %p [%c{4}] %m%n diff --git a/java/client/src/org/apache/qpid/client/AMQAuthenticationException.java b/java/client/src/org/apache/qpid/client/AMQAuthenticationException.java new file mode 100644 index 0000000000..93b5cb5b8e --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQAuthenticationException.java @@ -0,0 +1,29 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.AMQException; +import org.apache.qpid.protocol.AMQConstant; + +public class AMQAuthenticationException extends AMQException +{ + public AMQAuthenticationException(int error, String msg) + { + super(error,msg); + } +} diff --git a/java/client/src/org/apache/qpid/client/AMQBrokerDetails.java b/java/client/src/org/apache/qpid/client/AMQBrokerDetails.java new file mode 100644 index 0000000000..52de858b13 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQBrokerDetails.java @@ -0,0 +1,301 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.jms.BrokerDetails; +import org.apache.qpid.url.URLHelper; +import org.apache.qpid.url.URLSyntaxException; + +import java.util.HashMap; +import java.net.URISyntaxException; +import java.net.URI; + +public class AMQBrokerDetails implements BrokerDetails +{ + private String _host; + private int _port; + private String _transport; + + private HashMap<String, String> _options; + + public AMQBrokerDetails() + { + _options = new HashMap<String, String>(); + } + + public AMQBrokerDetails(String url) throws URLSyntaxException + { + this(); + // URL should be of format tcp://host:port?option='value',option='value' + try + { + URI connection = new URI(url); + + String transport = connection.getScheme(); + + // Handles some defaults to minimise changes to existing broker URLS e.g. localhost + if (transport != null) + { + //todo this list of valid transports should be enumerated somewhere + if ((!(transport.equalsIgnoreCase("vm") || + transport.equalsIgnoreCase("tcp")))) + { + if (transport.equalsIgnoreCase("localhost")) + { + connection = new URI(DEFAULT_TRANSPORT + "://" + url); + transport = connection.getScheme(); + } + else + { + if (url.charAt(transport.length()) == ':' && url.charAt(transport.length()+1) != '/' ) + { + //Then most likely we have a host:port value + connection = new URI(DEFAULT_TRANSPORT + "://" + url); + transport = connection.getScheme(); + } + else + { + URLHelper.parseError(0, transport.length(), "Unknown transport", url); + } + } + } + } + else + { + //Default the transport + connection = new URI(DEFAULT_TRANSPORT + "://" + url); + transport = connection.getScheme(); + } + + if (transport == null) + { + URLHelper.parseError(-1, "Unknown transport:'" + transport + "'" + + " In broker URL:'" + url + "' Format: " + URL_FORMAT_EXAMPLE, ""); + } + + setTransport(transport); + + String host = connection.getHost(); + + // Fix for Java 1.5 + if (host == null) + { + host = ""; + } + + setHost(host); + + int port = connection.getPort(); + + if (port == -1) + { + // Another fix for Java 1.5 URI handling + String auth = connection.getAuthority(); + + if (auth != null && auth.startsWith(":")) + { + setPort(Integer.parseInt(auth.substring(1))); + } + else + { + setPort(DEFAULT_PORT); + } + } + else + { + setPort(port); + } + + String queryString = connection.getQuery(); + + URLHelper.parseOptions(_options, queryString); + + //Fragment is #string (not used) + } + catch (URISyntaxException uris) + { + if (uris instanceof URLSyntaxException) + { + throw (URLSyntaxException) uris; + } + + URLHelper.parseError(uris.getIndex(), uris.getReason(), uris.getInput()); + } + } + + public AMQBrokerDetails(String host, int port, boolean useSSL) + { + _host = host; + _port = port; + + if (useSSL) + { + setOption(OPTIONS_SSL, "true"); + } + } + + public String getHost() + { + return _host; + } + + public void setHost(String _host) + { + this._host = _host; + } + + public int getPort() + { + return _port; + } + + public void setPort(int _port) + { + this._port = _port; + } + + public String getTransport() + { + return _transport; + } + + public void setTransport(String _transport) + { + this._transport = _transport; + } + + + public String getOption(String key) + { + return _options.get(key); + } + + public void setOption(String key, String value) + { + _options.put(key, value); + } + + public long getTimeout() + { + if (_options.containsKey(OPTIONS_CONNECT_TIMEOUT)) + { + try + { + return Long.parseLong(_options.get(OPTIONS_CONNECT_TIMEOUT)); + } + catch (NumberFormatException nfe) + { + //Do nothing as we will use the default below. + } + } + + return BrokerDetails.DEFAULT_CONNECT_TIMEOUT; + } + + public void setTimeout(long timeout) + { + setOption(OPTIONS_CONNECT_TIMEOUT, Long.toString(timeout)); + } + + public String toString() + { + StringBuffer sb = new StringBuffer(); + + sb.append(_transport); + sb.append("://"); + + if (!(_transport.equalsIgnoreCase("vm"))) + { + sb.append(_host); + } + + sb.append(':'); + sb.append(_port); + + sb.append(printOptionsURL()); + + return sb.toString(); + } + + public boolean equals(Object o) + { + if (!(o instanceof BrokerDetails)) + { + return false; + } + + BrokerDetails bd = (BrokerDetails) o; + + return _host.equalsIgnoreCase(bd.getHost()) && + (_port == bd.getPort()) && + _transport.equalsIgnoreCase(bd.getTransport()) && + (useSSL() == bd.useSSL()); + + //todo do we need to compare all the options as well? + } + + private String printOptionsURL() + { + StringBuffer optionsURL = new StringBuffer(); + + optionsURL.append('?'); + + if (!(_options.isEmpty())) + { + + for (String key : _options.keySet()) + { + optionsURL.append(key); + + optionsURL.append("='"); + + optionsURL.append(_options.get(key)); + + optionsURL.append("'"); + + optionsURL.append(URLHelper.DEFAULT_OPTION_SEPERATOR); + } + } + + //remove the extra DEFAULT_OPTION_SEPERATOR or the '?' if there are no options + optionsURL.deleteCharAt(optionsURL.length() - 1); + + return optionsURL.toString(); + } + + public boolean useSSL() + { + // To be friendly to users we should be case insensitive. + // or simply force users to conform to OPTIONS_SSL + // todo make case insensitive by trying ssl Ssl sSl ssL SSl SsL sSL SSL + + if (_options.containsKey(OPTIONS_SSL)) + { + return _options.get(OPTIONS_SSL).equalsIgnoreCase("true"); + } + + return false; + } + + public void useSSL(boolean ssl) + { + setOption(OPTIONS_SSL, Boolean.toString(ssl)); + } + + +} diff --git a/java/client/src/org/apache/qpid/client/AMQConnection.java b/java/client/src/org/apache/qpid/client/AMQConnection.java new file mode 100644 index 0000000000..f11d4d9307 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQConnection.java @@ -0,0 +1,927 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.AMQException; +import org.apache.qpid.AMQUndeliveredException; +import org.apache.qpid.AMQConnectionException; +import org.apache.qpid.AMQUnresolvedAddressException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.protocol.AMQProtocolHandler; +import org.apache.qpid.client.failover.FailoverSupport; +import org.apache.qpid.client.state.AMQState; +import org.apache.qpid.client.transport.TransportConnection; +import org.apache.qpid.framing.*; +import org.apache.qpid.jms.*; +import org.apache.qpid.jms.Connection; + +import org.apache.log4j.Logger; + +import javax.jms.*; +import javax.jms.Queue; +import javax.jms.Session; +import javax.naming.Reference; +import javax.naming.NamingException; +import javax.naming.StringRefAddr; +import javax.naming.Referenceable; +import java.io.IOException; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.net.ConnectException; +import java.nio.channels.UnresolvedAddressException; +import java.text.MessageFormat; + +public class AMQConnection extends Closeable implements Connection, QueueConnection, TopicConnection, Referenceable +{ + private static final Logger _logger = Logger.getLogger(AMQConnection.class); + + private AtomicInteger _idFactory = new AtomicInteger(0); + + /** + * This is the "root" mutex that must be held when doing anything that could be impacted by failover. + * This must be held by any child objects of this connection such as the session, producers and consumers. + */ + private final Object _failoverMutex = new Object(); + + /** + * A channel is roughly analogous to a session. The server can negotiate the maximum number of channels + * per session and we must prevent the client from opening too many. Zero means unlimited. + */ + private long _maximumChannelCount; + + /** + * The maximum size of frame supported by the server + */ + private long _maximumFrameSize; + + /** + * The protocol handler dispatches protocol events for this connection. For example, when the connection is dropped + * the handler deals with this. It also deals with the initial dispatch of any protocol frames to their appropriate + * handler. + */ + private AMQProtocolHandler _protocolHandler; + + /** + * Maps from session id (Integer) to AMQSession instance + */ + private final Map _sessions = new LinkedHashMap(); //fixme this is map is replicated in amqprotocolsession as _channelId2SessionMap + + private String _clientName; + + /** + * The user name to use for authentication + */ + private String _username; + + /** + * The password to use for authentication + */ + private String _password; + + /** + * The virtual path to connect to on the AMQ server + */ + private String _virtualHost; + + private ExceptionListener _exceptionListener; + + private ConnectionListener _connectionListener; + + private ConnectionURL _connectionURL; + + /** + * Whether this connection is started, i.e. whether messages are flowing to consumers. It has no meaning for + * message publication. + */ + private boolean _started; + + /** + * Policy dictating how to failover + */ + private FailoverPolicy _failoverPolicy; + + /* + * _Connected should be refactored with a suitable wait object. + */ + private boolean _connected; + + /* + * The last error code that occured on the connection. Used to return the correct exception to the client + */ + private AMQException _lastAMQException = null; + + public AMQConnection(String broker, String username, String password, + String clientName, String virtualHost) throws AMQException, URLSyntaxException + { + this(new AMQConnectionURL(ConnectionURL.AMQ_PROTOCOL + "://" + + username + ":" + password + "@" + clientName + + virtualHost + "?brokerlist='" + broker + "'")); + } + + public AMQConnection(String host, int port, String username, String password, + String clientName, String virtualHost) throws AMQException, URLSyntaxException + { + this(host, port, false, username, password, clientName, virtualHost); + } + + public AMQConnection(String host, int port, boolean useSSL, String username, String password, + String clientName, String virtualHost) throws AMQException, URLSyntaxException + { + this(new AMQConnectionURL(useSSL ? + ConnectionURL.AMQ_PROTOCOL + "://" + + username + ":" + password + "@" + clientName + + virtualHost + "?brokerlist='tcp://" + host + ":" + port + "'" + + "," + ConnectionURL.OPTIONS_SSL + "='true'" : + ConnectionURL.AMQ_PROTOCOL + "://" + + username + ":" + password + "@" + clientName + + virtualHost + "?brokerlist='tcp://" + host + ":" + port + "'" + + "," + ConnectionURL.OPTIONS_SSL + "='false'" + )); + } + + public AMQConnection(String connection) throws AMQException, URLSyntaxException + { + this(new AMQConnectionURL(connection)); + } + + public AMQConnection(ConnectionURL connectionURL) throws AMQException + { + _logger.info("Connection:" + connectionURL); + + if (connectionURL == null) + { + throw new IllegalArgumentException("Connection must be specified"); + } + + _connectionURL = connectionURL; + + _clientName = connectionURL.getClientName(); + _username = connectionURL.getUsername(); + _password = connectionURL.getPassword(); + _virtualHost = connectionURL.getVirtualHost(); + + _failoverPolicy = new FailoverPolicy(connectionURL); + + _protocolHandler = new AMQProtocolHandler(this); + + // We are not currently connected + _connected = false; + + + Exception lastException = new Exception(); + lastException.initCause(new ConnectException()); + + while (lastException != null && lastException.getCause() instanceof ConnectException && _failoverPolicy.failoverAllowed()) + { + try + { + makeBrokerConnection(_failoverPolicy.getNextBrokerDetails()); + lastException = null; + } + catch (Exception e) + { + lastException = e; + + _logger.info("Unable to connect to broker at " + _failoverPolicy.getCurrentBrokerDetails(), e.getCause()); + _logger.info(e); + _logger.info(e.getCause()); + } + } + + _logger.debug("Are we connected:" + _connected); + + // Then the Failover Thread will handle conneciton + if (_failoverPolicy.failoverAllowed()) + { + //TODO this needs to be redone so that we are not spinning. + // A suitable object should be set that is then waited on + // and only notified when a connection is made or when + // the AMQConnection gets closed. + while (!_connected && !_closed.get()) + { + try + { + _logger.debug("Sleeping."); + Thread.sleep(100); + } + catch (InterruptedException ie) + { + _logger.debug("Woken up."); + } + } + if (!_failoverPolicy.failoverAllowed() || _failoverPolicy.getCurrentBrokerDetails() == null) + { + if (_lastAMQException != null) + { + throw _lastAMQException; + } + } + } + else + { + String message = null; + + if (lastException != null) + { + if (lastException.getCause() != null) + { + message = lastException.getCause().getMessage(); + } + else + { + message = lastException.getMessage(); + } + } + + if (message == null || message.equals("")) + { + message = "Unable to Connect"; + } + + AMQException e = new AMQConnectionException(message); + + if (lastException != null) + { + if (lastException instanceof UnresolvedAddressException) + { + e = new AMQUnresolvedAddressException(message); + } + e.initCause(lastException); + } + + throw e; + } + } + + protected AMQConnection(String username, String password, String clientName, String virtualHost) + { + _clientName = clientName; + _username = username; + _password = password; + _virtualHost = virtualHost; + } + + private void makeBrokerConnection(BrokerDetails brokerDetail) throws IOException, AMQException + { + try + { + TransportConnection.getInstance().connect(_protocolHandler, brokerDetail); + // this blocks until the connection has been set up or when an error + // has prevented the connection being set up + _protocolHandler.attainState(AMQState.CONNECTION_OPEN); + _failoverPolicy.attainedConnection(); + + //Again this should be changed to a suitable notify + _connected = true; + } + catch (AMQException e) + { + _lastAMQException = e; + throw e; + } + } + + public boolean attemptReconnection(String host, int port, boolean useSSL) + { + BrokerDetails bd = new AMQBrokerDetails(host, port, useSSL); + + _failoverPolicy.setBroker(bd); + + try + { + makeBrokerConnection(bd); + return true; + } + catch (Exception e) + { + _logger.info("Unable to connect to broker at " + bd); + attemptReconnection(); + } + return false; + } + + public boolean attemptReconnection() + { + while (_failoverPolicy.failoverAllowed()) + { + try + { + makeBrokerConnection(_failoverPolicy.getNextBrokerDetails()); + return true; + } + catch (Exception e) + { + if (!(e instanceof AMQException)) + { + _logger.info("Unable to connect to broker at " + _failoverPolicy.getCurrentBrokerDetails(), e); + } + else + { + _logger.info(e.getMessage() + ":Unable to connect to broker at " + _failoverPolicy.getCurrentBrokerDetails()); + } + } + } + + //connection unsuccessful + return false; + } + + /** + * Get the details of the currently active broker + * + * @return null if no broker is active (i.e. no successful connection has been made, or + * the BrokerDetail instance otherwise + */ + public BrokerDetails getActiveBrokerDetails() + { + return _failoverPolicy.getCurrentBrokerDetails(); + } + + public boolean failoverAllowed() + { + return _failoverPolicy.failoverAllowed(); + } + + public Session createSession(final boolean transacted, final int acknowledgeMode) throws JMSException + { + return createSession(transacted, acknowledgeMode, AMQSession.DEFAULT_PREFETCH); + } + + public org.apache.qpid.jms.Session createSession(final boolean transacted, final int acknowledgeMode, + final int prefetch) throws JMSException + { + checkNotClosed(); + if (channelLimitReached()) + { + throw new ChannelLimitReachedException(_maximumChannelCount); + } + else + { + return (org.apache.qpid.jms.Session) new FailoverSupport() + { + public Object operation() throws JMSException + { + int channelId = _idFactory.incrementAndGet(); + + if (_logger.isDebugEnabled()) + { + _logger.debug("Write channel open frame for channel id " + channelId); + } + + // We must create the session and register it before actually sending the frame to the server to + // open it, so that there is no window where we could receive data on the channel and not be set + // up to handle it appropriately. + AMQSession session = new AMQSession(AMQConnection.this, channelId, transacted, acknowledgeMode, + prefetch); + _protocolHandler.addSessionByChannel(channelId, session); + registerSession(channelId, session); + + boolean success = false; + try + { + createChannelOverWire(channelId, prefetch, transacted); + success = true; + } + catch (AMQException e) + { + JMSException jmse = new JMSException("Error creating session: " + e); + jmse.setLinkedException(e); + throw jmse; + } + finally + { + if (!success) { + _protocolHandler.removeSessionByChannel(channelId); + deregisterSession(channelId); + } + } + + if (_started) + { + session.start(); + } + return session; + } + }.execute(this); + } + } + + private void createChannelOverWire(int channelId, int prefetch, boolean transacted) + throws AMQException + { + _protocolHandler.syncWrite( + ChannelOpenBody.createAMQFrame(channelId, null), ChannelOpenOkBody.class); + _protocolHandler.syncWrite( + BasicQosBody.createAMQFrame(channelId, 0, prefetch, false), + BasicQosOkBody.class); + + if (transacted) + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Issuing TxSelect for " + channelId); + } + _protocolHandler.syncWrite(TxSelectBody.createAMQFrame(channelId), TxSelectOkBody.class); + } + } + + private void reopenChannel(int channelId, int prefetch, boolean transacted) throws AMQException + { + try + { + createChannelOverWire(channelId, prefetch, transacted); + } + catch (AMQException e) + { + _protocolHandler.removeSessionByChannel(channelId); + deregisterSession(channelId); + throw new AMQException("Error reopening channel " + channelId + " after failover: " + e); + } + } + + + public void setFailoverPolicy(FailoverPolicy policy) + { + _failoverPolicy = policy; + } + + public FailoverPolicy getFailoverPolicy() + { + return _failoverPolicy; + } + + public QueueSession createQueueSession(boolean transacted, int acknowledgeMode) throws JMSException + { + return (QueueSession) createSession(transacted, acknowledgeMode); + } + + public TopicSession createTopicSession(boolean transacted, int acknowledgeMode) throws JMSException + { + return (TopicSession) createSession(transacted, acknowledgeMode); + } + + private boolean channelLimitReached() + { + return _maximumChannelCount != 0 && _sessions.size() == _maximumChannelCount; + } + + public String getClientID() throws JMSException + { + checkNotClosed(); + return _clientName; + } + + public void setClientID(String clientID) throws JMSException + { + checkNotClosed(); + _clientName = clientID; + } + + public ConnectionMetaData getMetaData() throws JMSException + { + checkNotClosed(); + // TODO Auto-generated method stub + return null; + } + + public ExceptionListener getExceptionListener() throws JMSException + { + checkNotClosed(); + return _exceptionListener; + } + + public void setExceptionListener(ExceptionListener listener) throws JMSException + { + checkNotClosed(); + _exceptionListener = listener; + } + + /** + * Start the connection, i.e. start flowing messages. Note that this method must be called only from a single thread + * and is not thread safe (which is legal according to the JMS specification). + * + * @throws JMSException + */ + public void start() throws JMSException + { + checkNotClosed(); + if (!_started) + { + final Iterator it = _sessions.entrySet().iterator(); + while (it.hasNext()) + { + final AMQSession s = (AMQSession) ((Map.Entry) it.next()).getValue(); + s.start(); + } + _started = true; + } + } + + public void stop() throws JMSException + { + checkNotClosed(); + + if (_started) + { + for (Iterator i = _sessions.values().iterator(); i.hasNext();) + { + ((AMQSession) i.next()).stop(); + } + _started = false; + } + } + + public void close() throws JMSException + { + synchronized (getFailoverMutex()) + { + if (!_closed.getAndSet(true)) + { + try + { + closeAllSessions(null); + _protocolHandler.closeConnection(); + } + catch (AMQException e) + { + throw new JMSException("Error closing connection: " + e); + } + } + } + } + + /** + * Marks all sessions and their children as closed without sending any protocol messages. Useful when + * you need to mark objects "visible" in userland as closed after failover or other significant event that + * impacts the connection. + * <p/> + * The caller must hold the failover mutex before calling this method. + */ + private void markAllSessionsClosed() + { + final LinkedList sessionCopy = new LinkedList(_sessions.values()); + final Iterator it = sessionCopy.iterator(); + while (it.hasNext()) + { + final AMQSession session = (AMQSession) it.next(); + + session.markClosed(); + } + _sessions.clear(); + } + + /** + * Close all the sessions, either due to normal connection closure or due to an error occurring. + * + * @param cause if not null, the error that is causing this shutdown + * <p/> + * The caller must hold the failover mutex before calling this method. + */ + private void closeAllSessions(Throwable cause) throws JMSException + { + final LinkedList sessionCopy = new LinkedList(_sessions.values()); + final Iterator it = sessionCopy.iterator(); + JMSException sessionException = null; + while (it.hasNext()) + { + final AMQSession session = (AMQSession) it.next(); + if (cause != null) + { + session.closed(cause); + } + else + { + try + { + session.close(); + } + catch (JMSException e) + { + _logger.error("Error closing session: " + e); + sessionException = e; + } + } + } + _sessions.clear(); + if (sessionException != null) + { + throw sessionException; + } + } + + public ConnectionConsumer createConnectionConsumer(Destination destination, String messageSelector, + ServerSessionPool sessionPool, + int maxMessages) throws JMSException + { + checkNotClosed(); + return null; + } + + public ConnectionConsumer createConnectionConsumer(Queue queue, String messageSelector, + ServerSessionPool sessionPool, + int maxMessages) throws JMSException + { + checkNotClosed(); + return null; + } + + public ConnectionConsumer createConnectionConsumer(Topic topic, String messageSelector, + ServerSessionPool sessionPool, + int maxMessages) throws JMSException + { + checkNotClosed(); + return null; + } + + public ConnectionConsumer createDurableConnectionConsumer(Topic topic, String subscriptionName, + String messageSelector, ServerSessionPool sessionPool, + int maxMessages) + throws JMSException + { + // TODO Auto-generated method stub + checkNotClosed(); + return null; + } + + public long getMaximumChannelCount() + { + checkNotClosed(); + return _maximumChannelCount; + } + + public void setConnectionListener(ConnectionListener listener) + { + _connectionListener = listener; + } + + public ConnectionListener getConnectionListener() + { + return _connectionListener; + } + + public void setMaximumChannelCount(long maximumChannelCount) + { + checkNotClosed(); + _maximumChannelCount = maximumChannelCount; + } + + public void setMaximumFrameSize(long frameMax) + { + _maximumFrameSize = frameMax; + } + + public long getMaximumFrameSize() + { + return _maximumFrameSize; + } + + public Map getSessions() + { + return _sessions; + } + + public String getUsername() + { + return _username; + } + + public String getPassword() + { + return _password; + } + + public String getVirtualHost() + { + return _virtualHost; + } + + public AMQProtocolHandler getProtocolHandler() + { + return _protocolHandler; + } + + public void bytesSent(long writtenBytes) + { + if (_connectionListener != null) + { + _connectionListener.bytesSent(writtenBytes); + } + } + + public void bytesReceived(long receivedBytes) + { + if (_connectionListener != null) + { + _connectionListener.bytesReceived(receivedBytes); + } + } + + /** + * Fire the preFailover event to the registered connection listener (if any) + * + * @param redirect true if this is the result of a redirect request rather than a connection error + * @return true if no listener or listener does not veto change + */ + public boolean firePreFailover(boolean redirect) + { + boolean proceed = true; + if (_connectionListener != null) + { + proceed = _connectionListener.preFailover(redirect); + } + return proceed; + } + + /** + * Fire the preResubscribe event to the registered connection listener (if any). If the listener + * vetoes resubscription then all the sessions are closed. + * + * @return true if no listener or listener does not veto resubscription. + * @throws JMSException + */ + public boolean firePreResubscribe() throws JMSException + { + if (_connectionListener != null) + { + boolean resubscribe = _connectionListener.preResubscribe(); + if (!resubscribe) + { + markAllSessionsClosed(); + } + return resubscribe; + } + else + { + return true; + } + } + + /** + * Fires a failover complete event to the registered connection listener (if any). + */ + public void fireFailoverComplete() + { + if (_connectionListener != null) + { + _connectionListener.failoverComplete(); + } + } + + /** + * In order to protect the consistency of the connection and its child sessions, consumers and producers, + * the "failover mutex" must be held when doing any operations that could be corrupted during failover. + * + * @return a mutex. Guaranteed never to change for the lifetime of this connection even if failover occurs. + */ + public final Object getFailoverMutex() + { + return _failoverMutex; + } + + /** + * If failover is taking place this will block until it has completed. If failover + * is not taking place it will return immediately. + * + * @throws InterruptedException + */ + public void blockUntilNotFailingOver() throws InterruptedException + { + _protocolHandler.blockUntilNotFailingOver(); + } + + /** + * Invoked by the AMQProtocolSession when a protocol session exception has occurred. + * This method sends the exception to a JMS exception listener, if configured, and + * propagates the exception to sessions, which in turn will propagate to consumers. + * This allows synchronous consumers to have exceptions thrown to them. + * + * @param cause the exception + */ + public void exceptionReceived(Throwable cause) + { + + _logger.debug("Connection Close done by:" + Thread.currentThread().getName()); + _logger.debug("exceptionReceived is ", cause); + + final JMSException je; + if (cause instanceof JMSException) + { + je = (JMSException) cause; + } + else + { + je = new JMSException("Exception thrown against " + toString() + ": " + cause); + if (cause instanceof Exception) + { + je.setLinkedException((Exception) cause); + } + } + + // in the case of an IOException, MINA has closed the protocol session so we set _closed to true + // so that any generic client code that tries to close the connection will not mess up this error + // handling sequence + if (cause instanceof IOException) + { + _closed.set(true); + } + + if (_exceptionListener != null) + { + _exceptionListener.onException(je); + } + + if (!(cause instanceof AMQUndeliveredException) && !(cause instanceof AMQAuthenticationException)) + { + try + { + _logger.info("Closing AMQConnection due to :" + cause.getMessage()); + _closed.set(true); + closeAllSessions(cause); // FIXME: when doing this end up with RejectedExecutionException from executor. + } + catch (JMSException e) + { + _logger.error("Error closing all sessions: " + e, e); + } + + } + else + { + _logger.info("Not a hard-error connection not closing."); + } + } + + void registerSession(int channelId, AMQSession session) + { + _sessions.put(channelId, session); + } + + void deregisterSession(int channelId) + { + _sessions.remove(channelId); + } + + /** + * For all sessions, and for all consumers in those sessions, resubscribe. This is called during failover handling. + * The caller must hold the failover mutex before calling this method. + */ + public void resubscribeSessions() throws AMQException + { + ArrayList sessions = new ArrayList(_sessions.values()); + _logger.info(MessageFormat.format("Resubscribing sessions = {0} sessions.size={1}", sessions, sessions.size())); // FIXME: remove? + for (Iterator it = sessions.iterator(); it.hasNext();) + { + AMQSession s = (AMQSession) it.next(); + _protocolHandler.addSessionByChannel(s.getChannelId(), s); + reopenChannel(s.getChannelId(), s.getDefaultPrefetch(), s.getTransacted()); + s.resubscribe(); + } + } + + public String toString() + { + StringBuffer buf = new StringBuffer("AMQConnection:\n"); + if (_failoverPolicy.getCurrentBrokerDetails() == null) + { + buf.append("No active broker connection"); + } + else + { + BrokerDetails bd = _failoverPolicy.getCurrentBrokerDetails(); + buf.append("Host: ").append(String.valueOf(bd.getHost())); + buf.append("\nPort: ").append(String.valueOf(bd.getPort())); + } + buf.append("\nVirtual Host: ").append(String.valueOf(_virtualHost)); + buf.append("\nClient ID: ").append(String.valueOf(_clientName)); + buf.append("\nActive session count: ").append(_sessions == null ? 0 : _sessions.size()); + return buf.toString(); + } + + public String toURL() + { + return _connectionURL.toString(); + } + + public Reference getReference() throws NamingException + { + return new Reference( + AMQConnection.class.getName(), + new StringRefAddr(AMQConnection.class.getName(), toURL()), + AMQConnectionFactory.class.getName(), + null); // factory location + } +} diff --git a/java/client/src/org/apache/qpid/client/AMQConnectionFactory.java b/java/client/src/org/apache/qpid/client/AMQConnectionFactory.java new file mode 100644 index 0000000000..05a484e366 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQConnectionFactory.java @@ -0,0 +1,358 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.AMQException; +import org.apache.qpid.url.AMQBindingURL; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.jms.ConnectionURL; + +import javax.jms.*; +import javax.jms.Connection; +import javax.naming.*; +import javax.naming.spi.ObjectFactory; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.Hashtable; + + +public class AMQConnectionFactory implements ConnectionFactory, QueueConnectionFactory, TopicConnectionFactory, ObjectFactory, Referenceable +{ + private String _host; + private int _port; + private String _defaultUsername; + private String _defaultPassword; + private String _virtualPath; + + private ConnectionURL _connectionDetails; + + + public AMQConnectionFactory() + { + } + + public AMQConnectionFactory(String url) throws URLSyntaxException + { + _connectionDetails = new AMQConnectionURL(url); + } + + public AMQConnectionFactory(ConnectionURL url) + { + _connectionDetails = url; + } + + public AMQConnectionFactory(String broker, String username, String password, + String clientName, String virtualHost) throws URLSyntaxException + { + this(new AMQConnectionURL(ConnectionURL.AMQ_PROTOCOL + "://" + + username + ":" + password + "@" + clientName + + virtualHost + "?brokerlist='" + broker + "'")); + } + + public AMQConnectionFactory(String host, int port, String virtualPath) + { + this(host, port, "guest", "guest", virtualPath); + } + + public AMQConnectionFactory(String host, int port, String defaultUsername, String defaultPassword, + String virtualPath) + { + _host = host; + _port = port; + _defaultUsername = defaultUsername; + _defaultPassword = defaultPassword; + _virtualPath = virtualPath; + +//todo when setting Host/Port has been resolved then we can use this otherwise those methods won't work with the following line. +// _connectionDetails = new AMQConnectionURL( +// ConnectionURL.AMQ_PROTOCOL + "://" + +// _defaultUsername + ":" + _defaultPassword + "@" + +// virtualPath + "?brokerlist='tcp://" + host + ":" + port + "'"); + } + + /** + * @return The _defaultPassword. + */ + public final String getDefaultPassword(String password) + { + if (_connectionDetails != null) + { + return _connectionDetails.getPassword(); + } + else + { + return _defaultPassword; + } + } + + /** + * @param password The _defaultPassword to set. + */ + public final void setDefaultPassword(String password) + { + if (_connectionDetails != null) + { + _connectionDetails.setPassword(password); + } + _defaultPassword = password; + } + + /** + * @return The _defaultPassword. + */ + public final String getDefaultUsername(String password) + { + if (_connectionDetails != null) + { + return _connectionDetails.getUsername(); + } + else + { + return _defaultUsername; + } + } + + /** + * @param username The _defaultUsername to set. + */ + public final void setDefaultUsername(String username) + { + if (_connectionDetails != null) + { + _connectionDetails.setUsername(username); + } + _defaultUsername = username; + } + + /** + * @return The _host . + */ + public final String getHost() + { + //todo this doesn't make sense in a multi broker URL as we have no current as that is done by AMQConnection + return _host; + } + + /** + * @param host The _host to set. + */ + public final void setHost(String host) + { + //todo if _connectionDetails is set then run _connectionDetails.addBrokerDetails() + // Should perhaps have this method changed to setBroker(host,port) + _host = host; + } + + /** + * @return _port The _port to set. + */ + public final int getPort() + { + //todo see getHost + return _port; + } + + /** + * @param port The port to set. + */ + public final void setPort(int port) + { + //todo see setHost + _port = port; + } + + /** + * @return he _virtualPath. + */ + public final String getVirtualPath() + { + if (_connectionDetails != null) + { + return _connectionDetails.getVirtualHost(); + } + else + { + return _virtualPath; + } + } + + /** + * @param path The _virtualPath to set. + */ + public final void setVirtualPath(String path) + { + if (_connectionDetails != null) + { + _connectionDetails.setVirtualHost(path); + } + + _virtualPath = path; + } + + static String getUniqueClientID() + { + try + { + InetAddress addr = InetAddress.getLocalHost(); + return addr.getHostName() + System.currentTimeMillis(); + } + catch (UnknownHostException e) + { + return null; + } + } + + public Connection createConnection() throws JMSException + { + try + { + if (_connectionDetails != null) + { + if (_connectionDetails.getClientName() == null || _connectionDetails.getClientName().equals("")) + { + _connectionDetails.setClientName(getUniqueClientID()); + } + return new AMQConnection(_connectionDetails); + } + else + { + return new AMQConnection(_host, _port, _defaultUsername, _defaultPassword, getUniqueClientID(), + _virtualPath); + } + } + catch (Exception e) + { + JMSException jmse = new JMSException("Error creating connection: " + e.getMessage()); + jmse.setLinkedException(e); + throw jmse; + } + + + } + + public Connection createConnection(String userName, String password) throws JMSException + { + try + { + return new AMQConnection(_host, _port, userName, password, getUniqueClientID(), _virtualPath); + } + catch (Exception e) + { + JMSException jmse = new JMSException("Error creating connection: " + e.getMessage()); + jmse.setLinkedException(e); + throw jmse; + } + } + + public QueueConnection createQueueConnection() throws JMSException + { + return (QueueConnection) createConnection(); + } + + public QueueConnection createQueueConnection(String username, String password) throws JMSException + { + return (QueueConnection) createConnection(username, password); + } + + public TopicConnection createTopicConnection() throws JMSException + { + return (TopicConnection) createConnection(); + } + + public TopicConnection createTopicConnection(String username, String password) throws JMSException + { + return (TopicConnection) createConnection(username, password); + } + + + public ConnectionURL getConnectionURL() + { + return _connectionDetails; + } + + /** + * JNDI interface to create objects from References. + * + * @param obj The Reference from JNDI + * @param name + * @param ctx + * @param env + * @return AMQConnection,AMQTopic,AMQQueue, or AMQConnectionFactory. + * @throws Exception + */ + public Object getObjectInstance(Object obj, Name name, Context ctx, + Hashtable env) throws Exception + { + if (obj instanceof Reference) + { + Reference ref = (Reference) obj; + + if (ref.getClassName().equals(AMQConnection.class.getName())) + { + RefAddr addr = ref.get(AMQConnection.class.getName()); + + if (addr != null) + { + return new AMQConnection((String) addr.getContent()); + } + } + + if (ref.getClassName().equals(AMQQueue.class.getName())) + { + RefAddr addr = ref.get(AMQQueue.class.getName()); + + if (addr != null) + { + return new AMQQueue(new AMQBindingURL((String) addr.getContent()).getQueueName()); + } + } + + if (ref.getClassName().equals(AMQTopic.class.getName())) + { + RefAddr addr = ref.get(AMQTopic.class.getName()); + + if (addr != null) + { + return new AMQTopic(new AMQBindingURL((String) addr.getContent()).getDestinationName()); + } + } + + if (ref.getClassName().equals(AMQConnectionFactory.class.getName())) + { + RefAddr addr = ref.get(AMQConnectionFactory.class.getName()); + + if (addr != null) + { + return new AMQConnectionFactory(new AMQConnectionURL((String) addr.getContent())); + } + } + + } + return null; + } + + + public Reference getReference() throws NamingException + { + return new Reference( + AMQConnectionFactory.class.getName(), + new StringRefAddr(AMQConnectionFactory.class.getName(), _connectionDetails.getURL()), + AMQConnectionFactory.class.getName(), + null); // factory location + } +} diff --git a/java/client/src/org/apache/qpid/client/AMQConnectionURL.java b/java/client/src/org/apache/qpid/client/AMQConnectionURL.java new file mode 100644 index 0000000000..b87388b9c8 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQConnectionURL.java @@ -0,0 +1,399 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.jms.BrokerDetails; +import org.apache.qpid.jms.ConnectionURL; +import org.apache.qpid.url.URLHelper; +import org.apache.qpid.url.URLSyntaxException; + +import java.util.*; +import java.net.URI; +import java.net.URISyntaxException; + +public class AMQConnectionURL implements ConnectionURL +{ + private String _url; + private String _failoverMethod; + private HashMap<String, String> _failoverOptions; + private HashMap<String, String> _options; + private List<BrokerDetails> _brokers; + private String _clientName; + private String _username; + private String _password; + private String _virtualHost; + + public AMQConnectionURL(String fullURL) throws URLSyntaxException + { + _url = fullURL; + _options = new HashMap<String, String>(); + _brokers = new LinkedList<BrokerDetails>(); + _failoverOptions = new HashMap<String, String>(); + + // Connection URL format + //amqp://[user:pass@][clientid]/virtualhost?brokerlist='tcp://host:port?option=\'value\',option=\'value\';vm://:3/virtualpath?option=\'value\'',failover='method?option=\'value\',option='value''" + // Options are of course optional except for requiring a single broker in the broker list. + try + { + URI connection = new URI(fullURL); + + if (connection.getScheme() == null || !(connection.getScheme().equalsIgnoreCase(AMQ_PROTOCOL))) + { + throw new URISyntaxException(fullURL, "Not an AMQP URL"); + } + + if (connection.getHost() == null || connection.getHost().equals("")) + { + String uid = AMQConnectionFactory.getUniqueClientID(); + if (uid == null) + { + URLHelper.parseError(-1, "Client Name not specified", fullURL); + } + else + { + setClientName(uid); + } + + } + else + { + setClientName(connection.getHost()); + } + + String userInfo = connection.getUserInfo(); + + if (userInfo == null) + { + //Fix for Java 1.5 which doesn't parse UserInfo for non http URIs + userInfo = connection.getAuthority(); + + if (userInfo != null) + { + int atIndex = userInfo.indexOf('@'); + + if (atIndex != -1) + { + userInfo = userInfo.substring(0, atIndex); + } + else + { + userInfo = null; + } + } + + } + + if (userInfo == null) + { + URLHelper.parseError(AMQ_PROTOCOL.length() + 3, + "User information not found on url", fullURL); + } + else + { + parseUserInfo(userInfo); + } + String virtualHost = connection.getPath(); + + if (virtualHost != null && (!virtualHost.equals(""))) + { + setVirtualHost(virtualHost); + } + else + { + int authLength = connection.getAuthority().length(); + int start = AMQ_PROTOCOL.length() + 3; + int testIndex = start + authLength; + if (testIndex < fullURL.length() && fullURL.charAt(testIndex) == '?') + { + URLHelper.parseError(start, testIndex - start, "Virtual host found", fullURL); + } + else + { + URLHelper.parseError(-1, "Virtual host not specified", fullURL); + } + + } + + + URLHelper.parseOptions(_options, connection.getQuery()); + + processOptions(); + + //Fragment is #string (not used) + //System.out.println(connection.getFragment()); + + } + catch (URISyntaxException uris) + { + if (uris instanceof URLSyntaxException) + { + throw (URLSyntaxException) uris; + } + + int slash = fullURL.indexOf("\\"); + + if (slash == -1) + { + URLHelper.parseError(uris.getIndex(), uris.getReason(), uris.getInput()); + } + else + { + if (slash != 0 && fullURL.charAt(slash - 1) == ':') + { + URLHelper.parseError(slash - 2, fullURL.indexOf('?') - slash + 2, "Virtual host looks like a windows path, forward slash not allowed in URL", fullURL); + } + else + { + URLHelper.parseError(slash, "Forward slash not allowed in URL", fullURL); + } + } + + } + } + + private void parseUserInfo(String userinfo) throws URLSyntaxException + { + //user info = user:pass + + int colonIndex = userinfo.indexOf(':'); + + if (colonIndex == -1) + { + URLHelper.parseError(AMQ_PROTOCOL.length() + 3, userinfo.length(), + "Null password in user information not allowed.", _url); + } + else + { + setUsername(userinfo.substring(0, colonIndex)); + setPassword(userinfo.substring(colonIndex + 1)); + } + + } + + private void processOptions() throws URLSyntaxException + { + if (_options.containsKey(OPTIONS_BROKERLIST)) + { + String brokerlist = _options.get(OPTIONS_BROKERLIST); + + //brokerlist tcp://host:port?option='value',option='value';vm://:3/virtualpath?option='value' + StringTokenizer st = new StringTokenizer(brokerlist, "" + URLHelper.BROKER_SEPARATOR); + + while (st.hasMoreTokens()) + { + String broker = st.nextToken(); + + _brokers.add(new AMQBrokerDetails(broker)); + } + + _options.remove(OPTIONS_BROKERLIST); + } + + if (_options.containsKey(OPTIONS_FAILOVER)) + { + String failover = _options.get(OPTIONS_FAILOVER); + + // failover='method?option='value',option='value'' + + int methodIndex = failover.indexOf('?'); + + if (methodIndex > -1) + { + _failoverMethod = failover.substring(0, methodIndex); + URLHelper.parseOptions(_failoverOptions, failover.substring(methodIndex + 1)); + } + else + { + _failoverMethod = failover; + } + + _options.remove(OPTIONS_FAILOVER); + } + } + + public String getURL() + { + return _url; + } + + public String getFailoverMethod() + { + return _failoverMethod; + } + + public String getFailoverOption(String key) + { + return _failoverOptions.get(key); + } + + public void setFailoverOption(String key, String value) + { + _failoverOptions.put(key, value); + } + + public int getBrokerCount() + { + return _brokers.size(); + } + + public BrokerDetails getBrokerDetails(int index) + { + if (index < _brokers.size()) + { + return _brokers.get(index); + } + else + { + return null; + } + } + + public void addBrokerDetails(BrokerDetails broker) + { + if (!(_brokers.contains(broker))) + { + _brokers.add(broker); + } + } + + public List<BrokerDetails> getAllBrokerDetails() + { + return _brokers; + } + + public String getClientName() + { + return _clientName; + } + + public void setClientName(String clientName) + { + _clientName = clientName; + } + + public String getUsername() + { + return _username; + } + + public void setUsername(String username) + { + _username = username; + } + + public String getPassword() + { + return _password; + } + + public void setPassword(String password) + { + _password = password; + } + + public String getVirtualHost() + { + return _virtualHost; + } + + public void setVirtualHost(String virtuaHost) + { + _virtualHost = virtuaHost; + } + + public String getOption(String key) + { + return _options.get(key); + } + + public void setOption(String key, String value) + { + _options.put(key, value); + } + + public String toString() + { + StringBuffer sb = new StringBuffer(); + + sb.append(AMQ_PROTOCOL); + sb.append("://"); + + if (_username != null) + { + sb.append(_username); + + if (_password != null) + { + sb.append(':'); + sb.append(_password); + } + + sb.append('@'); + } + + sb.append(_clientName); + + sb.append(_virtualHost); + + sb.append(optionsToString()); + + return sb.toString(); + } + + private String optionsToString() + { + StringBuffer sb = new StringBuffer(); + + sb.append("?" + OPTIONS_BROKERLIST + "='"); + + for (BrokerDetails service : _brokers) + { + sb.append(service.toString()); + sb.append(';'); + } + + sb.deleteCharAt(sb.length() - 1); + sb.append("'"); + + if (_failoverMethod != null) + { + sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR); + sb.append(OPTIONS_FAILOVER + "='"); + sb.append(_failoverMethod); + sb.append(URLHelper.printOptions(_failoverOptions)); + sb.append("'"); + } + + return sb.toString(); + } + + + public static void main(String[] args) throws URLSyntaxException + { + + String url2 = "amqp://ritchiem:bob@temp?brokerlist='tcp://localhost:5672;jcp://fancyserver:3000/',failover='roundrobin'"; + //"amqp://user:pass@clientid/virtualhost?brokerlist='tcp://host:1?option1=\'value\',option2=\'value\';vm://:3?option1=\'value\'',failover='method?option1=\'value\',option2='value''"; + + ConnectionURL connectionurl2 = new AMQConnectionURL(url2); + + System.out.println(url2); + System.out.println(connectionurl2); + + } + +} diff --git a/java/client/src/org/apache/qpid/client/AMQDestination.java b/java/client/src/org/apache/qpid/client/AMQDestination.java new file mode 100644 index 0000000000..5deb974c5b --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQDestination.java @@ -0,0 +1,282 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.url.BindingURL; +import org.apache.qpid.url.AMQBindingURL; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.url.URLHelper; +import org.apache.qpid.exchange.ExchangeDefaults; + +import javax.naming.Reference; +import javax.naming.NamingException; +import javax.naming.StringRefAddr; +import javax.naming.Referenceable; +import javax.jms.Destination; + + +public abstract class AMQDestination implements Destination, Referenceable +{ + protected final String _exchangeName; + + protected final String _exchangeClass; + + protected final String _destinationName; + + protected boolean _isDurable; + + protected final boolean _isExclusive; + + protected final boolean _isAutoDelete; + + protected String _queueName; + + protected AMQDestination(String url) throws URLSyntaxException + { + this(new AMQBindingURL(url)); + } + + protected AMQDestination(BindingURL binding) + { + _exchangeName = binding.getExchangeName(); + _exchangeClass = binding.getExchangeClass(); + _destinationName = binding.getDestinationName(); + + _isExclusive = Boolean.parseBoolean(binding.getOption(BindingURL.OPTION_EXCLUSIVE)); + _isAutoDelete = Boolean.parseBoolean(binding.getOption(BindingURL.OPTION_AUTODELETE)); + _isDurable = Boolean.parseBoolean(binding.getOption(BindingURL.OPTION_DURABLE)); + _queueName = binding.getQueueName(); + } + + protected AMQDestination(String exchangeName, String exchangeClass, String destinationName, String queueName) + { + this(exchangeName, exchangeClass, destinationName, false, false, queueName); + } + + protected AMQDestination(String exchangeName, String exchangeClass, String destinationName) + { + this(exchangeName, exchangeClass, destinationName, false, false, null); + } + + protected AMQDestination(String exchangeName, String exchangeClass, String destinationName, boolean isExclusive, + boolean isAutoDelete, String queueName) + { + if (destinationName == null) + { + throw new IllegalArgumentException("Destination name must not be null"); + } + if (exchangeName == null) + { + throw new IllegalArgumentException("Exchange name must not be null"); + } + if (exchangeClass == null) + { + throw new IllegalArgumentException("Exchange class must not be null"); + } + _exchangeName = exchangeName; + _exchangeClass = exchangeClass; + _destinationName = destinationName; + _isExclusive = isExclusive; + _isAutoDelete = isAutoDelete; + _queueName = queueName; + } + + public abstract String getEncodedName(); + + public boolean isDurable() + { + return _isDurable; + } + + public String getExchangeName() + { + return _exchangeName; + } + + public String getExchangeClass() + { + return _exchangeClass; + } + + public boolean isTopic() + { + return ExchangeDefaults.TOPIC_EXCHANGE_NAME.equals(_exchangeName); + } + + public boolean isQueue() + { + return ExchangeDefaults.DIRECT_EXCHANGE_NAME.equals(_exchangeName); + } + + public String getDestinationName() + { + return _destinationName; + } + + public String getQueueName() + { + return _queueName; + } + + public void setQueueName(String queueName) + { + _queueName = queueName; + } + + public abstract String getRoutingKey(); + + public boolean isExclusive() + { + return _isExclusive; + } + + public boolean isAutoDelete() + { + return _isAutoDelete; + } + + public abstract boolean isNameRequired(); + + public String toString() + { + return toURL(); + + /* + return "Destination: " + _destinationName + ", " + + "Queue Name: " + _queueName + ", Exchange: " + _exchangeName + + ", Exchange class: " + _exchangeClass + ", Exclusive: " + _isExclusive + + ", AutoDelete: " + _isAutoDelete + ", Routing Key: " + getRoutingKey(); + */ + } + + public String toURL() + { + StringBuffer sb = new StringBuffer(); + + sb.append(_exchangeClass); + sb.append("://"); + sb.append(_exchangeName); + + sb.append("/"); + + if (_destinationName != null) + { + sb.append(_destinationName); + } + + sb.append("/"); + + if (_queueName != null) + { + sb.append(_queueName); + } + + sb.append("?"); + + if (_isDurable) + { + sb.append(BindingURL.OPTION_DURABLE); + sb.append("='true'"); + sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR); + } + + if (_isExclusive) + { + sb.append(BindingURL.OPTION_EXCLUSIVE); + sb.append("='true'"); + sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR); + } + + if (_isAutoDelete) + { + sb.append(BindingURL.OPTION_AUTODELETE); + sb.append("='true'"); + sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR); + } + + //remove the last char '?' if there is no options , ',' if there are. + sb.deleteCharAt(sb.length() - 1); + + return sb.toString(); + } + + public boolean equals(Object o) + { + if (this == o) + { + return true; + } + if (o == null || getClass() != o.getClass()) + { + return false; + } + + final AMQDestination that = (AMQDestination) o; + + if (!_destinationName.equals(that._destinationName)) + { + return false; + } + if (!_exchangeClass.equals(that._exchangeClass)) + { + return false; + } + if (!_exchangeName.equals(that._exchangeName)) + { + return false; + } + if ((_queueName == null && that._queueName != null) || + (_queueName != null && !_queueName.equals(that._queueName))) + { + return false; + } + if (_isExclusive != that._isExclusive) + { + return false; + } + if (_isAutoDelete != that._isAutoDelete) + { + return false; + } + return true; + } + + public int hashCode() + { + int result; + result = _exchangeName.hashCode(); + result = 29 * result + _exchangeClass.hashCode(); + result = 29 * result + _destinationName.hashCode(); + if (_queueName != null) + { + result = 29 * result + _queueName.hashCode(); + } + result = result * (_isExclusive ? 13 : 7); + result = result * (_isAutoDelete ? 13 : 7); + return result; + } + + public Reference getReference() throws NamingException + { + return new Reference( + this.getClass().getName(), + new StringRefAddr(this.getClass().getName(), toURL()), + AMQConnectionFactory.class.getName(), + null); // factory location + } +} diff --git a/java/client/src/org/apache/qpid/client/AMQHeadersExchange.java b/java/client/src/org/apache/qpid/client/AMQHeadersExchange.java new file mode 100644 index 0000000000..5b8de7a13f --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQHeadersExchange.java @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.exchange.ExchangeDefaults; + +/** + * A destination backed by a headers exchange + */ +public class AMQHeadersExchange extends AMQDestination +{ + public AMQHeadersExchange(String queueName) + { + super(queueName, ExchangeDefaults.HEADERS_EXCHANGE_CLASS, queueName, true, true, null); + } + + public String getEncodedName() + { + return getDestinationName(); + } + + public String getRoutingKey() + { + return getDestinationName(); + } + + public boolean isNameRequired() + { + //Not sure what the best approach is here, probably to treat this like a topic + //and allow server to generate names. As it is AMQ specific it doesn't need to + //fit the JMS API expectations so this is not as yet critical. + return false; + } +} diff --git a/java/client/src/org/apache/qpid/client/AMQNoConsumersException.java b/java/client/src/org/apache/qpid/client/AMQNoConsumersException.java new file mode 100644 index 0000000000..19d4da0b8c --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQNoConsumersException.java @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.AMQUndeliveredException; +import org.apache.qpid.protocol.AMQConstant; + + +public class AMQNoConsumersException extends AMQUndeliveredException +{ + public AMQNoConsumersException(String msg, Object bounced) + { + super(AMQConstant.NO_CONSUMERS.getCode(), msg, bounced); + } + + +} + + diff --git a/java/client/src/org/apache/qpid/client/AMQNoRouteException.java b/java/client/src/org/apache/qpid/client/AMQNoRouteException.java new file mode 100644 index 0000000000..ad885bcbb3 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQNoRouteException.java @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.AMQUndeliveredException; +import org.apache.qpid.protocol.AMQConstant; + + +public class AMQNoRouteException extends AMQUndeliveredException +{ + public AMQNoRouteException(String msg, Object bounced) + { + super(AMQConstant.NO_ROUTE.getCode(), msg, bounced); + } + + +} + + diff --git a/java/client/src/org/apache/qpid/client/AMQQueue.java b/java/client/src/org/apache/qpid/client/AMQQueue.java new file mode 100644 index 0000000000..0a8e1bdd7c --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQQueue.java @@ -0,0 +1,91 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.url.BindingURL; +import org.apache.qpid.exchange.ExchangeDefaults; + +import javax.jms.Queue; + +public class AMQQueue extends AMQDestination implements Queue +{ + + /** + * Create a reference to a non temporary queue using a BindingURL object. + * Note this does not actually imply the queue exists. + * @param binding a BindingURL object + */ + public AMQQueue(BindingURL binding) + { + super(binding); + } + + /** + * Create a reference to a non temporary queue. Note this does not actually imply the queue exists. + * @param name the name of the queue + */ + public AMQQueue(String name) + { + this(name, false); + } + + /** + * Create a queue with a specified name. + * + * @param name the destination name (used in the routing key) + * @param temporary if true the broker will generate a queue name, also if true then the queue is autodeleted + * and exclusive + */ + public AMQQueue(String name, boolean temporary) + { + // queue name is set to null indicating that the broker assigns a name in the case of temporary queues + // temporary queues are typically used as response queues + this(name, temporary?null:name, temporary, temporary); + _isDurable = !temporary; + } + + /** + * Create a reference to a queue. Note this does not actually imply the queue exists. + * @param destinationName the queue name + * @param queueName the queue name + * @param exclusive true if the queue should only permit a single consumer + * @param autoDelete true if the queue should be deleted automatically when the last consumers detaches + */ + public AMQQueue(String destinationName, String queueName, boolean exclusive, boolean autoDelete) + { + super(ExchangeDefaults.DIRECT_EXCHANGE_NAME, ExchangeDefaults.DIRECT_EXCHANGE_CLASS, destinationName, exclusive, + autoDelete, queueName); + } + + public String getEncodedName() + { + return 'Q' + getQueueName(); + } + + public String getRoutingKey() + { + return getQueueName(); + } + + public boolean isNameRequired() + { + //If the name is null, we require one to be generated by the client so that it will# + //remain valid if we failover (see BLZ-24) + return getQueueName() == null; + } +} diff --git a/java/client/src/org/apache/qpid/client/AMQSession.java b/java/client/src/org/apache/qpid/client/AMQSession.java new file mode 100644 index 0000000000..6fd4e9cbef --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQSession.java @@ -0,0 +1,1149 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.AMQUndeliveredException; +import org.apache.qpid.client.message.AbstractJMSMessage; +import org.apache.qpid.client.message.MessageFactoryRegistry; +import org.apache.qpid.client.message.UnprocessedMessage; +import org.apache.qpid.client.protocol.AMQProtocolHandler; +import org.apache.qpid.client.failover.FailoverSupport; +import org.apache.qpid.client.util.FlowControllingBlockingQueue; +import org.apache.qpid.framing.*; +import org.apache.qpid.jms.Session; +import org.apache.qpid.protocol.AMQConstant; +import org.apache.qpid.url.AMQBindingURL; +import org.apache.qpid.url.URLSyntaxException; + +import javax.jms.*; +import javax.jms.IllegalStateException; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicBoolean; +import java.text.MessageFormat; + +public class AMQSession extends Closeable implements Session, QueueSession, TopicSession +{ + private static final Logger _logger = Logger.getLogger(AMQSession.class); + + public static final int DEFAULT_PREFETCH = 5000; + + private AMQConnection _connection; + + private boolean _transacted; + + private int _acknowledgeMode; + + private int _channelId; + + private int _defaultPrefetch = DEFAULT_PREFETCH; + + /** + * Used in the consume method. We generate the consume tag on the client so that we can use the nowait + * feature. + */ + private int _nextTag = 1; + + /** + * This queue is bounded and is used to store messages before being dispatched to the consumer + */ + private final FlowControllingBlockingQueue _queue; + + private Dispatcher _dispatcher; + + private MessageFactoryRegistry _messageFactoryRegistry; + + /** + * Set of all producers created by this session + */ + private Map _producers = new ConcurrentHashMap(); + + /** + * Maps from consumer tag (String) to JMSMessageConsumer instance + */ + private Map _consumers = new ConcurrentHashMap(); + + /** + * Default value for immediate flag used by producers created by this session is false, i.e. a consumer does not + * need to be attached to a queue + */ + protected static final boolean DEFAULT_IMMEDIATE = false; + + /** + * Default value for mandatory flag used by producers created by this sessio is true, i.e. server will not silently + * drop messages where no queue is connected to the exchange for the message + */ + protected static final boolean DEFAULT_MANDATORY = true; + + /** + * The counter of the next producer id. This id is generated by the session and used only to allow the + * producer to identify itself to the session when deregistering itself. + * + * Access to this id does not require to be synchronized since according to the JMS specification only one + * thread of control is allowed to create producers for any given session instance. + */ + private long _nextProducerId; + + /** + * Track the 'stopped' state of the dispatcher, a session starts in the stopped state. + */ + private volatile AtomicBoolean _stopped = new AtomicBoolean(true); + + /** + * Responsible for decoding a message fragment and passing it to the appropriate message consumer. + */ + private class Dispatcher extends Thread + { + public Dispatcher() + { + super("Dispatcher-Channel-" + _channelId); + } + + public void run() + { + UnprocessedMessage message; + _stopped.set(false); + try + { + while (!_stopped.get() && (message = (UnprocessedMessage)_queue.take()) != null) + { + dispatchMessage(message); + } + } + catch(InterruptedException e) + { + ; + } + + _logger.info("Dispatcher thread terminating for channel " + _channelId); + } + + private void dispatchMessage(UnprocessedMessage message) + { + if (message.deliverBody != null) + { + final BasicMessageConsumer consumer = (BasicMessageConsumer) _consumers.get(message.deliverBody.consumerTag); + + if (consumer == null) + { + _logger.warn("Received a message from queue " + message.deliverBody.consumerTag + " without a handler - ignoring..."); + } + else + { + consumer.notifyMessage(message, _channelId); + } + } + else + { + try + { + // Bounced message is processed here, away from the mina thread + AbstractJMSMessage bouncedMessage = _messageFactoryRegistry.createMessage(0, + false, + message.contentHeader, + message.bodies); + + int errorCode = message.bounceBody.replyCode; + String reason = message.bounceBody.replyText; + _logger.debug("Message returned with error code " + errorCode + " (" + reason + ")"); + + //Todo should this be moved to an exception handler of sorts. Somewhere errors are converted to correct execeptions. + if (errorCode == AMQConstant.NO_CONSUMERS.getCode()) + { + _connection.exceptionReceived(new AMQNoConsumersException("Error: " + reason, bouncedMessage)); + } + else + { + if (errorCode == AMQConstant.NO_ROUTE.getCode()) + { + _connection.exceptionReceived(new AMQNoRouteException("Error: " + reason, bouncedMessage)); + } + else + { + _connection.exceptionReceived(new AMQUndeliveredException(errorCode, "Error: " + reason, bouncedMessage)); + } + } + } + catch (Exception e) + { + _logger.error("Caught exception trying to raise undelivered message exception (dump follows) - ignoring...", e); + } + } + } + + public void stopDispatcher() + { + _stopped.set(true); + interrupt(); + } + } + + AMQSession(AMQConnection con, int channelId, boolean transacted, int acknowledgeMode, + MessageFactoryRegistry messageFactoryRegistry) + { + this(con, channelId, transacted, acknowledgeMode, messageFactoryRegistry, DEFAULT_PREFETCH); + } + + AMQSession(AMQConnection con, int channelId, boolean transacted, int acknowledgeMode, + MessageFactoryRegistry messageFactoryRegistry, int defaultPrefetch) + { + _connection = con; + _transacted = transacted; + if (transacted) + { + _acknowledgeMode = javax.jms.Session.SESSION_TRANSACTED; + } + else + { + _acknowledgeMode = acknowledgeMode; + } + _channelId = channelId; + _messageFactoryRegistry = messageFactoryRegistry; + _defaultPrefetch = defaultPrefetch; + _queue = new FlowControllingBlockingQueue(_defaultPrefetch, + new FlowControllingBlockingQueue.ThresholdListener() + { + public void aboveThreshold(int currentValue) + { + if(_acknowledgeMode == NO_ACKNOWLEDGE) + { + _logger.warn("Above threshold so suspending channel. Current value is " + currentValue); + suspendChannel(); + } + } + + public void underThreshold(int currentValue) + { + if(_acknowledgeMode == NO_ACKNOWLEDGE) + { + _logger.warn("Below threshold so unsuspending channel. Current value is " + currentValue); + unsuspendChannel(); + } + } + }); + } + + AMQSession(AMQConnection con, int channelId, boolean transacted, int acknowledgeMode) + { + this(con, channelId, transacted, acknowledgeMode, MessageFactoryRegistry.newDefaultRegistry()); + } + + AMQSession(AMQConnection con, int channelId, boolean transacted, int acknowledgeMode, int defaultPrefetch) + { + this(con, channelId, transacted, acknowledgeMode, MessageFactoryRegistry.newDefaultRegistry(), defaultPrefetch); + } + + AMQConnection getAMQConnection() + { + return _connection; + } + + public BytesMessage createBytesMessage() throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + checkNotClosed(); + try + { + return (BytesMessage) _messageFactoryRegistry.createMessage("application/octet-stream"); + } + catch (AMQException e) + { + throw new JMSException("Unable to create message: " + e); + } + } + } + + public MapMessage createMapMessage() throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + checkNotClosed(); + try + { + return (MapMessage) _messageFactoryRegistry.createMessage("jms/map-message"); + } + catch (AMQException e) + { + throw new JMSException("Unable to create message: " + e); + } + } + } + + public javax.jms.Message createMessage() throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + checkNotClosed(); + try + { + return (BytesMessage) _messageFactoryRegistry.createMessage("application/octet-stream"); + } + catch (AMQException e) + { + throw new JMSException("Unable to create message: " + e); + } + } + } + + public ObjectMessage createObjectMessage() throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + checkNotClosed(); + try + { + return (ObjectMessage) _messageFactoryRegistry.createMessage("application/java-object-stream"); + } + catch (AMQException e) + { + throw new JMSException("Unable to create message: " + e); + } + } + } + + public ObjectMessage createObjectMessage(Serializable object) throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + checkNotClosed(); + try + { + ObjectMessage msg = (ObjectMessage) _messageFactoryRegistry.createMessage("application/java-object-stream"); + msg.setObject(object); + return msg; + } + catch (AMQException e) + { + throw new JMSException("Unable to create message: " + e); + } + } + } + + public StreamMessage createStreamMessage() throws JMSException + { + checkNotClosed(); + throw new UnsupportedOperationException("Stream messages not supported"); + } + + public TextMessage createTextMessage() throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + checkNotClosed(); + + try + { + return (TextMessage) _messageFactoryRegistry.createMessage("text/plain"); + } + catch (AMQException e) + { + throw new JMSException("Unable to create message: " + e); + } + } + } + + public TextMessage createTextMessage(String text) throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + checkNotClosed(); + try + { + TextMessage msg = (TextMessage) _messageFactoryRegistry.createMessage("text/plain"); + msg.setText(text); + return msg; + } + catch (AMQException e) + { + throw new JMSException("Unable to create message: " + e); + } + } + } + + public boolean getTransacted() + { + checkNotClosed(); + return _transacted; + } + + public int getAcknowledgeMode() throws JMSException + { + checkNotClosed(); + return _acknowledgeMode; + } + + public void commit() throws JMSException + { + checkTransacted(); + try + { + // Acknowledge up to message last delivered (if any) for each consumer. + //need to send ack for messages delivered to consumers so far + for(Iterator i = _consumers.values().iterator(); i.hasNext();) + { + ((BasicMessageConsumer) i.next()).acknowledgeLastDelivered(); + } + + // Commits outstanding messages sent and outstanding acknowledgements. + _connection.getProtocolHandler().syncWrite(TxCommitBody.createAMQFrame(_channelId), TxCommitOkBody.class); + } + catch (AMQException e) + { + JMSException exception = new JMSException("Failed to commit: " + e.getMessage()); + exception.setLinkedException(e); + throw exception; + } + } + + public void rollback() throws JMSException + { + checkTransacted(); + try + { + _connection.getProtocolHandler().syncWrite( + TxRollbackBody.createAMQFrame(_channelId), TxRollbackOkBody.class); + } + catch (AMQException e) + { + throw (JMSException) (new JMSException("Failed to rollback: " + e).initCause(e)); + } + } + + public void close() throws JMSException + { + // We must close down all producers and consumers in an orderly fashion. This is the only method + // that can be called from a different thread of control from the one controlling the session + synchronized (_connection.getFailoverMutex()) + { + _closed.set(true); + + // we pass null since this is not an error case + closeProducersAndConsumers(null); + + try + { + _connection.getProtocolHandler().closeSession(this); + final AMQFrame frame = ChannelCloseBody.createAMQFrame( + getChannelId(), AMQConstant.REPLY_SUCCESS.getCode(), "JMS client closing channel", 0, 0); + _connection.getProtocolHandler().syncWrite(frame, ChannelCloseOkBody.class); + // When control resumes at this point, a reply will have been received that + // indicates the broker has closed the channel successfully + + } + catch (AMQException e) + { + throw new JMSException("Error closing session: " + e); + } + finally + { + _connection.deregisterSession(_channelId); + } + } + } + + /** + * Close all producers or consumers. This is called either in the error case or when closing the session normally. + * @param amqe the exception, may be null to indicate no error has occurred + */ + private void closeProducersAndConsumers(AMQException amqe) + { + try + { + closeProducers(); + } + catch (JMSException e) + { + _logger.error("Error closing session: " + e, e); + } + try + { + closeConsumers(amqe); + } + catch (JMSException e) + { + _logger.error("Error closing session: " + e, e); + } + } + + /** + * Called when the server initiates the closure of the session + * unilaterally. + * @param e the exception that caused this session to be closed. Null causes the + */ + public void closed(Throwable e) + { + synchronized (_connection.getFailoverMutex()) + { + // An AMQException has an error code and message already and will be passed in when closure occurs as a + // result of a channel close request + _closed.set(true); + AMQException amqe; + if (e instanceof AMQException) + { + amqe = (AMQException) e; + } + else + { + amqe = new AMQException(_logger, "Closing session forcibly", e); + } + _connection.deregisterSession(_channelId); + closeProducersAndConsumers(amqe); + } + } + + /** + * Called to mark the session as being closed. Useful when the session needs to be made invalid, e.g. after + * failover when the client has veoted resubscription. + * + * The caller of this method must already hold the failover mutex. + */ + void markClosed() + { + _closed.set(true); + _connection.deregisterSession(_channelId); + markClosedProducersAndConsumers(); + } + + private void markClosedProducersAndConsumers() + { + try + { + // no need for a markClosed* method in this case since there is no protocol traffic closing a producer + closeProducers(); + } + catch (JMSException e) + { + _logger.error("Error closing session: " + e, e); + } + try + { + markClosedConsumers(); + } + catch (JMSException e) + { + _logger.error("Error closing session: " + e, e); + } + } + + /** + * Called to close message producers cleanly. This may or may <b>not</b> be as a result of an error. There is + * currently no way of propagating errors to message producers (this is a JMS limitation). + */ + private void closeProducers() throws JMSException + { + // we need to clone the list of producers since the close() method updates the _producers collection + // which would result in a concurrent modification exception + final ArrayList clonedProducers = new ArrayList(_producers.values()); + + final Iterator it = clonedProducers.iterator(); + while (it.hasNext()) + { + final BasicMessageProducer prod = (BasicMessageProducer) it.next(); + prod.close(); + } + // at this point the _producers map is empty + } + + /** + * Called to close message consumers cleanly. This may or may <b>not</b> be as a result of an error. + * @param error not null if this is a result of an error occurring at the connection level + */ + private void closeConsumers(Throwable error) throws JMSException + { + if (_dispatcher != null) + { + _dispatcher.stopDispatcher(); + } + // we need to clone the list of consumers since the close() method updates the _consumers collection + // which would result in a concurrent modification exception + final ArrayList clonedConsumers = new ArrayList(_consumers.values()); + + final Iterator it = clonedConsumers.iterator(); + while (it.hasNext()) + { + final BasicMessageConsumer con = (BasicMessageConsumer) it.next(); + if (error != null) + { + con.notifyError(error); + } + else + { + con.close(); + } + } + // at this point the _consumers map will be empty + } + + private void markClosedConsumers() throws JMSException + { + if (_dispatcher != null) + { + _dispatcher.stopDispatcher(); + } + // we need to clone the list of consumers since the close() method updates the _consumers collection + // which would result in a concurrent modification exception + final ArrayList clonedConsumers = new ArrayList(_consumers.values()); + + final Iterator it = clonedConsumers.iterator(); + while (it.hasNext()) + { + final BasicMessageConsumer con = (BasicMessageConsumer) it.next(); + con.markClosed(); + } + // at this point the _consumers map will be empty + } + + /** + * Asks the broker to resend all unacknowledged messages for the session. + * @throws JMSException + */ + public void recover() throws JMSException + { + checkNotClosed(); + checkNotTransacted(); // throws IllegalStateException if a transacted session + + _connection.getProtocolHandler().writeFrame(BasicRecoverBody.createAMQFrame(_channelId, false)); + } + + public MessageListener getMessageListener() throws JMSException + { + checkNotClosed(); + throw new java.lang.UnsupportedOperationException("MessageListener interface not supported"); + } + + public void setMessageListener(MessageListener listener) throws JMSException + { + checkNotClosed(); + throw new java.lang.UnsupportedOperationException("MessageListener interface not supported"); + } + + public void run() + { + throw new java.lang.UnsupportedOperationException(); + } + + public MessageProducer createProducer(Destination destination, boolean mandatory, + boolean immediate, boolean waitUntilSent) + throws JMSException + { + return createProducerImpl(destination, mandatory, immediate, waitUntilSent); + } + + public MessageProducer createProducer(Destination destination, boolean mandatory, boolean immediate) + throws JMSException + { + return createProducerImpl(destination, mandatory, immediate); + } + + public MessageProducer createProducer(Destination destination, boolean immediate) + throws JMSException + { + return createProducerImpl(destination, DEFAULT_MANDATORY, immediate); + } + + public MessageProducer createProducer(Destination destination) throws JMSException + { + return createProducerImpl(destination, DEFAULT_MANDATORY, DEFAULT_IMMEDIATE); + } + + private org.apache.qpid.jms.MessageProducer createProducerImpl(Destination destination, boolean mandatory, + boolean immediate) + throws JMSException + { + return createProducerImpl(destination, mandatory, immediate, false); + } + + private org.apache.qpid.jms.MessageProducer createProducerImpl(final Destination destination, final boolean mandatory, + final boolean immediate, final boolean waitUntilSent) + throws JMSException + { + return (org.apache.qpid.jms.MessageProducer) new FailoverSupport() + { + public Object operation() + { + checkNotClosed(); + + return new BasicMessageProducer(_connection, (AMQDestination)destination, _transacted, _channelId, + AMQSession.this, _connection.getProtocolHandler(), + getNextProducerId(), immediate, mandatory, waitUntilSent); + } + }.execute(_connection); + } + + public MessageConsumer createConsumer(Destination destination) throws JMSException + { + return createConsumer(destination, _defaultPrefetch, false, false, null); + } + + public MessageConsumer createConsumer(Destination destination, String messageSelector) throws JMSException + { + return createConsumer(destination, _defaultPrefetch, false, false, messageSelector); + } + + public MessageConsumer createConsumer(Destination destination, String messageSelector, boolean noLocal) + throws JMSException + { + return createConsumer(destination, _defaultPrefetch, noLocal, false, messageSelector); + } + + public MessageConsumer createConsumer(Destination destination, + int prefetch, + boolean noLocal, + boolean exclusive, + String selector) throws JMSException + { + return createConsumer(destination, prefetch, noLocal, exclusive, selector, null); + } + + public MessageConsumer createConsumer(Destination destination, + int prefetch, + boolean noLocal, + boolean exclusive, + String selector, + FieldTable rawSelector) throws JMSException + { + return createConsumerImpl(destination, prefetch, noLocal, exclusive, + selector, rawSelector); + } + + protected MessageConsumer createConsumerImpl(final Destination destination, + final int prefetch, + final boolean noLocal, + final boolean exclusive, + final String selector, + final FieldTable rawSelector) throws JMSException + { + return (org.apache.qpid.jms.MessageConsumer) new FailoverSupport() + { + public Object operation() throws JMSException + { + checkNotClosed(); + + AMQDestination amqd = (AMQDestination)destination; + + final AMQProtocolHandler protocolHandler = _connection.getProtocolHandler(); + // TODO: construct the rawSelector from the selector string if rawSelector == null + final FieldTable ft = new FieldTable(); + //if (rawSelector != null) + // ft.put("headers", rawSelector.getDataAsBytes()); + if (rawSelector != null) + { + ft.putAll(rawSelector); + } + BasicMessageConsumer consumer = new BasicMessageConsumer(_channelId, _connection, amqd, selector, noLocal, + _messageFactoryRegistry, AMQSession.this, + protocolHandler, ft, prefetch, exclusive, + _acknowledgeMode); + + try + { + registerConsumer(consumer); + } + catch (AMQException e) + { + JMSException ex = new JMSException("Error registering consumer: " + e); + ex.setLinkedException(e); + throw ex; + } + + return consumer; + } + }.execute(_connection); + } + + public void declareExchange(String name, String type) + { + declareExchange(name, type, _connection.getProtocolHandler()); + } + + private void declareExchange(AMQDestination amqd, AMQProtocolHandler protocolHandler) + { + declareExchange(amqd.getExchangeName(), amqd.getExchangeClass(), protocolHandler); + } + + private void declareExchange(String name, String type, AMQProtocolHandler protocolHandler) + { + AMQFrame exchangeDeclare = ExchangeDeclareBody.createAMQFrame(_channelId, 0, name, type, false, false, false, false, true, null); + protocolHandler.writeFrame(exchangeDeclare); + } + + /** + * Declare the queue. + * @param amqd + * @param protocolHandler + * @return the queue name. This is useful where the broker is generating a queue name on behalf of the client. + * @throws AMQException + */ + private String declareQueue(AMQDestination amqd, AMQProtocolHandler protocolHandler) throws AMQException + { + // For queues (but not topics) we generate the name in the client rather than the + // server. This allows the name to be reused on failover if required. In general, + // the destination indicates whether it wants a name generated or not. + if(amqd.isNameRequired()) + { + amqd.setQueueName(protocolHandler.generateQueueName()); + } + + AMQFrame queueDeclare = QueueDeclareBody.createAMQFrame(_channelId, 0, amqd.getQueueName(), + false, amqd.isDurable(), amqd.isExclusive(), + amqd.isAutoDelete(), true, null); + + protocolHandler.writeFrame(queueDeclare); + return amqd.getQueueName(); + } + + private void bindQueue(AMQDestination amqd, String queueName, AMQProtocolHandler protocolHandler, FieldTable ft) throws AMQException + { + AMQFrame queueBind = QueueBindBody.createAMQFrame(_channelId, 0, + queueName, amqd.getExchangeName(), + amqd.getRoutingKey(), true, ft); + + protocolHandler.writeFrame(queueBind); + } + + /** + * Register to consume from the queue. + * @param queueName + * @return the consumer tag generated by the broker + */ + private String consumeFromQueue(String queueName, AMQProtocolHandler protocolHandler, int prefetch, + boolean noLocal, boolean exclusive, int acknowledgeMode) throws AMQException + { + //need to generate a consumer tag on the client so we can exploit the nowait flag + String tag = Integer.toString(_nextTag++); + + AMQFrame jmsConsume = BasicConsumeBody.createAMQFrame(_channelId, 0, + queueName, tag, noLocal, + acknowledgeMode == Session.NO_ACKNOWLEDGE, + exclusive, true); + + protocolHandler.writeFrame(jmsConsume); + return tag; + } + + public Queue createQueue(String queueName) throws JMSException + { + if (queueName.indexOf('/') == -1) + { + return new AMQQueue(queueName); + } + else + { + try{ + return new AMQQueue(new AMQBindingURL(queueName)); + }catch(URLSyntaxException urlse) + { + JMSException jmse = new JMSException(urlse.getReason()); + jmse.setLinkedException(urlse); + + throw jmse; + } + } + } + + public QueueReceiver createReceiver(Queue queue) throws JMSException + { + return (QueueReceiver) createConsumer(queue); + } + + public QueueReceiver createReceiver(Queue queue, String messageSelector) throws JMSException + { + return (QueueReceiver) createConsumer(queue, messageSelector); + } + + public QueueSender createSender(Queue queue) throws JMSException + { + return (QueueSender) createProducer(queue); + } + + public Topic createTopic(String topicName) throws JMSException + { + if (topicName.indexOf('/') == -1) + { + return new AMQTopic(topicName); + } + else + { + try{ + return new AMQTopic(new AMQBindingURL(topicName)); + } + catch (URLSyntaxException urlse) + { + JMSException jmse = new JMSException(urlse.getReason()); + jmse.setLinkedException(urlse); + + throw jmse; + } + } + } + + public TopicSubscriber createSubscriber(Topic topic) throws JMSException + { + return (TopicSubscriber) createConsumer(topic); + } + + public TopicSubscriber createSubscriber(Topic topic, String messageSelector, boolean noLocal) throws JMSException + { + return (TopicSubscriber) createConsumer(topic, messageSelector, noLocal); + } + + /** + * Note, currently this does not handle reuse of the same name with different topics correctly. + * If a name is reused in creating a new subscriber with a different topic/selecto or no-local + * flag then the subcriber will receive messages matching the old subscription AND the new one. + * The spec states that the new one should replace the old one. + * TODO: fix it. + */ + public TopicSubscriber createDurableSubscriber(Topic topic, String name) throws JMSException + { + AMQTopic dest = new AMQTopic((AMQTopic) topic, _connection.getClientID(), name); + return new TopicSubscriberAdaptor(dest, (BasicMessageConsumer) createConsumer(dest)); + } + + /** + * Note, currently this does not handle reuse of the same name with different topics correctly. + */ + public TopicSubscriber createDurableSubscriber(Topic topic, String name, String messageSelector, boolean noLocal) + throws JMSException + { + AMQTopic dest = new AMQTopic((AMQTopic) topic, _connection.getClientID(), name); + BasicMessageConsumer consumer = (BasicMessageConsumer) createConsumer(dest, messageSelector, noLocal); + return new TopicSubscriberAdaptor(dest, consumer); + } + + public TopicPublisher createPublisher(Topic topic) throws JMSException + { + return (TopicPublisher) createProducer(topic); + } + + public QueueBrowser createBrowser(Queue queue) throws JMSException + { + throw new UnsupportedOperationException("Queue browsing not supported"); + } + + public QueueBrowser createBrowser(Queue queue, String messageSelector) throws JMSException + { + throw new UnsupportedOperationException("Queue browsing not supported"); + } + + public TemporaryQueue createTemporaryQueue() throws JMSException + { + return new AMQTemporaryQueue(); + } + + public TemporaryTopic createTemporaryTopic() throws JMSException + { + return new AMQTemporaryTopic(); + } + + public void unsubscribe(String name) throws JMSException + { + //send a queue.delete for the subscription + String queue = _connection.getClientID() + ":" + name; + AMQFrame frame = QueueDeleteBody.createAMQFrame(_channelId, 0, queue, false, false, true); + _connection.getProtocolHandler().writeFrame(frame); + } + + private void checkTransacted() throws JMSException + { + if (!getTransacted()) + { + throw new IllegalStateException("Session is not transacted"); + } + } + + private void checkNotTransacted() throws JMSException + { + if (getTransacted()) + { + throw new IllegalStateException("Session is transacted"); + } + } + + /** + * Invoked by the MINA IO thread (indirectly) when a message is received from the transport. + * Puts the message onto the queue read by the dispatcher. + * + * @param message the message that has been received + */ + public void messageReceived(UnprocessedMessage message) + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Message received in session with channel id " + _channelId); + } + + _queue.add(message); + } + + /** + * Acknowledge a message or several messages. This method can be called via AbstractJMSMessage or from + * a BasicConsumer. The former where the mode is CLIENT_ACK and the latter where the mode is + * AUTO_ACK or similar. + * @param deliveryTag the tag of the last message to be acknowledged + * @param multiple if true will acknowledge all messages up to and including the one specified by the + * delivery tag + */ + public void acknowledgeMessage(long deliveryTag, boolean multiple) + { + final AMQFrame ackFrame = BasicAckBody.createAMQFrame(_channelId, deliveryTag, multiple); + if (_logger.isDebugEnabled()) + { + _logger.debug("Sending ack for delivery tag " + deliveryTag + " on channel " + _channelId); + } + _connection.getProtocolHandler().writeFrame(ackFrame); + } + + public int getDefaultPrefetch() + { + return _defaultPrefetch; + } + + public int getChannelId() + { + return _channelId; + } + + void start() + { + if(_dispatcher != null) + { + //then we stopped this and are restarting, so signal server to resume delivery + unsuspendChannel(); + } + _dispatcher = new Dispatcher(); + _dispatcher.setDaemon(true); + _dispatcher.start(); + } + + void stop() + { + //stop the server delivering messages to this session + suspendChannel(); + + //stop the dispatcher thread + _stopped.set(true); + } + + boolean isStopped() + { + return _stopped.get(); + } + + /** + * Callers must hold the failover mutex before calling this method. + * @param consumer + * @throws AMQException + */ + void registerConsumer(BasicMessageConsumer consumer) throws AMQException + { + AMQDestination amqd = consumer.getDestination(); + + AMQProtocolHandler protocolHandler = _connection.getProtocolHandler(); + + declareExchange(amqd, protocolHandler); + + String queueName = declareQueue(amqd, protocolHandler); + + bindQueue(amqd, queueName, protocolHandler, consumer.getRawSelectorFieldTable()); + + String consumerTag = consumeFromQueue(queueName, protocolHandler, consumer.getPrefetch(), consumer.isNoLocal(), + consumer.isExclusive(), consumer.getAcknowledgeMode()); + + consumer.setConsumerTag(consumerTag); + _consumers.put(consumerTag, consumer); + } + + /** + * Called by the MessageConsumer when closing, to deregister the consumer from the + * map from consumerTag to consumer instance. + * @param consumerTag the consumer tag, that was broker-generated + */ + void deregisterConsumer(String consumerTag) + { + _consumers.remove(consumerTag); + } + + private void registerProducer(long producerId, MessageProducer producer) + { + _producers.put(new Long(producerId), producer); + } + + void deregisterProducer(long producerId) + { + _producers.remove(new Long(producerId)); + } + + private long getNextProducerId() + { + return ++_nextProducerId; + } + + /** + * Resubscribes all producers and consumers. This is called when performing failover. + * @throws AMQException + */ + void resubscribe() throws AMQException + { + resubscribeProducers(); + resubscribeConsumers(); + } + + private void resubscribeProducers() throws AMQException + { + ArrayList producers = new ArrayList(_producers.values()); + _logger.info(MessageFormat.format("Resubscribing producers = {0} producers.size={1}", producers, producers.size())); // FIXME: remove + for (Iterator it = producers.iterator(); it.hasNext();) + { + BasicMessageProducer producer = (BasicMessageProducer) it.next(); + producer.resubscribe(); + } + } + + private void resubscribeConsumers() throws AMQException + { + ArrayList consumers = new ArrayList(_consumers.values()); + _consumers.clear(); + + for (Iterator it = consumers.iterator(); it.hasNext();) + { + BasicMessageConsumer consumer = (BasicMessageConsumer) it.next(); + registerConsumer(consumer); + } + } + + private void suspendChannel() + { + _logger.warn("Suspending channel"); + AMQFrame channelFlowFrame = ChannelFlowBody.createAMQFrame(_channelId, false); + _connection.getProtocolHandler().writeFrame(channelFlowFrame); + } + + private void unsuspendChannel() + { + _logger.warn("Unsuspending channel"); + AMQFrame channelFlowFrame = ChannelFlowBody.createAMQFrame(_channelId, true); + _connection.getProtocolHandler().writeFrame(channelFlowFrame); + } +} diff --git a/java/client/src/org/apache/qpid/client/AMQTemporaryQueue.java b/java/client/src/org/apache/qpid/client/AMQTemporaryQueue.java new file mode 100644 index 0000000000..8c029f4919 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQTemporaryQueue.java @@ -0,0 +1,44 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import javax.jms.JMSException; +import javax.jms.TemporaryQueue; + +/** + * AMQ implementation of a TemporaryQueue. + */ +final class AMQTemporaryQueue extends AMQQueue implements TemporaryQueue { + + /** + * Create a new instance of an AMQTemporaryQueue + */ + public AMQTemporaryQueue() { + super("TempQueue" + Long.toString(System.currentTimeMillis()), + null, true, true); + } + + /** + * @see javax.jms.TemporaryQueue#delete() + */ + public void delete() throws JMSException { + throw new UnsupportedOperationException("Delete not supported, " + + "will auto-delete when connection closed"); + } + +} diff --git a/java/client/src/org/apache/qpid/client/AMQTemporaryTopic.java b/java/client/src/org/apache/qpid/client/AMQTemporaryTopic.java new file mode 100644 index 0000000000..5e96f919e4 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQTemporaryTopic.java @@ -0,0 +1,46 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import javax.jms.JMSException; +import javax.jms.TemporaryTopic; + +/** + * AMQ implementation of TemporaryTopic. + */ +class AMQTemporaryTopic extends AMQTopic implements TemporaryTopic +{ + + /** + * Create new temporary topic. + */ + public AMQTemporaryTopic() + { + super("TempQueue" + Long.toString(System.currentTimeMillis())); + } + + /** + * @see javax.jms.TemporaryTopic#delete() + */ + public void delete() throws JMSException + { + throw new UnsupportedOperationException("Delete not supported, " + + "will auto-delete when connection closed"); + } + +} diff --git a/java/client/src/org/apache/qpid/client/AMQTopic.java b/java/client/src/org/apache/qpid/client/AMQTopic.java new file mode 100644 index 0000000000..aa6d8f95cf --- /dev/null +++ b/java/client/src/org/apache/qpid/client/AMQTopic.java @@ -0,0 +1,89 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.url.BindingURL; +import org.apache.qpid.exchange.ExchangeDefaults; + +import javax.jms.JMSException; +import javax.jms.Topic; + +public class AMQTopic extends AMQDestination implements Topic + { + /** + * Constructor for use in creating a topic using a BindingURL. + * + * @param binding The binding url object. + */ + public AMQTopic(BindingURL binding) + { + super(binding); + } + + public AMQTopic(String name) + { + super(ExchangeDefaults.TOPIC_EXCHANGE_NAME, ExchangeDefaults.TOPIC_EXCHANGE_CLASS, name, true, true, null); + _isDurable = false; + } + + /** + * Constructor for use in creating a topic to represent a durable subscription + * @param topic + * @param clientId + * @param subscriptionName + */ + public AMQTopic(AMQTopic topic, String clientId, String subscriptionName) + { + super(ExchangeDefaults.TOPIC_EXCHANGE_NAME, ExchangeDefaults.TOPIC_EXCHANGE_CLASS, topic.getDestinationName(), true, false, clientId + ":" + subscriptionName); + _isDurable = true; + } + + public String getTopicName() throws JMSException + { + return super.getDestinationName(); + } + + public String getEncodedName() + { + return 'T' + getDestinationName(); + } + + public String getRoutingKey() + { + return getDestinationName(); + } + + public boolean isNameRequired() + { + // Topics always rely on a server generated queue name. + return false; + } + + /** + * Override since the queue is always private and we must ensure it remains null. If not, + * reuse of the topic when registering consumers will make all consumers listen on the same (private) queue rather + * than getting their own (private) queue. + * + * This is relatively nasty but it is difficult to come up with a more elegant solution, given + * the requirement in the case on AMQQueue and possibly other AMQDestination subclasses to + * use the underlying queue name even where it is server generated. + */ + public void setQueueName(String queueName) + { + } +} diff --git a/java/client/src/org/apache/qpid/client/BasicMessageConsumer.java b/java/client/src/org/apache/qpid/client/BasicMessageConsumer.java new file mode 100644 index 0000000000..5d13a1cd41 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/BasicMessageConsumer.java @@ -0,0 +1,499 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.message.AbstractJMSMessage; +import org.apache.qpid.client.message.MessageFactoryRegistry; +import org.apache.qpid.client.message.UnprocessedMessage; +import org.apache.qpid.client.protocol.AMQProtocolHandler; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.BasicCancelBody; +import org.apache.qpid.framing.BasicCancelOkBody; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.jms.MessageConsumer; +import org.apache.qpid.jms.Session; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicReference; + +public class BasicMessageConsumer extends Closeable implements MessageConsumer +{ + private static final Logger _logger = Logger.getLogger(BasicMessageConsumer.class); + + /** + * The connection being used by this consumer + */ + private AMQConnection _connection; + + private String _messageSelector; + + private boolean _noLocal; + + private AMQDestination _destination; + + /** + * When true indicates that a blocking receive call is in progress + */ + private final AtomicBoolean _receiving = new AtomicBoolean(false); + /** + * Holds an atomic reference to the listener installed. + */ + private final AtomicReference _messageListener = new AtomicReference(); + + /** + * The consumer tag allows us to close the consumer by sending a jmsCancel method to the + * broker + */ + private String _consumerTag; + + /** + * We need to know the channel id when constructing frames + */ + private int _channelId; + + /** + * Used in the blocking receive methods to receive a message from + * the Session thread. Argument true indicates we want strict FIFO semantics + */ + private final SynchronousQueue _synchronousQueue = new SynchronousQueue(true); + + private MessageFactoryRegistry _messageFactory; + + private AMQSession _session; + + private AMQProtocolHandler _protocolHandler; + + /** + * We need to store the "raw" field table so that we can resubscribe in the event of failover being required + */ + private FieldTable _rawSelectorFieldTable; + + /** + * We store the prefetch field in order to be able to reuse it when resubscribing in the event of failover + */ + private int _prefetch; + + /** + * We store the exclusive field in order to be able to reuse it when resubscribing in the event of failover + */ + private boolean _exclusive; + + /** + * The acknowledge mode in force for this consumer. Note that the AMQP protocol allows different ack modes + * per consumer whereas JMS defines this at the session level, hence why we associate it with the consumer in our + * implementation. + */ + private int _acknowledgeMode; + + /** + * Number of messages unacknowledged in DUPS_OK_ACKNOWLEDGE mode + */ + private int _outstanding; + + /** + * Tag of last message delievered, whoch should be acknowledged on commit in + * transaction mode. + */ + private long _lastDeliveryTag; + + BasicMessageConsumer(int channelId, AMQConnection connection, AMQDestination destination, String messageSelector, + boolean noLocal, MessageFactoryRegistry messageFactory, AMQSession session, + AMQProtocolHandler protocolHandler, FieldTable rawSelectorFieldTable, int prefetch, + boolean exclusive, int acknowledgeMode) + { + _channelId = channelId; + _connection = connection; + _messageSelector = messageSelector; + _noLocal = noLocal; + _destination = destination; + _messageFactory = messageFactory; + _session = session; + _protocolHandler = protocolHandler; + _rawSelectorFieldTable = rawSelectorFieldTable; + _prefetch = prefetch; + _exclusive = exclusive; + _acknowledgeMode = acknowledgeMode; + } + + public AMQDestination getDestination() + { + return _destination; + } + + public String getMessageSelector() throws JMSException + { + return _messageSelector; + } + + public MessageListener getMessageListener() throws JMSException + { + return (MessageListener) _messageListener.get(); + } + + public int getAcknowledgeMode() + { + return _acknowledgeMode; + } + + private boolean isMessageListenerSet() + { + return _messageListener.get() != null; + } + + public void setMessageListener(MessageListener messageListener) throws JMSException + { + checkNotClosed(); + + //if the current listener is non-null and the session is not stopped, then + //it is an error to call this method. + + //i.e. it is only valid to call this method if + // + // (a) the session is stopped, in which case the dispatcher is not running + // OR + // (b) the listener is null AND we are not receiving synchronously at present + // + + if (_session.isStopped()) + { + _messageListener.set(messageListener); + _logger.debug("Message listener set for destination " + _destination); + } + else + { + if (_receiving.get()) + { + throw new javax.jms.IllegalStateException("Another thread is already receiving synchronously."); + } + if (!_messageListener.compareAndSet(null, messageListener)) + { + throw new javax.jms.IllegalStateException("Attempt to alter listener while session is started."); + } + _logger.debug("Message listener set for destination " + _destination); + + if (messageListener != null) + { + //handle case where connection has already been started, and the dispatcher is blocked + //doing a put on the _synchronousQueue + Object msg = _synchronousQueue.poll(); + if (msg != null) + { + AbstractJMSMessage jmsMsg = (AbstractJMSMessage) msg; + messageListener.onMessage(jmsMsg); + postDeliver(jmsMsg); + } + } + } + } + + private void acquireReceiving() throws JMSException + { + if (!_receiving.compareAndSet(false, true)) + { + throw new javax.jms.IllegalStateException("Another thread is already receiving."); + } + if (isMessageListenerSet()) + { + throw new javax.jms.IllegalStateException("A listener has already been set."); + } + } + + private void releaseReceiving() + { + _receiving.set(false); + } + + public FieldTable getRawSelectorFieldTable() + { + return _rawSelectorFieldTable; + } + + public int getPrefetch() + { + return _prefetch; + } + + public boolean isNoLocal() + { + return _noLocal; + } + + public boolean isExclusive() + { + return _exclusive; + } + + public Message receive() throws JMSException + { + return receive(0); + } + + public Message receive(long l) throws JMSException + { + checkNotClosed(); + + acquireReceiving(); + + try + { + Object o = null; + if (l > 0) + { + o = _synchronousQueue.poll(l, TimeUnit.MILLISECONDS); + } + else + { + o = _synchronousQueue.take(); + } + final AbstractJMSMessage m = returnMessageOrThrow(o); + if (m != null) + { + postDeliver(m); + } + return m; + } + catch (InterruptedException e) + { + return null; + } + finally + { + releaseReceiving(); + } + } + + public Message receiveNoWait() throws JMSException + { + checkNotClosed(); + + acquireReceiving(); + + try + { + Object o = _synchronousQueue.poll(); + final AbstractJMSMessage m = returnMessageOrThrow(o); + if (m != null) + { + postDeliver(m); + } + return m; + } + finally + { + releaseReceiving(); + } + } + + /** + * We can get back either a Message or an exception from the queue. This method examines the argument and deals + * with it by throwing it (if an exception) or returning it (in any other case). + * @param o + * @return a message only if o is a Message + * @throws JMSException if the argument is a throwable. If it is a JMSException it is rethrown as is, but if not + * a JMSException is created with the linked exception set appropriately + */ + private AbstractJMSMessage returnMessageOrThrow(Object o) + throws JMSException + { + // errors are passed via the queue too since there is no way of interrupting the poll() via the API. + if (o instanceof Throwable) + { + JMSException e = new JMSException("Message consumer forcibly closed due to error: " + o); + if (o instanceof Exception) + { + e.setLinkedException((Exception) o); + } + throw e; + } + else + { + return (AbstractJMSMessage) o; + } + } + + public void close() throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + if (!_closed.getAndSet(true)) + { + final AMQFrame cancelFrame = BasicCancelBody.createAMQFrame(_channelId, _consumerTag, false); + + try + { + _protocolHandler.syncWrite(cancelFrame, BasicCancelOkBody.class); + } + catch (AMQException e) + { + _logger.error("Error closing consumer: " + e, e); + throw new JMSException("Error closing consumer: " + e); + } + + deregisterConsumer(); + } + } + } + + /** + * Called when you need to invalidate a consumer. Used for example when failover has occurred and the + * client has vetoed automatic resubscription. + * The caller must hold the failover mutex. + */ + void markClosed() + { + _closed.set(true); + deregisterConsumer(); + } + + /** + * Called from the AMQSession when a message has arrived for this consumer. This methods handles both the case + * of a message listener or a synchronous receive() caller. + * @param messageFrame the raw unprocessed mesage + * @param channelId channel on which this message was sent + */ + void notifyMessage(UnprocessedMessage messageFrame, int channelId) + { + if (_logger.isDebugEnabled()) + { + _logger.debug("notifyMessage called with message number " + messageFrame.deliverBody.deliveryTag); + } + try + { + AbstractJMSMessage jmsMessage = _messageFactory.createMessage(messageFrame.deliverBody.deliveryTag, + messageFrame.deliverBody.redelivered, + messageFrame.contentHeader, + messageFrame.bodies); + + _logger.debug("Message is of type: " + jmsMessage.getClass().getName()); + + preDeliver(jmsMessage); + + if (isMessageListenerSet()) + { + //we do not need a lock around the test above, and the dispatch below as it is invalid + //for an application to alter an installed listener while the session is started + getMessageListener().onMessage(jmsMessage); + postDeliver(jmsMessage); + } + else + { + _synchronousQueue.put(jmsMessage); + } + } + catch (Exception e) + { + if (e instanceof InterruptedException) + { + _logger.info("SynchronousQueue.put interupted. Usually result of connection closing"); + } + else + { + _logger.error("Caught exception (dump follows) - ignoring...", e); + } + } + } + + private void preDeliver(AbstractJMSMessage msg) + { + switch (_acknowledgeMode) + { + case Session.PRE_ACKNOWLEDGE: + _session.acknowledgeMessage(msg.getDeliveryTag(), false); + break; + case Session.CLIENT_ACKNOWLEDGE: + // we set the session so that when the user calls acknowledge() it can call the method on session + // to send out the appropriate frame + msg.setAMQSession(_session); + break; + } + } + + private void postDeliver(AbstractJMSMessage msg) + { + switch (_acknowledgeMode) + { + case Session.DUPS_OK_ACKNOWLEDGE: + if (++_outstanding >= _prefetch) + { + _session.acknowledgeMessage(msg.getDeliveryTag(), true); + } + break; + case Session.AUTO_ACKNOWLEDGE: + _session.acknowledgeMessage(msg.getDeliveryTag(), false); + break; + case Session.SESSION_TRANSACTED: + _lastDeliveryTag = msg.getDeliveryTag(); + break; + } + } + + /** + * Acknowledge up to last message delivered (if any). Used when commiting. + */ + void acknowledgeLastDelivered() + { + if (_lastDeliveryTag > 0) + { + _session.acknowledgeMessage(_lastDeliveryTag, true); + _lastDeliveryTag = -1; + } + } + + void notifyError(Throwable cause) + { + _closed.set(true); + + // we have no way of propagating the exception to a message listener - a JMS limitation - so we + // deal with the case where we have a synchronous receive() waiting for a message to arrive + if (!isMessageListenerSet()) + { + // offer only succeeds if there is a thread waiting for an item from the queue + if (_synchronousQueue.offer(cause)) + { + _logger.debug("Passed exception to synchronous queue for propagation to receive()"); + } + } + deregisterConsumer(); + } + + /** + * Perform cleanup to deregister this consumer. This occurs when closing the consumer in both the clean + * case and in the case of an error occurring. + */ + private void deregisterConsumer() + { + _session.deregisterConsumer(_consumerTag); + } + + public String getConsumerTag() + { + return _consumerTag; + } + + public void setConsumerTag(String consumerTag) + { + _consumerTag = consumerTag; + } +} diff --git a/java/client/src/org/apache/qpid/client/BasicMessageProducer.java b/java/client/src/org/apache/qpid/client/BasicMessageProducer.java new file mode 100644 index 0000000000..9ff6d8564b --- /dev/null +++ b/java/client/src/org/apache/qpid/client/BasicMessageProducer.java @@ -0,0 +1,480 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import org.apache.qpid.AMQException; +import org.apache.qpid.client.message.AbstractJMSMessage; +import org.apache.qpid.client.message.JMSBytesMessage; +import org.apache.qpid.client.protocol.AMQProtocolHandler; +import org.apache.qpid.framing.*; +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; + +import javax.jms.DeliveryMode; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import java.io.UnsupportedEncodingException; + +public class BasicMessageProducer extends Closeable implements org.apache.qpid.jms.MessageProducer +{ + protected final Logger _logger = Logger.getLogger(getClass()); + + private AMQConnection _connection; + + /** + * If true, messages will not get a timestamp. + */ + private boolean _disableTimestamps; + + /** + * Priority of messages created by this producer. + */ + private int _messagePriority; + + /** + * Time to live of messages. Specified in milliseconds but AMQ has 1 second resolution. + */ + private long _timeToLive; + + /** + * Delivery mode used for this producer. + */ + private int _deliveryMode = DeliveryMode.PERSISTENT; + + /** + * The Destination used for this consumer, if specified upon creation. + */ + protected AMQDestination _destination; + + /** + * Default encoding used for messages produced by this producer. + */ + private String _encoding; + + /** + * Default encoding used for message produced by this producer. + */ + private String _mimeType; + + private AMQProtocolHandler _protocolHandler; + + /** + * True if this producer was created from a transacted session + */ + private boolean _transacted; + + private int _channelId; + + /** + * This is an id generated by the session and is used to tie individual producers to the session. This means we + * can deregister a producer with the session when the producer is clsoed. We need to be able to tie producers + * to the session so that when an error is propagated to the session it can close the producer (meaning that + * a client that happens to hold onto a producer reference will get an error if he tries to use it subsequently). + */ + private long _producerId; + + /** + * The session used to create this producer + */ + private AMQSession _session; + + private final boolean _immediate; + + private final boolean _mandatory; + + private final boolean _waitUntilSent; + + protected BasicMessageProducer(AMQConnection connection, AMQDestination destination, boolean transacted, + int channelId, AMQSession session, AMQProtocolHandler protocolHandler, + long producerId, boolean immediate, boolean mandatory, boolean waitUntilSent) + { + _connection = connection; + _destination = destination; + _transacted = transacted; + _protocolHandler = protocolHandler; + _channelId = channelId; + _session = session; + _producerId = producerId; + if (destination != null) + { + declareDestination(destination); + } + _immediate = immediate; + _mandatory = mandatory; + _waitUntilSent = waitUntilSent; + } + + void resubscribe() throws AMQException + { + if (_destination != null) + { + declareDestination(_destination); + } + } + + private void declareDestination(AMQDestination destination) + { + // Declare the exchange + // Note that the durable and internal arguments are ignored since passive is set to false + AMQFrame declare = ExchangeDeclareBody.createAMQFrame(_channelId, 0, destination.getExchangeName(), + destination.getExchangeClass(), false, + false, false, false, true, null); + _protocolHandler.writeFrame(declare); + } + + public void setDisableMessageID(boolean b) throws JMSException + { + checkNotClosed(); + // IGNORED + } + + public boolean getDisableMessageID() throws JMSException + { + checkNotClosed(); + // Always false for AMQP + return false; + } + + public void setDisableMessageTimestamp(boolean b) throws JMSException + { + checkNotClosed(); + _disableTimestamps = b; + } + + public boolean getDisableMessageTimestamp() throws JMSException + { + checkNotClosed(); + return _disableTimestamps; + } + + public void setDeliveryMode(int i) throws JMSException + { + checkNotClosed(); + if (i != DeliveryMode.NON_PERSISTENT && i != DeliveryMode.PERSISTENT) + { + throw new JMSException("DeliveryMode must be either NON_PERSISTENT or PERSISTENT. Value of " + i + + " is illegal"); + } + _deliveryMode = i; + } + + public int getDeliveryMode() throws JMSException + { + checkNotClosed(); + return _deliveryMode; + } + + public void setPriority(int i) throws JMSException + { + checkNotClosed(); + if (i < 0 || i > 9) + { + throw new IllegalArgumentException("Priority of " + i + " is illegal. Value must be in range 0 to 9"); + } + _messagePriority = i; + } + + public int getPriority() throws JMSException + { + checkNotClosed(); + return _messagePriority; + } + + public void setTimeToLive(long l) throws JMSException + { + checkNotClosed(); + if (l < 0) + { + throw new IllegalArgumentException("Time to live must be non-negative - supplied value was " + l); + } + _timeToLive = l; + } + + public long getTimeToLive() throws JMSException + { + checkNotClosed(); + return _timeToLive; + } + + public Destination getDestination() throws JMSException + { + checkNotClosed(); + return _destination; + } + + public void close() throws JMSException + { + _closed.set(true); + _session.deregisterProducer(_producerId); + } + + public void send(Message message) throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + sendImpl(_destination, (AbstractJMSMessage) message, _deliveryMode, _messagePriority, _timeToLive, + _mandatory, _immediate); + } + } + + public void send(Message message, int deliveryMode) throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + sendImpl(_destination, (AbstractJMSMessage) message, deliveryMode, _messagePriority, _timeToLive, + _mandatory, _immediate); + } + } + + public void send(Message message, int deliveryMode, boolean immediate) throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + sendImpl(_destination, (AbstractJMSMessage) message, deliveryMode, _messagePriority, _timeToLive, + _mandatory, immediate); + } + } + + public void send(Message message, int deliveryMode, int priority, + long timeToLive) throws JMSException + { + synchronized (_connection.getFailoverMutex()) + { + sendImpl(_destination, (AbstractJMSMessage)message, deliveryMode, priority, timeToLive, _mandatory, + _immediate); + } + } + + public void send(Destination destination, Message message) throws JMSException + { + checkNotClosed(); + synchronized (_connection.getFailoverMutex()) + { + validateDestination(destination); + sendImpl((AMQDestination) destination, (AbstractJMSMessage) message, _deliveryMode, _messagePriority, _timeToLive, + _mandatory, _immediate); + } + } + + public void send(Destination destination, Message message, int deliveryMode, + int priority, long timeToLive) + throws JMSException + { + checkNotClosed(); + synchronized (_connection.getFailoverMutex()) + { + validateDestination(destination); + sendImpl((AMQDestination) destination, (AbstractJMSMessage) message, deliveryMode, priority, timeToLive, + _mandatory, _immediate); + } + } + + public void send(Destination destination, Message message, int deliveryMode, + int priority, long timeToLive, boolean mandatory) + throws JMSException + { + checkNotClosed(); + synchronized (_connection.getFailoverMutex()) + { + validateDestination(destination); + sendImpl((AMQDestination) destination, (AbstractJMSMessage) message, deliveryMode, priority, timeToLive, + mandatory, _immediate); + } + } + + public void send(Destination destination, Message message, int deliveryMode, + int priority, long timeToLive, boolean mandatory, boolean immediate) + throws JMSException + { + checkNotClosed(); + synchronized (_connection.getFailoverMutex()) + { + validateDestination(destination); + sendImpl((AMQDestination) destination, (AbstractJMSMessage) message, deliveryMode, priority, timeToLive, + mandatory, immediate); + } + } + + public void send(Destination destination, Message message, int deliveryMode, + int priority, long timeToLive, boolean mandatory, + boolean immediate, boolean waitUntilSent) + throws JMSException + { + checkNotClosed(); + synchronized (_connection.getFailoverMutex()) + { + validateDestination(destination); + sendImpl((AMQDestination) destination, (AbstractJMSMessage) message, deliveryMode, priority, timeToLive, + mandatory, immediate, waitUntilSent); + } + } + + private void validateDestination(Destination destination) throws JMSException + { + if (!(destination instanceof AMQDestination)) + { + throw new JMSException("Unsupported destination class: " + + (destination != null?destination.getClass():null)); + } + declareDestination((AMQDestination)destination); + } + + protected void sendImpl(AMQDestination destination, AbstractJMSMessage message, int deliveryMode, int priority, + long timeToLive, boolean mandatory, boolean immediate) throws JMSException + { + sendImpl(destination, message, deliveryMode, priority, timeToLive, mandatory, immediate, _waitUntilSent); + } + /** + * The caller of this method must hold the failover mutex. + * @param destination + * @param message + * @param deliveryMode + * @param priority + * @param timeToLive + * @param mandatory + * @param immediate + * @throws JMSException + */ + protected void sendImpl(AMQDestination destination, AbstractJMSMessage message, int deliveryMode, int priority, + long timeToLive, boolean mandatory, boolean immediate, boolean wait) throws JMSException + { + AMQFrame publishFrame = BasicPublishBody.createAMQFrame(_channelId, 0, destination.getExchangeName(), + destination.getRoutingKey(), mandatory, immediate); + + long currentTime = 0; + if (!_disableTimestamps) + { + currentTime = System.currentTimeMillis(); + message.setJMSTimestamp(currentTime); + } + // + // Very nasty temporary hack for GRM-206. Will be altered ASAP. + // + if(message instanceof JMSBytesMessage) + { + JMSBytesMessage msg = (JMSBytesMessage) message; + if(!msg.isReadable()) + { + msg.reset(); + } + } + ByteBuffer payload = message.getData(); + BasicContentHeaderProperties contentHeaderProperties = message.getJmsContentHeaderProperties(); + + if (timeToLive > 0) + { + if (!_disableTimestamps) + { + contentHeaderProperties.setExpiration(currentTime + timeToLive); + } + } + else + { + if (!_disableTimestamps) + { + contentHeaderProperties.setExpiration(0); + } + } + contentHeaderProperties.setDeliveryMode((byte) deliveryMode); + contentHeaderProperties.setPriority((byte) priority); + + int size = payload.limit(); + ContentBody[] contentBodies = createContentBodies(payload); + AMQFrame[] frames = new AMQFrame[2 + contentBodies.length]; + for (int i = 0; i < contentBodies.length; i++) + { + frames[2 + i] = ContentBody.createAMQFrame(_channelId, contentBodies[i]); + } + if (contentBodies.length > 0 && _logger.isDebugEnabled()) + { + _logger.debug("Sending content body frames to " + destination); + } + + // weight argument of zero indicates no child content headers, just bodies + AMQFrame contentHeaderFrame = ContentHeaderBody.createAMQFrame(_channelId, BasicConsumeBody.CLASS_ID, 0, + contentHeaderProperties, + size); + if (_logger.isDebugEnabled()) + { + _logger.debug("Sending content header frame to " + destination); + } + + frames[0] = publishFrame; + frames[1] = contentHeaderFrame; + CompositeAMQDataBlock compositeFrame = new CompositeAMQDataBlock(frames); + _protocolHandler.writeFrame(compositeFrame, wait); + } + + /** + * Create content bodies. This will split a large message into numerous bodies depending on the negotiated + * maximum frame size. + * @param payload + * @return the array of content bodies + */ + private ContentBody[] createContentBodies(ByteBuffer payload) + { + if (payload == null) + { + return null; + } + else if (payload.remaining() == 0) + { + return new ContentBody[0]; + } + // we substract one from the total frame maximum size to account for the end of frame marker in a body frame + // (0xCE byte). + int dataLength = payload.remaining(); + final long framePayloadMax = _session.getAMQConnection().getMaximumFrameSize() - 1; + int lastFrame = (dataLength % framePayloadMax) > 0 ? 1 : 0; + int frameCount = (int) (dataLength/framePayloadMax) + lastFrame; + final ContentBody[] bodies = new ContentBody[frameCount]; + + if (frameCount == 1) + { + bodies[0] = new ContentBody(); + bodies[0].payload = payload; + } + else + { + long remaining = dataLength; + for (int i = 0; i < bodies.length; i++) + { + bodies[i] = new ContentBody(); + payload.position((int)framePayloadMax * i); + int length = (remaining >= framePayloadMax) ? (int)framePayloadMax : (int)remaining; + payload.limit(payload.position() + length); + bodies[i].payload = payload.slice(); + remaining -= length; + } + } + return bodies; + } + + public void setMimeType(String mimeType) + { + checkNotClosed(); + _mimeType = mimeType; + } + + public void setEncoding(String encoding) throws UnsupportedEncodingException + { + checkNotClosed(); + _encoding = encoding; + } +} diff --git a/java/client/src/org/apache/qpid/client/Closeable.java b/java/client/src/org/apache/qpid/client/Closeable.java new file mode 100644 index 0000000000..0381823b69 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/Closeable.java @@ -0,0 +1,48 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import javax.jms.JMSException; +import java.util.concurrent.atomic.AtomicBoolean; + +/** + * Provides support for orderly shutdown of an object. + */ +public abstract class Closeable +{ + /** + * We use an atomic boolean so that we do not have to synchronized access to this flag. Synchronizing + * access to this flag would mean have a synchronized block in every method. + */ + protected final AtomicBoolean _closed = new AtomicBoolean(false); + + protected void checkNotClosed() + { + if (_closed.get()) + { + throw new IllegalStateException("Object " + toString() + " has been closed"); + } + } + + public boolean isClosed() + { + return _closed.get(); + } + + public abstract void close() throws JMSException; +} diff --git a/java/client/src/org/apache/qpid/client/ConnectionTuneParameters.java b/java/client/src/org/apache/qpid/client/ConnectionTuneParameters.java new file mode 100644 index 0000000000..a3471e9140 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/ConnectionTuneParameters.java @@ -0,0 +1,69 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +public class ConnectionTuneParameters +{ + private long _frameMax; + + private int _channelMax; + + private int _heartbeat; + + private long _txnLimit; + + public long getFrameMax() + { + return _frameMax; + } + + public void setFrameMax(long frameMax) + { + _frameMax = frameMax; + } + + public int getChannelMax() + { + return _channelMax; + } + + public void setChannelMax(int channelMax) + { + _channelMax = channelMax; + } + + public int getHeartbeat() + { + return _heartbeat; + } + + public void setHeartbeat(int hearbeat) + { + _heartbeat = hearbeat; + } + + public long getTxnLimit() + { + return _txnLimit; + } + + public void setTxnLimit(long txnLimit) + { + _txnLimit = txnLimit; + } +} diff --git a/java/client/src/org/apache/qpid/client/TopicSubscriberAdaptor.java b/java/client/src/org/apache/qpid/client/TopicSubscriberAdaptor.java new file mode 100644 index 0000000000..caa7e5139b --- /dev/null +++ b/java/client/src/org/apache/qpid/client/TopicSubscriberAdaptor.java @@ -0,0 +1,91 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.Topic; +import javax.jms.TopicSubscriber; + +/** + * Wraps a MessageConsumer to fulfill the extended TopicSubscriber contract + * + */ +class TopicSubscriberAdaptor implements TopicSubscriber +{ + private final Topic _topic; + private final MessageConsumer _consumer; + private final boolean _noLocal; + + TopicSubscriberAdaptor(Topic topic, MessageConsumer consumer, boolean noLocal) + { + _topic = topic; + _consumer = consumer; + _noLocal = noLocal; + } + TopicSubscriberAdaptor(Topic topic, BasicMessageConsumer consumer) + { + this(topic, consumer, consumer.isNoLocal()); + } + public Topic getTopic() throws JMSException + { + return _topic; + } + + public boolean getNoLocal() throws JMSException + { + return _noLocal; + } + + public String getMessageSelector() throws JMSException + { + return _consumer.getMessageSelector(); + } + + public MessageListener getMessageListener() throws JMSException + { + return _consumer.getMessageListener(); + } + + public void setMessageListener(MessageListener messageListener) throws JMSException + { + _consumer.setMessageListener(messageListener); + } + + public Message receive() throws JMSException + { + return _consumer.receive(); + } + + public Message receive(long l) throws JMSException + { + return _consumer.receive(l); + } + + public Message receiveNoWait() throws JMSException + { + return _consumer.receiveNoWait(); + } + + public void close() throws JMSException + { + _consumer.close(); + } +} diff --git a/java/client/src/org/apache/qpid/client/failover/FailoverException.java b/java/client/src/org/apache/qpid/client/failover/FailoverException.java new file mode 100644 index 0000000000..c17c56bdf7 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/failover/FailoverException.java @@ -0,0 +1,30 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.failover; + +/** + * This exception is thrown when failover is taking place and we need to let other + * parts of the client know about this. + */ +public class FailoverException extends RuntimeException +{ + public FailoverException(String message) + { + super(message); + } +} diff --git a/java/client/src/org/apache/qpid/client/failover/FailoverHandler.java b/java/client/src/org/apache/qpid/client/failover/FailoverHandler.java new file mode 100644 index 0000000000..0c68c75122 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/failover/FailoverHandler.java @@ -0,0 +1,180 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.failover; + +import org.apache.mina.common.IoSession; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.failover.FailoverException; +import org.apache.qpid.client.protocol.AMQProtocolHandler; +import org.apache.qpid.client.failover.FailoverState; +import org.apache.qpid.AMQDisconnectedException; +import org.apache.log4j.Logger; + +import java.util.concurrent.CountDownLatch; + +/** + * When failover is required, we need a separate thread to handle the establishment of the new connection and + * the transfer of subscriptions. + * </p> + * The reason this needs to be a separate thread is because you cannot do this work inside the MINA IO processor + * thread. One significant task is the connection setup which involves a protocol exchange until a particular state + * is achieved. However if you do this in the MINA thread, you have to block until the state is achieved which means + * the IO processor is not able to do anything at all. + */ +public class FailoverHandler implements Runnable +{ + private static final Logger _logger = Logger.getLogger(FailoverHandler.class); + + private final IoSession _session; + private AMQProtocolHandler _amqProtocolHandler; + + /** + * Used where forcing the failover host + */ + private String _host; + + /** + * Used where forcing the failover port + */ + private int _port; + + public FailoverHandler(AMQProtocolHandler amqProtocolHandler, IoSession session) + { + _amqProtocolHandler = amqProtocolHandler; + _session = session; + } + + public void run() + { + if (Thread.currentThread().isDaemon()) + { + throw new IllegalStateException("FailoverHandler must run on a non-daemon thread."); + } + //Thread.currentThread().setName("Failover Thread"); + + _amqProtocolHandler.setFailoverLatch(new CountDownLatch(1)); + + // We wake up listeners. If they can handle failover, they will extend the + // FailoverSupport class and will in turn block on the latch until failover + // has completed before retrying the operation + _amqProtocolHandler.propagateExceptionToWaiters(new FailoverException("Failing over about to start")); + + // Since failover impacts several structures we protect them all with a single mutex. These structures + // are also in child objects of the connection. This allows us to manipulate them without affecting + // client code which runs in a separate thread. + synchronized (_amqProtocolHandler.getConnection().getFailoverMutex()) + { + _logger.info("Starting failover process"); + + // We switch in a new state manager temporarily so that the interaction to get to the "connection open" + // state works, without us having to terminate any existing "state waiters". We could theoretically + // have a state waiter waiting until the connection is closed for some reason. Or in future we may have + // a slightly more complex state model therefore I felt it was worthwhile doing this. + AMQStateManager existingStateManager = _amqProtocolHandler.getStateManager(); + _amqProtocolHandler.setStateManager(new AMQStateManager()); + if (!_amqProtocolHandler.getConnection().firePreFailover(_host != null)) + { + _amqProtocolHandler.setStateManager(existingStateManager); + if (_host != null) + { + _amqProtocolHandler.getConnection().exceptionReceived(new AMQDisconnectedException("Redirect was vetoed by client")); + } + else + { + _amqProtocolHandler.getConnection().exceptionReceived(new AMQDisconnectedException("Failover was vetoed by client")); + } + _amqProtocolHandler.getFailoverLatch().countDown(); + _amqProtocolHandler.setFailoverLatch(null); + return; + } + boolean failoverSucceeded; + // when host is non null we have a specified failover host otherwise we all the client to cycle through + // all specified hosts + + // if _host has value then we are performing a redirect. + if (_host != null) + { + failoverSucceeded = _amqProtocolHandler.getConnection().attemptReconnection(_host, _port, _amqProtocolHandler.isUseSSL()); + } + else + { + failoverSucceeded = _amqProtocolHandler.getConnection().attemptReconnection(); + } + if (!failoverSucceeded) + { + _amqProtocolHandler.setStateManager(existingStateManager); + _amqProtocolHandler.getConnection().exceptionReceived( + new AMQDisconnectedException("Server closed connection and no failover " + + "was successful")); + } + else + { + _amqProtocolHandler.setStateManager(existingStateManager); + try + { + if (_amqProtocolHandler.getConnection().firePreResubscribe()) + { + _logger.info("Resubscribing on new connection"); + _amqProtocolHandler.getConnection().resubscribeSessions(); + } + else + { + _logger.info("Client vetoed automatic resubscription"); + } + _amqProtocolHandler.getConnection().fireFailoverComplete(); + _amqProtocolHandler.setFailoverState(FailoverState.NOT_STARTED); + _logger.info("Connection failover completed successfully"); + } + catch (Exception e) + { + _logger.info("Failover process failed - exception being propagated by protocol handler"); + _amqProtocolHandler.setFailoverState(FailoverState.FAILED); + try + { + _amqProtocolHandler.exceptionCaught(_session, e); + } + catch (Exception ex) + { + _logger.error("Error notifying protocol session of error: " + ex, ex); + } + } + } + } + _amqProtocolHandler.getFailoverLatch().countDown(); + } + + public String getHost() + { + return _host; + } + + public void setHost(String host) + { + _host = host; + } + + public int getPort() + { + return _port; + } + + public void setPort(int port) + { + _port = port; + } +} diff --git a/java/client/src/org/apache/qpid/client/failover/FailoverState.java b/java/client/src/org/apache/qpid/client/failover/FailoverState.java new file mode 100644 index 0000000000..20886f391c --- /dev/null +++ b/java/client/src/org/apache/qpid/client/failover/FailoverState.java @@ -0,0 +1,46 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.failover; + +/** + * Enumeration of failover states. Used to handle failover from within AMQProtocolHandler where MINA events need to be + * dealt with and can happen during failover. + */ +public final class FailoverState +{ + private final String _state; + + /** Failover has not yet been attempted on this connection */ + public static final FailoverState NOT_STARTED = new FailoverState("NOT STARTED"); + + /** Failover has been requested on this connection but has not completed */ + public static final FailoverState IN_PROGRESS = new FailoverState("IN PROGRESS"); + + /** Failover has been attempted and failed */ + public static final FailoverState FAILED = new FailoverState("FAILED"); + + private FailoverState(String state) + { + _state = state; + } + + public String toString() + { + return "FailoverState: " + _state; + } +} diff --git a/java/client/src/org/apache/qpid/client/failover/FailoverSupport.java b/java/client/src/org/apache/qpid/client/failover/FailoverSupport.java new file mode 100644 index 0000000000..e2d797dfac --- /dev/null +++ b/java/client/src/org/apache/qpid/client/failover/FailoverSupport.java @@ -0,0 +1,63 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.failover; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.failover.FailoverException; + +import javax.jms.JMSException; + +public abstract class FailoverSupport +{ + private static final Logger _log = Logger.getLogger(FailoverSupport.class); + + public Object execute(AMQConnection con) throws JMSException + { + // We wait until we are not in the middle of failover before acquiring the mutex and then proceeding. + // Any method that can potentially block for any reason should use this class so that deadlock will not + // occur. The FailoverException is propagated by the AMQProtocolHandler to any listeners (e.g. frame listeners) + // that might be causing a block. When that happens, the exception is caught here and the mutex is released + // before waiting for the failover to complete (either successfully or unsuccessfully). + while (true) + { + try + { + con.blockUntilNotFailingOver(); + } + catch (InterruptedException e) + { + _log.info("Interrupted: " + e, e); + return null; + } + synchronized (con.getFailoverMutex()) + { + try + { + return operation(); + } + catch (FailoverException e) + { + _log.info("Failover exception caught during operation"); + } + } + } + } + + protected abstract Object operation() throws JMSException; +} diff --git a/java/client/src/org/apache/qpid/client/handler/BasicDeliverMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/BasicDeliverMethodHandler.java new file mode 100644 index 0000000000..ab1e84ee17 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/BasicDeliverMethodHandler.java @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicDeliverBody; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.message.UnprocessedMessage; + +public class BasicDeliverMethodHandler implements StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(BasicDeliverMethodHandler.class); + + private static final BasicDeliverMethodHandler _instance = new BasicDeliverMethodHandler(); + + public static BasicDeliverMethodHandler getInstance() + { + return _instance; + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + final UnprocessedMessage msg = new UnprocessedMessage(); + msg.deliverBody = (BasicDeliverBody) evt.getMethod(); + msg.channelId = evt.getChannelId(); + _logger.debug("New JmsDeliver method received"); + evt.getProtocolSession().unprocessedMessageReceived(msg); + } +} diff --git a/java/client/src/org/apache/qpid/client/handler/BasicReturnMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/BasicReturnMethodHandler.java new file mode 100644 index 0000000000..ae9d7bcb4a --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/BasicReturnMethodHandler.java @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.message.UnprocessedMessage; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.framing.BasicReturnBody; + +public class BasicReturnMethodHandler implements StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(BasicReturnMethodHandler.class); + + private static final BasicReturnMethodHandler _instance = new BasicReturnMethodHandler(); + + public static BasicReturnMethodHandler getInstance() + { + return _instance; + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + _logger.debug("New JmsBounce method received"); + final UnprocessedMessage msg = new UnprocessedMessage(); + msg.deliverBody = null; + msg.bounceBody = (BasicReturnBody) evt.getMethod(); + msg.channelId = evt.getChannelId(); + + evt.getProtocolSession().unprocessedMessageReceived(msg); + } +}
\ No newline at end of file diff --git a/java/client/src/org/apache/qpid/client/handler/ChannelCloseMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ChannelCloseMethodHandler.java new file mode 100644 index 0000000000..959f1eb4df --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ChannelCloseMethodHandler.java @@ -0,0 +1,79 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQChannelClosedException; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.AMQNoConsumersException; +import org.apache.qpid.client.AMQNoRouteException; +import org.apache.qpid.protocol.AMQConstant; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ChannelCloseBody; +import org.apache.qpid.framing.ChannelCloseOkBody; + +public class ChannelCloseMethodHandler implements StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(ChannelCloseMethodHandler.class); + + private static ChannelCloseMethodHandler _handler = new ChannelCloseMethodHandler(); + + public static ChannelCloseMethodHandler getInstance() + { + return _handler; + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + _logger.debug("ChannelClose method received"); + ChannelCloseBody method = (ChannelCloseBody) evt.getMethod(); + + int errorCode = method.replyCode; + String reason = method.replyText; + if (_logger.isDebugEnabled()) + { + _logger.debug("Channel close reply code: " + errorCode + ", reason: " + reason); + } + + AMQFrame frame = ChannelCloseOkBody.createAMQFrame(evt.getChannelId()); + evt.getProtocolSession().writeFrame(frame); + if (errorCode != AMQConstant.REPLY_SUCCESS.getCode()) + { + _logger.error("Channel close received with errorCode " + errorCode + ", and reason " + reason); + if (errorCode == AMQConstant.NO_CONSUMERS.getCode()) + { + throw new AMQNoConsumersException("Error: " + reason, null); + } + else + { + if (errorCode == AMQConstant.NO_ROUTE.getCode()) + { + throw new AMQNoRouteException("Error: " + reason, null); + } + else + { + throw new AMQChannelClosedException(errorCode, "Error: " + reason); + } + } + } + evt.getProtocolSession().channelClosed(evt.getChannelId(), errorCode, reason); + } +} diff --git a/java/client/src/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java new file mode 100644 index 0000000000..b857b5e91b --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.log4j.Logger; + +public class ChannelCloseOkMethodHandler implements StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(ChannelCloseOkMethodHandler.class); + + private static final ChannelCloseOkMethodHandler _instance = new ChannelCloseOkMethodHandler(); + + public static ChannelCloseOkMethodHandler getInstance() + { + return _instance; + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + _logger.info("Received channel-close-ok for channel-id " + evt.getChannelId()); + + //todo this should do the closure + } +} diff --git a/java/client/src/org/apache/qpid/client/handler/ChannelFlowOkMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ChannelFlowOkMethodHandler.java new file mode 100644 index 0000000000..f26917b2e3 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ChannelFlowOkMethodHandler.java @@ -0,0 +1,46 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.framing.ChannelFlowOkBody; + +public class ChannelFlowOkMethodHandler implements StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(ChannelFlowOkMethodHandler.class); + private static final ChannelFlowOkMethodHandler _instance = new ChannelFlowOkMethodHandler(); + + public static ChannelFlowOkMethodHandler getInstance() + { + return _instance; + } + + private ChannelFlowOkMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + ChannelFlowOkBody method = (ChannelFlowOkBody) evt.getMethod(); + _logger.debug("Received Channel.Flow-Ok message, active = " + method.active); + } +} diff --git a/java/client/src/org/apache/qpid/client/handler/ConnectionCloseMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ConnectionCloseMethodHandler.java new file mode 100644 index 0000000000..6ec5b1cb49 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ConnectionCloseMethodHandler.java @@ -0,0 +1,89 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.AMQConnectionClosedException; +import org.apache.qpid.protocol.AMQConstant; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.state.AMQState; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.client.AMQAuthenticationException; +import org.apache.qpid.framing.ConnectionCloseBody; +import org.apache.qpid.framing.ConnectionCloseOkBody; + +public class ConnectionCloseMethodHandler implements StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(ConnectionCloseMethodHandler.class); + + private static ConnectionCloseMethodHandler _handler = new ConnectionCloseMethodHandler(); + + public static ConnectionCloseMethodHandler getInstance() + { + return _handler; + } + + private ConnectionCloseMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + _logger.info("ConnectionClose frame received"); + ConnectionCloseBody method = (ConnectionCloseBody) evt.getMethod(); + + // does it matter + //stateManager.changeState(AMQState.CONNECTION_CLOSING); + + int errorCode = method.replyCode; + String reason = method.replyText; + + // TODO: check whether channel id of zero is appropriate + evt.getProtocolSession().writeFrame(ConnectionCloseOkBody.createAMQFrame((short)0)); + + if (errorCode != 200) + { + if(errorCode == AMQConstant.NOT_ALLOWED.getCode()) + { + _logger.info("Authentication Error:"+Thread.currentThread().getName()); + + evt.getProtocolSession().closeProtocolSession(); + + //todo this is a bit of a fudge (could be conssidered such as each new connection needs a new state manager or at least a fresh state. + stateManager.changeState(AMQState.CONNECTION_NOT_STARTED); + + throw new AMQAuthenticationException(errorCode, reason); + } + else + { + _logger.info("Connection close received with error code " + errorCode); + + + throw new AMQConnectionClosedException(errorCode, "Error: " + reason); + } + } + + // this actually closes the connection in the case where it is not an error. + + evt.getProtocolSession().closeProtocolSession(); + + stateManager.changeState(AMQState.CONNECTION_CLOSED); + } +} diff --git a/java/client/src/org/apache/qpid/client/handler/ConnectionOpenOkMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ConnectionOpenOkMethodHandler.java new file mode 100644 index 0000000000..73986ed81a --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ConnectionOpenOkMethodHandler.java @@ -0,0 +1,52 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.protocol.AMQProtocolSession; +import org.apache.qpid.client.state.AMQState; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.framing.ConnectionOpenOkBody; + +public class ConnectionOpenOkMethodHandler implements StateAwareMethodListener +{ + + private static final Logger _logger = Logger.getLogger(ConnectionOpenOkMethodHandler.class); + + private static final ConnectionOpenOkMethodHandler _instance = new ConnectionOpenOkMethodHandler(); + + public static ConnectionOpenOkMethodHandler getInstance() + { + return _instance; + } + + private ConnectionOpenOkMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + AMQProtocolSession session = evt.getProtocolSession(); + ConnectionOpenOkBody method = (ConnectionOpenOkBody) evt.getMethod(); + stateManager.changeState(AMQState.CONNECTION_OPEN); + } + +} diff --git a/java/client/src/org/apache/qpid/client/handler/ConnectionRedirectMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ConnectionRedirectMethodHandler.java new file mode 100644 index 0000000000..d326191d84 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ConnectionRedirectMethodHandler.java @@ -0,0 +1,65 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.framing.ConnectionRedirectBody; + +public class ConnectionRedirectMethodHandler implements StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(ConnectionRedirectMethodHandler.class); + + private static final int DEFAULT_REDIRECT_PORT = 5672; + + private static ConnectionRedirectMethodHandler _handler = new ConnectionRedirectMethodHandler(); + + public static ConnectionRedirectMethodHandler getInstance() + { + return _handler; + } + + private ConnectionRedirectMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + _logger.info("ConnectionRedirect frame received"); + ConnectionRedirectBody method = (ConnectionRedirectBody) evt.getMethod(); + + // the host is in the form hostname:port with the port being optional + int portIndex = method.host.indexOf(':'); + String host; + int port; + if (portIndex == -1) + { + host = method.host; + port = DEFAULT_REDIRECT_PORT; + } + else + { + host = method.host.substring(0, portIndex); + port = Integer.parseInt(method.host.substring(portIndex + 1)); + } + evt.getProtocolSession().failover(host, port); + } +} diff --git a/java/client/src/org/apache/qpid/client/handler/ConnectionSecureMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ConnectionSecureMethodHandler.java new file mode 100644 index 0000000000..106ffc908e --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ConnectionSecureMethodHandler.java @@ -0,0 +1,64 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ConnectionSecureOkBody; +import org.apache.qpid.framing.ConnectionSecureBody; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.client.protocol.AMQMethodEvent; + +import javax.security.sasl.SaslClient; +import javax.security.sasl.SaslException; + +public class ConnectionSecureMethodHandler implements StateAwareMethodListener +{ + private static final ConnectionSecureMethodHandler _instance = new ConnectionSecureMethodHandler(); + + public static ConnectionSecureMethodHandler getInstance() + { + return _instance; + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + SaslClient client = evt.getProtocolSession().getSaslClient(); + if (client == null) + { + throw new AMQException("No SASL client set up - cannot proceed with authentication"); + } + + ConnectionSecureBody body = (ConnectionSecureBody) evt.getMethod(); + + try + { + // Evaluate server challenge + byte[] response = client.evaluateChallenge(body.challenge); + AMQFrame responseFrame = ConnectionSecureOkBody.createAMQFrame(evt.getChannelId(), response); + evt.getProtocolSession().writeFrame(responseFrame); + } + catch (SaslException e) + { + throw new AMQException("Error processing SASL challenge: " + e, e); + } + + + } +} diff --git a/java/client/src/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java new file mode 100644 index 0000000000..f0d17e9b55 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java @@ -0,0 +1,184 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.protocol.AMQProtocolSession; +import org.apache.qpid.client.security.AMQCallbackHandler; +import org.apache.qpid.client.security.CallbackHandlerRegistry; +import org.apache.qpid.client.state.AMQState; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.framing.ConnectionStartBody; +import org.apache.qpid.framing.ConnectionStartOkBody; +import org.apache.qpid.framing.FieldTable; + +import javax.security.sasl.Sasl; +import javax.security.sasl.SaslClient; +import javax.security.sasl.SaslException; +import java.io.UnsupportedEncodingException; +import java.util.HashSet; +import java.util.StringTokenizer; + +public class ConnectionStartMethodHandler implements StateAwareMethodListener +{ + + private static final Logger _log = Logger.getLogger(ConnectionStartMethodHandler.class); + + private static final ConnectionStartMethodHandler _instance = new ConnectionStartMethodHandler(); + + public static ConnectionStartMethodHandler getInstance() + { + return _instance; + } + + private ConnectionStartMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + ConnectionStartBody body = (ConnectionStartBody) evt.getMethod(); + + try + { + // the mechanism we are going to use + String mechanism; + if (body.mechanisms == null) + { + throw new AMQException("mechanism not specified in ConnectionStart method frame"); + } + else + { + mechanism = chooseMechanism(body.mechanisms); + } + + if (mechanism == null) + { + throw new AMQException("No supported security mechanism found, passed: " + new String(body.mechanisms)); + } + + final AMQProtocolSession ps = evt.getProtocolSession(); + byte[] saslResponse; + try + { + SaslClient sc = Sasl.createSaslClient(new String[]{mechanism}, + null, "AMQP", "localhost", + null, createCallbackHandler(mechanism, ps)); + if (sc == null) + { + throw new AMQException("Client SASL configuration error: no SaslClient could be created for mechanism " + + mechanism + ". Please ensure all factories are registered. See DynamicSaslRegistrar for " + + " details of how to register non-standard SASL client providers."); + } + ps.setSaslClient(sc); + saslResponse = (sc.hasInitialResponse() ? sc.evaluateChallenge(new byte[0]) : null); + } + catch (SaslException e) + { + ps.setSaslClient(null); + throw new AMQException("Unable to create SASL client: " + e, e); + } + + if (body.locales == null) + { + throw new AMQException("Locales is not defined in Connection Start method"); + } + final String locales = new String(body.locales, "utf8"); + final StringTokenizer tokenizer = new StringTokenizer(locales, " "); + String selectedLocale = null; + if (tokenizer.hasMoreTokens()) + { + selectedLocale = tokenizer.nextToken(); + } + else + { + throw new AMQException("No locales sent from server, passed: " + locales); + } + + stateManager.changeState(AMQState.CONNECTION_NOT_TUNED); + FieldTable clientProperties = new FieldTable(); + clientProperties.put("instance", ps.getClientID()); + clientProperties.put("product", "Qpid"); + clientProperties.put("version", "1.0"); + clientProperties.put("platform", getFullSystemInfo()); + ps.writeFrame(ConnectionStartOkBody.createAMQFrame(evt.getChannelId(), clientProperties, mechanism, + saslResponse, selectedLocale)); + } + catch (UnsupportedEncodingException e) + { + throw new AMQException(_log, "Unable to decode data: " + e, e); + } + } + + private String getFullSystemInfo() + { + StringBuffer fullSystemInfo = new StringBuffer(); + fullSystemInfo.append(System.getProperty("java.runtime.name")); + fullSystemInfo.append(", " + System.getProperty("java.runtime.version")); + fullSystemInfo.append(", " + System.getProperty("java.vendor")); + fullSystemInfo.append(", " + System.getProperty("os.arch")); + fullSystemInfo.append(", " + System.getProperty("os.name")); + fullSystemInfo.append(", " + System.getProperty("os.version")); + fullSystemInfo.append(", " + System.getProperty("sun.os.patch.level")); + + return fullSystemInfo.toString(); + } + + private String chooseMechanism(byte[] availableMechanisms) throws UnsupportedEncodingException + { + final String mechanisms = new String(availableMechanisms, "utf8"); + StringTokenizer tokenizer = new StringTokenizer(mechanisms, " "); + HashSet mechanismSet = new HashSet(); + while (tokenizer.hasMoreTokens()) + { + mechanismSet.add(tokenizer.nextToken()); + } + + String preferredMechanisms = CallbackHandlerRegistry.getInstance().getMechanisms(); + StringTokenizer prefTokenizer = new StringTokenizer(preferredMechanisms, " "); + while (prefTokenizer.hasMoreTokens()) + { + String mech = prefTokenizer.nextToken(); + if (mechanismSet.contains(mech)) + { + return mech; + } + } + return null; + } + + private AMQCallbackHandler createCallbackHandler(String mechanism, AMQProtocolSession protocolSession) + throws AMQException + { + Class mechanismClass = CallbackHandlerRegistry.getInstance().getCallbackHandlerClass(mechanism); + try + { + Object instance = mechanismClass.newInstance(); + AMQCallbackHandler cbh = (AMQCallbackHandler) instance; + cbh.initialise(protocolSession); + return cbh; + } + catch (Exception e) + { + throw new AMQException("Unable to create callback handler: " + e, e); + } + } +} diff --git a/java/client/src/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java b/java/client/src/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java new file mode 100644 index 0000000000..6e32bb692e --- /dev/null +++ b/java/client/src/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java @@ -0,0 +1,79 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.ConnectionTuneParameters; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.protocol.AMQProtocolSession; +import org.apache.qpid.client.state.AMQState; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.framing.ConnectionOpenBody; +import org.apache.qpid.framing.ConnectionTuneBody; +import org.apache.qpid.framing.ConnectionTuneOkBody; +import org.apache.qpid.framing.AMQFrame; + +public class ConnectionTuneMethodHandler implements StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(ConnectionTuneMethodHandler.class); + + private static final ConnectionTuneMethodHandler _instance = new ConnectionTuneMethodHandler(); + + public static ConnectionTuneMethodHandler getInstance() + { + return _instance; + } + + protected ConnectionTuneMethodHandler() + { + } + + public void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException + { + _logger.debug("ConnectionTune frame received"); + ConnectionTuneBody frame = (ConnectionTuneBody) evt.getMethod(); + AMQProtocolSession session = evt.getProtocolSession(); + + ConnectionTuneParameters params = session.getConnectionTuneParameters(); + if (params == null) + { + params = new ConnectionTuneParameters(); + } + + params.setFrameMax(frame.frameMax); + params.setChannelMax(frame.channelMax); + params.setHeartbeat(Integer.getInteger("amqj.heartbeat.delay", frame.heartbeat)); + session.setConnectionTuneParameters(params); + + stateManager.changeState(AMQState.CONNECTION_NOT_OPENED); + session.writeFrame(createTuneOkFrame(evt.getChannelId(), params)); + session.writeFrame(createConnectionOpenFrame(evt.getChannelId(), session.getAMQConnection().getVirtualHost(), null, true)); + } + + protected AMQFrame createConnectionOpenFrame(int channel, String path, String capabilities, boolean insist) + { + return ConnectionOpenBody.createAMQFrame(channel, path, capabilities, insist); + } + + protected AMQFrame createTuneOkFrame(int channel, ConnectionTuneParameters params) + { + return ConnectionTuneOkBody.createAMQFrame(channel, params.getChannelMax(), params.getFrameMax(), params.getHeartbeat()); + } +} diff --git a/java/client/src/org/apache/qpid/client/message/AMQMessage.java b/java/client/src/org/apache/qpid/client/message/AMQMessage.java new file mode 100644 index 0000000000..d281a15607 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/AMQMessage.java @@ -0,0 +1,68 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.framing.ContentHeaderProperties; +import org.apache.qpid.client.AMQSession; + +public class AMQMessage +{ + protected ContentHeaderProperties _contentHeaderProperties; + + /** + * If the acknowledge mode is CLIENT_ACKNOWLEDGE the session is required + */ + protected AMQSession _session; + + protected final long _deliveryTag; + + public AMQMessage(ContentHeaderProperties properties, long deliveryTag) + { + _contentHeaderProperties = properties; + _deliveryTag = deliveryTag; + } + + public AMQMessage(ContentHeaderProperties properties) + { + this(properties, -1); + } + + /** + * The session is set when CLIENT_ACKNOWLEDGE mode is used so that the CHANNEL ACK can be sent when the user + * calls acknowledge() + * @param s the AMQ session that delivered this message + */ + public void setAMQSession(AMQSession s) + { + _session = s; + } + + public AMQSession getAMQSession() + { + return _session; + } + + /** + * Get the AMQ message number assigned to this message + * @return the message number + */ + public long getDeliveryTag() + { + return _deliveryTag; + } +} diff --git a/java/client/src/org/apache/qpid/client/message/AbstractJMSMessage.java b/java/client/src/org/apache/qpid/client/message/AbstractJMSMessage.java new file mode 100644 index 0000000000..9cffe2c484 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/AbstractJMSMessage.java @@ -0,0 +1,677 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.AMQException; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.framing.BasicContentHeaderProperties; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.framing.FieldTableKeyEnumeration; +import org.apache.commons.collections.map.ReferenceMap; +import org.apache.commons.lang.NotImplementedException; +import org.apache.mina.common.ByteBuffer; + +import javax.jms.Destination; +import javax.jms.JMSException; +import java.util.Collections; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.Map; + +public abstract class AbstractJMSMessage extends AMQMessage implements javax.jms.Message +{ + private static final Map _destinationCache = Collections.synchronizedMap(new ReferenceMap()); + +// protected Map _messageProperties; + + public static final char BOOLEAN_PROPERTY_PREFIX = 'B'; + public static final char BYTE_PROPERTY_PREFIX = 'b'; + public static final char SHORT_PROPERTY_PREFIX = 's'; + public static final char INT_PROPERTY_PREFIX = 'i'; + public static final char LONG_PROPERTY_PREFIX = 'l'; + public static final char FLOAT_PROPERTY_PREFIX = 'f'; + public static final char DOUBLE_PROPERTY_PREFIX = 'd'; + public static final char STRING_PROPERTY_PREFIX = 'S'; + + protected boolean _redelivered; + + protected ByteBuffer _data; + + protected AbstractJMSMessage(ByteBuffer data) + { + super(new BasicContentHeaderProperties()); + _data = data; + if (_data != null) + { + _data.acquire(); + } + } + + protected AbstractJMSMessage(long deliveryTag, BasicContentHeaderProperties contentHeader, ByteBuffer data) throws AMQException + { + this(contentHeader, deliveryTag); + _data = data; + if (_data != null) + { + _data.acquire(); + } + } + + protected AbstractJMSMessage(BasicContentHeaderProperties contentHeader, long deliveryTag) + { + super(contentHeader, deliveryTag); + } + + public String getJMSMessageID() throws JMSException + { + if (getJmsContentHeaderProperties().getMessageId() == null) + { + getJmsContentHeaderProperties().setMessageId("ID:" + _deliveryTag); + } + return getJmsContentHeaderProperties().getMessageId(); + } + + public void setJMSMessageID(String messageId) throws JMSException + { + getJmsContentHeaderProperties().setMessageId(messageId); + } + + public long getJMSTimestamp() throws JMSException + { + return new Long(getJmsContentHeaderProperties().getTimestamp()).longValue(); + } + + public void setJMSTimestamp(long timestamp) throws JMSException + { + getJmsContentHeaderProperties().setTimestamp(timestamp); + } + + public byte[] getJMSCorrelationIDAsBytes() throws JMSException + { + return getJmsContentHeaderProperties().getCorrelationId().getBytes(); + } + + public void setJMSCorrelationIDAsBytes(byte[] bytes) throws JMSException + { + getJmsContentHeaderProperties().setCorrelationId(new String(bytes)); + } + + public void setJMSCorrelationID(String correlationId) throws JMSException + { + getJmsContentHeaderProperties().setCorrelationId(correlationId); + } + + public String getJMSCorrelationID() throws JMSException + { + return getJmsContentHeaderProperties().getCorrelationId(); + } + + public Destination getJMSReplyTo() throws JMSException + { + String replyToEncoding = getJmsContentHeaderProperties().getReplyTo(); + if (replyToEncoding == null) + { + return null; + } + else + { + Destination dest = (Destination) _destinationCache.get(replyToEncoding); + if (dest == null) + { + char destType = replyToEncoding.charAt(0); + if (destType == 'Q') + { + dest = new AMQQueue(replyToEncoding.substring(1)); + } + else if (destType == 'T') + { + dest = new AMQTopic(replyToEncoding.substring(1)); + } + else + { + throw new JMSException("Illegal value in JMS_ReplyTo property: " + replyToEncoding); + } + _destinationCache.put(replyToEncoding, dest); + } + return dest; + } + } + + public void setJMSReplyTo(Destination destination) throws JMSException + { + if (destination == null) + { + throw new IllegalArgumentException("Null destination not allowed"); + } + if (!(destination instanceof AMQDestination)) + { + throw new IllegalArgumentException("ReplyTo destination my be an AMQ destination - passed argument was type " + + destination.getClass()); + } + final AMQDestination amqd = (AMQDestination) destination; + + final String encodedDestination = amqd.getEncodedName(); + _destinationCache.put(encodedDestination, destination); + getJmsContentHeaderProperties().setReplyTo(encodedDestination); + } + + public Destination getJMSDestination() throws JMSException + { + // TODO: implement this once we have sorted out how to figure out the exchange class + throw new NotImplementedException(); + } + + public void setJMSDestination(Destination destination) throws JMSException + { + throw new NotImplementedException(); + } + + public int getJMSDeliveryMode() throws JMSException + { + return getJmsContentHeaderProperties().getDeliveryMode(); + } + + public void setJMSDeliveryMode(int i) throws JMSException + { + getJmsContentHeaderProperties().setDeliveryMode((byte) i); + } + + public boolean getJMSRedelivered() throws JMSException + { + return _redelivered; + } + + public void setJMSRedelivered(boolean b) throws JMSException + { + _redelivered = b; + } + + public String getJMSType() throws JMSException + { + return getMimeType(); + } + + public void setJMSType(String string) throws JMSException + { + throw new JMSException("Cannot set JMS Type - it is implicitly defined based on message type"); + } + + public long getJMSExpiration() throws JMSException + { + return new Long(getJmsContentHeaderProperties().getExpiration()).longValue(); + } + + public void setJMSExpiration(long l) throws JMSException + { + getJmsContentHeaderProperties().setExpiration(l); + } + + public int getJMSPriority() throws JMSException + { + return getJmsContentHeaderProperties().getPriority(); + } + + public void setJMSPriority(int i) throws JMSException + { + getJmsContentHeaderProperties().setPriority((byte) i); + } + + public void clearProperties() throws JMSException + { + if (getJmsContentHeaderProperties().getHeaders() != null) + { + getJmsContentHeaderProperties().getHeaders().clear(); + } + } + + public boolean propertyExists(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return false; + } + else + { + // TODO: fix this + return getJmsContentHeaderProperties().getHeaders().containsKey(STRING_PROPERTY_PREFIX + propertyName); + } + } + + public boolean getBooleanProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return Boolean.valueOf(null).booleanValue(); + } + else + { + // store as integer as temporary workaround + //Boolean b = (Boolean) getJmsContentHeaderProperties().headers.get(BOOLEAN_PROPERTY_PREFIX + propertyName); + Long b = (Long) getJmsContentHeaderProperties().getHeaders().get(BOOLEAN_PROPERTY_PREFIX + propertyName); + + if (b == null) + { + return Boolean.valueOf(null).booleanValue(); + } + else + { + return b.longValue() != 0; + } + } + } + + public byte getByteProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return Byte.valueOf(null).byteValue(); + } + else + { + Byte b = (Byte) getJmsContentHeaderProperties().getHeaders().get(BYTE_PROPERTY_PREFIX + propertyName); + if (b == null) + { + return Byte.valueOf(null).byteValue(); + } + else + { + return b.byteValue(); + } + } + } + + public short getShortProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return Short.valueOf(null).shortValue(); + } + else + { + Short s = (Short) getJmsContentHeaderProperties().getHeaders().get(SHORT_PROPERTY_PREFIX + propertyName); + if (s == null) + { + return Short.valueOf(null).shortValue(); + } + else + { + return s.shortValue(); + } + } + } + + public int getIntProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return Integer.valueOf(null).intValue(); + } + else + { + Integer i = (Integer) getJmsContentHeaderProperties().getHeaders().get(INT_PROPERTY_PREFIX + propertyName); + if (i == null) + { + return Integer.valueOf(null).intValue(); + } + else + { + return i.intValue(); + } + } + } + + public long getLongProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return Long.valueOf(null).longValue(); + } + else + { + Long l = (Long) getJmsContentHeaderProperties().getHeaders().get(LONG_PROPERTY_PREFIX + propertyName); + if (l == null) + { + // temp - the spec says do this but this throws a NumberFormatException + //return Long.valueOf(null).longValue(); + return 0; + } + else + { + return l.longValue(); + } + } + } + + public float getFloatProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return Float.valueOf(null).floatValue(); + } + else + { + final Float f = (Float) getJmsContentHeaderProperties().getHeaders().get(FLOAT_PROPERTY_PREFIX + propertyName); + if (f == null) + { + return Float.valueOf(null).floatValue(); + } + else + { + return f.floatValue(); + } + } + } + + public double getDoubleProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return Double.valueOf(null).doubleValue(); + } + else + { + final Double d = (Double) getJmsContentHeaderProperties().getHeaders().get(DOUBLE_PROPERTY_PREFIX + propertyName); + if (d == null) + { + return Double.valueOf(null).doubleValue(); + } + else + { + return d.shortValue(); + } + } + } + + public String getStringProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return null; + } + else + { + return (String) getJmsContentHeaderProperties().getHeaders().get(STRING_PROPERTY_PREFIX + propertyName); + } + } + + public Object getObjectProperty(String propertyName) throws JMSException + { + checkPropertyName(propertyName); + throw new JMSException("Not implemented yet"); + } + + public Enumeration getPropertyNames() throws JMSException + { + return new FieldTableKeyEnumeration(getJmsContentHeaderProperties().getHeaders()) + { + public Object nextElement() + { + String propName = (String) _iterator.next(); + + //The propertyName has a single Char prefix. Skip this. + return propName.substring(1); + } + }; + } + + public void setBooleanProperty(String propertyName, boolean b) throws JMSException + { + checkPropertyName(propertyName); + //getJmsContentHeaderProperties().headers.put(BOOLEAN_PROPERTY_PREFIX + propertyName, Boolean.valueOf(b)); + getJmsContentHeaderProperties().getHeaders().put(BOOLEAN_PROPERTY_PREFIX + propertyName, b ? new Long(1) : new Long(0)); + } + + public void setByteProperty(String propertyName, byte b) throws JMSException + { + checkPropertyName(propertyName); + getJmsContentHeaderProperties().getHeaders().put(BYTE_PROPERTY_PREFIX + propertyName, new Byte(b)); + } + + public void setShortProperty(String propertyName, short i) throws JMSException + { + checkPropertyName(propertyName); + getJmsContentHeaderProperties().getHeaders().put(SHORT_PROPERTY_PREFIX + propertyName, new Short(i)); + } + + public void setIntProperty(String propertyName, int i) throws JMSException + { + checkPropertyName(propertyName); + getJmsContentHeaderProperties().getHeaders().put(INT_PROPERTY_PREFIX + propertyName, new Integer(i)); + } + + public void setLongProperty(String propertyName, long l) throws JMSException + { + checkPropertyName(propertyName); + getJmsContentHeaderProperties().getHeaders().put(LONG_PROPERTY_PREFIX + propertyName, new Long(l)); + } + + public void setFloatProperty(String propertyName, float f) throws JMSException + { + checkPropertyName(propertyName); + getJmsContentHeaderProperties().getHeaders().put(FLOAT_PROPERTY_PREFIX + propertyName, new Float(f)); + } + + public void setDoubleProperty(String propertyName, double v) throws JMSException + { + checkPropertyName(propertyName); + getJmsContentHeaderProperties().getHeaders().put(DOUBLE_PROPERTY_PREFIX + propertyName, new Double(v)); + } + + public void setStringProperty(String propertyName, String value) throws JMSException + { + checkPropertyName(propertyName); + createPropertyMapIfRequired(); + propertyName = STRING_PROPERTY_PREFIX + propertyName; + getJmsContentHeaderProperties().getHeaders().put(propertyName, value); + } + + private void createPropertyMapIfRequired() + { + if (getJmsContentHeaderProperties().getHeaders() == null) + { + getJmsContentHeaderProperties().setHeaders(new FieldTable()); + } + } + + public void setObjectProperty(String string, Object object) throws JMSException + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void acknowledge() throws JMSException + { + // the JMS 1.1 spec says in section 3.6 that calls to acknowledge are ignored when client acknowledge + // is not specified. In our case, we only set the session field where client acknowledge mode is specified. + if (_session != null) + { + // we set multiple to true here since acknowledgement implies acknowledge of all previous messages + // received on the session + _session.acknowledgeMessage(_deliveryTag, true); + } + } + + public abstract void clearBody() throws JMSException; + + /** + * Get a String representation of the body of the message. Used in the + * toString() method which outputs this before message properties. + */ + public abstract String toBodyString() throws JMSException; + + public abstract String getMimeType(); + + public String toString() + { + try + { + StringBuffer buf = new StringBuffer("Body:\n"); + buf.append(toBodyString()); + buf.append("\nJMS timestamp: ").append(getJMSTimestamp()); + buf.append("\nJMS expiration: ").append(getJMSExpiration()); + buf.append("\nJMS priority: ").append(getJMSPriority()); + buf.append("\nJMS delivery mode: ").append(getJMSDeliveryMode()); + buf.append("\nJMS reply to: ").append(String.valueOf(getJMSReplyTo())); + buf.append("\nAMQ message number: ").append(_deliveryTag); + buf.append("\nProperties:"); + if (getJmsContentHeaderProperties().getHeaders() == null) + { + buf.append("<NONE>"); + } + else + { + final Iterator it = getJmsContentHeaderProperties().getHeaders().entrySet().iterator(); + while (it.hasNext()) + { + final Map.Entry entry = (Map.Entry) it.next(); + final String propertyName = (String) entry.getKey(); + if (propertyName == null) + { + buf.append("\nInternal error: Property with NULL key defined"); + } + else + { + buf.append('\n').append(propertyName.substring(1)); + + char typeIdentifier = propertyName.charAt(0); + switch (typeIdentifier) + { + case org.apache.qpid.client.message.AbstractJMSMessage.BOOLEAN_PROPERTY_PREFIX: + buf.append("<boolean> "); + break; + case org.apache.qpid.client.message.AbstractJMSMessage.BYTE_PROPERTY_PREFIX: + buf.append("<byte> "); + break; + case org.apache.qpid.client.message.AbstractJMSMessage.SHORT_PROPERTY_PREFIX: + buf.append("<short> "); + break; + case org.apache.qpid.client.message.AbstractJMSMessage.INT_PROPERTY_PREFIX: + buf.append("<int> "); + break; + case org.apache.qpid.client.message.AbstractJMSMessage.LONG_PROPERTY_PREFIX: + buf.append("<long> "); + break; + case org.apache.qpid.client.message.AbstractJMSMessage.FLOAT_PROPERTY_PREFIX: + buf.append("<float> "); + break; + case org.apache.qpid.client.message.AbstractJMSMessage.DOUBLE_PROPERTY_PREFIX: + buf.append("<double> "); + break; + case org.apache.qpid.client.message.AbstractJMSMessage.STRING_PROPERTY_PREFIX: + buf.append("<string> "); + break; + default: + buf.append("<unknown type (identifier " + + typeIdentifier + ") "); + } + buf.append(String.valueOf(entry.getValue())); + } + } + } + return buf.toString(); + } + catch (JMSException e) + { + return e.toString(); + } + } + + public Map getUnderlyingMessagePropertiesMap() + { + return getJmsContentHeaderProperties().getHeaders(); + } + + public void setUnderlyingMessagePropertiesMap(FieldTable messageProperties) + { + getJmsContentHeaderProperties().setHeaders(messageProperties); + } + + private void checkPropertyName(String propertyName) + { + if (propertyName == null) + { + throw new IllegalArgumentException("Property name must not be null"); + } + else if ("".equals(propertyName)) + { + throw new IllegalArgumentException("Property name must not be the empty string"); + } + + if (getJmsContentHeaderProperties().getHeaders() == null) + { + getJmsContentHeaderProperties().setHeaders(new FieldTable()); + } + } + + public FieldTable populateHeadersFromMessageProperties() + { + if (getJmsContentHeaderProperties().getHeaders() == null) + { + return null; + } + else + { + // + // We need to convert every property into a String representation + // Note that type information is preserved in the property name + // + final FieldTable table = new FieldTable(); + final Iterator entries = getJmsContentHeaderProperties().getHeaders().entrySet().iterator(); + while (entries.hasNext()) + { + final Map.Entry entry = (Map.Entry) entries.next(); + final String propertyName = (String) entry.getKey(); + if (propertyName == null) + { + continue; + } + else + { + table.put(propertyName, entry.getValue().toString()); + } + } + return table; + } + } + + public BasicContentHeaderProperties getJmsContentHeaderProperties() + { + return (BasicContentHeaderProperties) _contentHeaderProperties; + } + + public ByteBuffer getData() + { + // make sure we rewind the data just in case any method has moved the + // position beyond the start + if (_data != null) + { + _data.rewind(); + } + return _data; + } +} diff --git a/java/client/src/org/apache/qpid/client/message/AbstractJMSMessageFactory.java b/java/client/src/org/apache/qpid/client/message/AbstractJMSMessageFactory.java new file mode 100644 index 0000000000..57603f8a7e --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/AbstractJMSMessageFactory.java @@ -0,0 +1,77 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; + +import javax.jms.JMSException; +import java.util.Iterator; +import java.util.List; + +public abstract class AbstractJMSMessageFactory implements MessageFactory +{ + private static final Logger _logger = Logger.getLogger(AbstractJMSMessageFactory.class); + + + protected abstract AbstractJMSMessage createMessage(long messageNbr, ByteBuffer data, + ContentHeaderBody contentHeader) throws AMQException; + + protected AbstractJMSMessage createMessageWithBody(long messageNbr, + ContentHeaderBody contentHeader, + List bodies) throws AMQException + { + ByteBuffer data; + + // we optimise the non-fragmented case to avoid copying + if (bodies != null && bodies.size() == 1) + { + _logger.debug("Non-fragmented message body (bodySize=" + contentHeader.bodySize +")"); + data = ((ContentBody)bodies.get(0)).payload; + } + else + { + _logger.debug("Fragmented message body (" + bodies.size() + " frames, bodySize=" + contentHeader.bodySize + ")"); + data = ByteBuffer.allocate((int)contentHeader.bodySize); // XXX: Is cast a problem? + final Iterator it = bodies.iterator(); + while (it.hasNext()) + { + ContentBody cb = (ContentBody) it.next(); + data.put(cb.payload); + cb.payload.release(); + } + data.flip(); + } + _logger.debug("Creating message from buffer with position=" + data.position() + " and remaining=" + data.remaining()); + + return createMessage(messageNbr, data, contentHeader); + } + + public AbstractJMSMessage createMessage(long messageNbr, boolean redelivered, + ContentHeaderBody contentHeader, + List bodies) throws JMSException, AMQException + { + final AbstractJMSMessage msg = createMessageWithBody(messageNbr, contentHeader, bodies); + msg.setJMSRedelivered(redelivered); + return msg; + } + +} diff --git a/java/client/src/org/apache/qpid/client/message/JMSBytesMessage.java b/java/client/src/org/apache/qpid/client/message/JMSBytesMessage.java new file mode 100644 index 0000000000..2cd635f6eb --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/JMSBytesMessage.java @@ -0,0 +1,351 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.framing.BasicContentHeaderProperties; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.AMQException; +import org.apache.mina.common.ByteBuffer; + +import javax.jms.JMSException; +import javax.jms.MessageNotReadableException; +import javax.jms.MessageNotWriteableException; +import java.io.*; +import java.nio.charset.Charset; +import java.nio.charset.CharacterCodingException; + +public class JMSBytesMessage extends AbstractJMSMessage implements javax.jms.BytesMessage +{ + private static final String MIME_TYPE = "application/octet-stream"; + + private boolean _readable = false; + + /** + * The default initial size of the buffer. The buffer expands automatically. + */ + private static final int DEFAULT_BUFFER_INITIAL_SIZE = 1024; + + JMSBytesMessage() + { + this(null); + } + + /** + * Construct a bytes message with existing data. + * @param data the data that comprises this message. If data is null, you get a 1024 byte buffer that is + * set to auto expand + */ + JMSBytesMessage(ByteBuffer data) + { + super(data); // this instanties a content header + getJmsContentHeaderProperties().setContentType(MIME_TYPE); + + if (_data == null) + { + _data = ByteBuffer.allocate(DEFAULT_BUFFER_INITIAL_SIZE); + _data.setAutoExpand(true); + } + _readable = (data != null); + } + + JMSBytesMessage(long messageNbr, ByteBuffer data, ContentHeaderBody contentHeader) + throws AMQException + { + // TODO: this casting is ugly. Need to review whole ContentHeaderBody idea + super(messageNbr, (BasicContentHeaderProperties) contentHeader.properties, data); + getJmsContentHeaderProperties().setContentType(MIME_TYPE); + _readable = true; + } + + public void clearBody() throws JMSException + { + _data.clear(); + _readable = false; + } + + public String toBodyString() throws JMSException + { + checkReadable(); + try + { + return getText(); + } + catch (IOException e) + { + throw new JMSException(e.toString()); + } + } + + /** + * We reset the stream before and after reading the data. This means that toString() will always output + * the entire message and also that the caller can then immediately start reading as if toString() had + * never been called. + * @return + * @throws IOException + */ + private String getText() throws IOException + { + // this will use the default platform encoding + if (_data == null) + { + return null; + } + int pos = _data.position(); + _data.rewind(); + // one byte left is for the end of frame marker + if (_data.remaining() == 0) + { + // this is really redundant since pos must be zero + _data.position(pos); + return null; + } + else + { + String data = _data.getString(Charset.forName("UTF8").newDecoder()); + _data.position(pos); + return data; + } + } + + public String getMimeType() + { + return MIME_TYPE; + } + + public long getBodyLength() throws JMSException + { + checkReadable(); + return _data.limit(); + } + + private void checkReadable() throws MessageNotReadableException + { + if (!_readable) + { + throw new MessageNotReadableException("You need to call reset() to make the message readable"); + } + } + + private void checkWritable() throws MessageNotWriteableException + { + if (_readable) + { + throw new MessageNotWriteableException("You need to call clearBody() to make the message writable"); + } + } + + public boolean readBoolean() throws JMSException + { + checkReadable(); + return _data.get() != 0; + } + + public byte readByte() throws JMSException + { + checkReadable(); + return _data.get(); + } + + public int readUnsignedByte() throws JMSException + { + checkReadable(); + return _data.getUnsigned(); + } + + public short readShort() throws JMSException + { + checkReadable(); + return _data.getShort(); + } + + public int readUnsignedShort() throws JMSException + { + checkReadable(); + return _data.getUnsignedShort(); + } + + public char readChar() throws JMSException + { + checkReadable(); + return _data.getChar(); + } + + public int readInt() throws JMSException + { + checkReadable(); + return _data.getInt(); + } + + public long readLong() throws JMSException + { + checkReadable(); + return _data.getLong(); + } + + public float readFloat() throws JMSException + { + checkReadable(); + return _data.getFloat(); + } + + public double readDouble() throws JMSException + { + checkReadable(); + return _data.getDouble(); + } + + public String readUTF() throws JMSException + { + checkReadable(); + try + { + return _data.getString(Charset.forName("UTF-8").newDecoder()); + } + catch (CharacterCodingException e) + { + JMSException je = new JMSException("Error decoding byte stream as a UTF8 string: " + e); + je.setLinkedException(e); + throw je; + } + } + + public int readBytes(byte[] bytes) throws JMSException + { + if (bytes == null) + { + throw new IllegalArgumentException("byte array must not be null"); + } + checkReadable(); + int count = (_data.remaining() >= bytes.length ? bytes.length : _data.remaining()); + _data.get(bytes, 0, count); + return count; + } + + public int readBytes(byte[] bytes, int maxLength) throws JMSException + { + if (bytes == null) + { + throw new IllegalArgumentException("byte array must not be null"); + } + if (maxLength > bytes.length) + { + throw new IllegalArgumentException("maxLength must be <= bytes.length"); + } + checkReadable(); + int count = (_data.remaining() >= maxLength ? maxLength : _data.remaining()); + _data.get(bytes, 0, count); + return count; + } + + public void writeBoolean(boolean b) throws JMSException + { + checkWritable(); + _data.put(b?(byte)1:(byte)0); + } + + public void writeByte(byte b) throws JMSException + { + checkWritable(); + _data.put(b); + } + + public void writeShort(short i) throws JMSException + { + checkWritable(); + _data.putShort(i); + } + + public void writeChar(char c) throws JMSException + { + checkWritable(); + _data.putChar(c); + } + + public void writeInt(int i) throws JMSException + { + checkWritable(); + _data.putInt(i); + } + + public void writeLong(long l) throws JMSException + { + checkWritable(); + _data.putLong(l); + } + + public void writeFloat(float v) throws JMSException + { + checkWritable(); + _data.putFloat(v); + } + + public void writeDouble(double v) throws JMSException + { + checkWritable(); + _data.putDouble(v); + } + + public void writeUTF(String string) throws JMSException + { + checkWritable(); + try + { + _data.putString(string, Charset.forName("UTF-8").newEncoder()); + } + catch (CharacterCodingException e) + { + JMSException ex = new JMSException("Unable to encode string: " + e); + ex.setLinkedException(e); + throw ex; + } + } + + public void writeBytes(byte[] bytes) throws JMSException + { + checkWritable(); + _data.put(bytes); + } + + public void writeBytes(byte[] bytes, int offset, int length) throws JMSException + { + checkWritable(); + _data.put(bytes, offset, length); + } + + public void writeObject(Object object) throws JMSException + { + checkWritable(); + if (object == null) + { + throw new NullPointerException("Argument must not be null"); + } + _data.putObject(object); + } + + public void reset() throws JMSException + { + //checkWritable(); + _data.flip(); + _readable = true; + } + + public boolean isReadable() + { + return _readable; + } +} diff --git a/java/client/src/org/apache/qpid/client/message/JMSBytesMessageFactory.java b/java/client/src/org/apache/qpid/client/message/JMSBytesMessageFactory.java new file mode 100644 index 0000000000..0e3aa45047 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/JMSBytesMessageFactory.java @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ContentHeaderBody; + +import javax.jms.JMSException; + +public class JMSBytesMessageFactory extends AbstractJMSMessageFactory +{ + protected AbstractJMSMessage createMessage(long deliveryTag, ByteBuffer data, ContentHeaderBody contentHeader) throws AMQException + { + return new JMSBytesMessage(deliveryTag, data, contentHeader); + } + + public AbstractJMSMessage createMessage() throws JMSException + { + return new JMSBytesMessage(); + } +} diff --git a/java/client/src/org/apache/qpid/client/message/JMSObjectMessage.java b/java/client/src/org/apache/qpid/client/message/JMSObjectMessage.java new file mode 100644 index 0000000000..f0ac87c2d7 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/JMSObjectMessage.java @@ -0,0 +1,175 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.BasicContentHeaderProperties; +import org.apache.qpid.AMQException; +import org.apache.mina.common.ByteBuffer; + +import javax.jms.ObjectMessage; +import javax.jms.JMSException; +import javax.jms.MessageFormatException; +import javax.jms.MessageNotWriteableException; +import java.io.*; +import java.nio.charset.Charset; +import java.nio.charset.CharacterCodingException; + +public class JMSObjectMessage extends AbstractJMSMessage implements ObjectMessage +{ + static final String MIME_TYPE = "application/java-object-stream"; + private final boolean _readonly; + + private static final int DEFAULT_BUFFER_SIZE = 1024; + /** + * Creates empty, writable message for use by producers + */ + JMSObjectMessage() + { + this(null); + } + + private JMSObjectMessage(ByteBuffer data) + { + super(data); + if (data == null) + { + _data = ByteBuffer.allocate(DEFAULT_BUFFER_SIZE); + _data.setAutoExpand(true); + } + _readonly = (data != null); + getJmsContentHeaderProperties().setContentType(MIME_TYPE); + } + + /** + * Creates read only message for delivery to consumers + */ + JMSObjectMessage(long messageNbr, ByteBuffer data, ContentHeaderBody contentHeader) throws AMQException + { + super(messageNbr, (BasicContentHeaderProperties) contentHeader.properties, data); + _readonly = data != null; + } + + public void clearBody() throws JMSException + { + if (_data != null) + { + _data.release(); + } + _data = null; + } + + public String toBodyString() throws JMSException + { + return toString(_data); + } + + public String getMimeType() + { + return MIME_TYPE; + } + + public void setObject(Serializable serializable) throws JMSException + { + if (_readonly) + { + throw new MessageNotWriteableException("Message is not writable."); + } + + if (_data == null) + { + _data = ByteBuffer.allocate(DEFAULT_BUFFER_SIZE); + _data.setAutoExpand(true); + } + try + { + ObjectOutputStream out = new ObjectOutputStream(_data.asOutputStream()); + out.writeObject(serializable); + out.flush(); + out.close(); + _data.rewind(); + } + catch (IOException e) + { + throw new MessageFormatException("Message not serializable: " + e); + } + } + + public Serializable getObject() throws JMSException + { + ObjectInputStream in = null; + if (_data == null) + { + return null; + } + + try + { + in = new ObjectInputStream(_data.asInputStream()); + return (Serializable) in.readObject(); + } + catch (IOException e) + { + throw new MessageFormatException("Could not deserialize message: " + e); + } + catch (ClassNotFoundException e) + { + throw new MessageFormatException("Could not deserialize message: " + e); + } + finally + { + _data.rewind(); + close(in); + } + } + + private static void close(InputStream in) + { + try + { + if (in != null) + { + in.close(); + } + } + catch (IOException ignore) + { + } + } + + private static String toString(ByteBuffer data) + { + if (data == null) + { + return null; + } + int pos = data.position(); + try + { + return data.getString(Charset.forName("UTF8").newDecoder()); + } + catch (CharacterCodingException e) + { + return null; + } + finally + { + data.position(pos); + } + } +} diff --git a/java/client/src/org/apache/qpid/client/message/JMSObjectMessageFactory.java b/java/client/src/org/apache/qpid/client/message/JMSObjectMessageFactory.java new file mode 100644 index 0000000000..cb5f29ec74 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/JMSObjectMessageFactory.java @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ContentHeaderBody; + +import javax.jms.JMSException; + +public class JMSObjectMessageFactory extends AbstractJMSMessageFactory +{ + protected AbstractJMSMessage createMessage(long deliveryTag, ByteBuffer data, ContentHeaderBody contentHeader) throws AMQException + { + return new JMSObjectMessage(deliveryTag, data, contentHeader); + } + + public AbstractJMSMessage createMessage() throws JMSException + { + return new JMSObjectMessage(); + } +} diff --git a/java/client/src/org/apache/qpid/client/message/JMSTextMessage.java b/java/client/src/org/apache/qpid/client/message/JMSTextMessage.java new file mode 100644 index 0000000000..b860d55e94 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/JMSTextMessage.java @@ -0,0 +1,159 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.framing.BasicContentHeaderProperties; +import org.apache.qpid.AMQException; +import org.apache.mina.common.ByteBuffer; + +import javax.jms.JMSException; +import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; +import java.nio.charset.CharacterCodingException; + +public class JMSTextMessage extends AbstractJMSMessage implements javax.jms.TextMessage +{ + private static final String MIME_TYPE = "text/plain"; + + private String _decodedValue; + + JMSTextMessage() throws JMSException + { + this(null, null); + } + + JMSTextMessage(ByteBuffer data, String encoding) throws JMSException + { + super(data); // this instantiates a content header + getJmsContentHeaderProperties().setContentType(MIME_TYPE); + getJmsContentHeaderProperties().setEncoding(encoding); + } + + JMSTextMessage(long deliveryTag, ByteBuffer data, BasicContentHeaderProperties contentHeader) + throws AMQException + { + super(deliveryTag, contentHeader, data); + contentHeader.setContentType(MIME_TYPE); + _data = data; + } + + JMSTextMessage(ByteBuffer data) throws JMSException + { + this(data, null); + } + + JMSTextMessage(String text) throws JMSException + { + super((ByteBuffer)null); + setText(text); + } + + public void clearBody() throws JMSException + { + if (_data != null) + { + _data.release(); + } + _data = null; + _decodedValue = null; + } + + public String toBodyString() throws JMSException + { + return getText(); + } + + public void setData(ByteBuffer data) + { + _data = data; + } + + public String getMimeType() + { + return MIME_TYPE; + } + + public void setText(String string) throws JMSException + { + clearBody(); + try + { + _data = ByteBuffer.allocate(string.length()); + _data.limit(string.length()); + //_data.sweep(); + _data.setAutoExpand(true); + if (getJmsContentHeaderProperties().getEncoding() == null) + { + _data.put(string.getBytes()); + } + else + { + _data.put(string.getBytes(getJmsContentHeaderProperties().getEncoding())); + } + _decodedValue = string; + } + catch (UnsupportedEncodingException e) + { + // should never occur + throw new JMSException("Unable to decode string data"); + } + } + + public String getText() throws JMSException + { + if (_data == null && _decodedValue == null) + { + return null; + } + else if (_decodedValue != null) + { + return _decodedValue; + } + else + { + _data.rewind(); + if (getJmsContentHeaderProperties().getEncoding() != null) + { + try + { + _decodedValue = _data.getString(Charset.forName(getJmsContentHeaderProperties().getEncoding()).newDecoder()); + } + catch (CharacterCodingException e) + { + JMSException je = new JMSException("Could not decode string data: " + e); + je.setLinkedException(e); + throw je; + } + } + else + { + try + { + _decodedValue = _data.getString(Charset.defaultCharset().newDecoder()); + } + catch (CharacterCodingException e) + { + JMSException je = new JMSException("Could not decode string data: " + e); + je.setLinkedException(e); + throw je; + } + } + return _decodedValue; + } + } +} diff --git a/java/client/src/org/apache/qpid/client/message/JMSTextMessageFactory.java b/java/client/src/org/apache/qpid/client/message/JMSTextMessageFactory.java new file mode 100644 index 0000000000..747965d26e --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/JMSTextMessageFactory.java @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicContentHeaderProperties; +import org.apache.qpid.framing.ContentHeaderBody; + +import javax.jms.JMSException; + +public class JMSTextMessageFactory extends AbstractJMSMessageFactory +{ + + public AbstractJMSMessage createMessage() throws JMSException + { + return new JMSTextMessage(); + } + + protected AbstractJMSMessage createMessage(long deliveryTag, ByteBuffer data, ContentHeaderBody contentHeader) throws AMQException + { + return new JMSTextMessage(deliveryTag, data, (BasicContentHeaderProperties)contentHeader.properties); + } +} diff --git a/java/client/src/org/apache/qpid/client/message/MessageFactory.java b/java/client/src/org/apache/qpid/client/message/MessageFactory.java new file mode 100644 index 0000000000..a9c7dd1b48 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/MessageFactory.java @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ContentHeaderBody; + +import javax.jms.JMSException; +import java.util.List; + + +public interface MessageFactory +{ + AbstractJMSMessage createMessage(long deliveryTag, boolean redelivered, + ContentHeaderBody contentHeader, + List bodies) + throws JMSException, AMQException; + + AbstractJMSMessage createMessage() throws JMSException; +} diff --git a/java/client/src/org/apache/qpid/client/message/MessageFactoryRegistry.java b/java/client/src/org/apache/qpid/client/message/MessageFactoryRegistry.java new file mode 100644 index 0000000000..5808f9aa35 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/MessageFactoryRegistry.java @@ -0,0 +1,105 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicContentHeaderProperties; +import org.apache.qpid.framing.ContentHeaderBody; + +import javax.jms.JMSException; +import java.util.HashMap; +import java.util.Map; +import java.util.List; + +public class MessageFactoryRegistry +{ + private final Map _mimeToFactoryMap = new HashMap(); + + public void registerFactory(String mimeType, MessageFactory mf) + { + if (mf == null) + { + throw new IllegalArgumentException("Message factory must not be null"); + } + _mimeToFactoryMap.put(mimeType, mf); + } + + public MessageFactory deregisterFactory(String mimeType) + { + return (MessageFactory) _mimeToFactoryMap.remove(mimeType); + } + + /** + * Create a message. This looks up the MIME type from the content header and instantiates the appropriate + * concrete message type. + * @param deliveryTag the AMQ message id + * @param redelivered true if redelivered + * @param contentHeader the content header that was received + * @param bodies a list of ContentBody instances + * @return the message. + * @throws AMQException + * @throws JMSException + */ + public AbstractJMSMessage createMessage(long deliveryTag, boolean redelivered, + ContentHeaderBody contentHeader, + List bodies) throws AMQException, JMSException + { + BasicContentHeaderProperties properties = (BasicContentHeaderProperties) contentHeader.properties; + MessageFactory mf = (MessageFactory) _mimeToFactoryMap.get(properties.getContentType()); + if (mf == null) + { + throw new AMQException("Unsupport MIME type of " + properties.getContentType()); + } + else + { + return mf.createMessage(deliveryTag, redelivered, contentHeader, bodies); + } + } + + public AbstractJMSMessage createMessage(String mimeType) throws AMQException, JMSException + { + if (mimeType == null) + { + throw new IllegalArgumentException("Mime type must not be null"); + } + MessageFactory mf = (MessageFactory) _mimeToFactoryMap.get(mimeType); + if (mf == null) + { + throw new AMQException("Unsupport MIME type of " + mimeType); + } + else + { + return mf.createMessage(); + } + } + + /** + * Construct a new registry with the default message factories registered + * @return a message factory registry + */ + public static MessageFactoryRegistry newDefaultRegistry() + { + MessageFactoryRegistry mf = new MessageFactoryRegistry(); + mf.registerFactory("text/plain", new JMSTextMessageFactory()); + mf.registerFactory("text/xml", new JMSTextMessageFactory()); + mf.registerFactory("application/octet-stream", new JMSBytesMessageFactory()); + mf.registerFactory(JMSObjectMessage.MIME_TYPE, new JMSObjectMessageFactory()); + mf.registerFactory(null, new JMSBytesMessageFactory()); + return mf; + } +} diff --git a/java/client/src/org/apache/qpid/client/message/UnexpectedBodyReceivedException.java b/java/client/src/org/apache/qpid/client/message/UnexpectedBodyReceivedException.java new file mode 100644 index 0000000000..f2cb7defd2 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/UnexpectedBodyReceivedException.java @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; + +public class UnexpectedBodyReceivedException extends AMQException +{ + + public UnexpectedBodyReceivedException(Logger logger, String msg, Throwable t) + { + super(logger, msg, t); + } + + public UnexpectedBodyReceivedException(Logger logger, String msg) + { + super(logger, msg); + } + + public UnexpectedBodyReceivedException(Logger logger, int errorCode, String msg) + { + super(logger, errorCode, msg); + } +} diff --git a/java/client/src/org/apache/qpid/client/message/UnprocessedMessage.java b/java/client/src/org/apache/qpid/client/message/UnprocessedMessage.java new file mode 100644 index 0000000000..7d4ee097d3 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/message/UnprocessedMessage.java @@ -0,0 +1,61 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.framing.*; + +import java.util.List; +import java.util.LinkedList; + +/** + * This class contains everything needed to process a JMS message. It assembles the + * deliver body, the content header and the content body/ies. + * + * Note that the actual work of creating a JMS message for the client code's use is done + * outside of the MINA dispatcher thread in order to minimise the amount of work done in + * the MINA dispatcher thread. + * + */ +public class UnprocessedMessage +{ + private long _bytesReceived = 0; + + public BasicDeliverBody deliverBody; + public BasicReturnBody bounceBody; // TODO: check change (gustavo) + public int channelId; + public ContentHeaderBody contentHeader; + + /** + * List of ContentBody instances. Due to fragmentation you don't know how big this will be in general + */ + public List bodies = new LinkedList(); + + public void receiveBody(ContentBody body) throws UnexpectedBodyReceivedException + { + bodies.add(body); + if (body.payload != null) + { + _bytesReceived += body.payload.remaining(); + } + } + + public boolean isAllBodyDataReceived() + { + return _bytesReceived == contentHeader.bodySize; + } +} diff --git a/java/client/src/org/apache/qpid/client/protocol/AMQMethodEvent.java b/java/client/src/org/apache/qpid/client/protocol/AMQMethodEvent.java new file mode 100644 index 0000000000..b14a7cb8b0 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/protocol/AMQMethodEvent.java @@ -0,0 +1,59 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.protocol; + +import org.apache.qpid.framing.AMQMethodBody; + +public class AMQMethodEvent +{ + private AMQMethodBody _method; + + private int _channelId; + + private AMQProtocolSession _protocolSession; + + public AMQMethodEvent(int channelId, AMQMethodBody method, AMQProtocolSession protocolSession) + { + _channelId = channelId; + _method = method; + _protocolSession = protocolSession; + } + + public AMQMethodBody getMethod() + { + return _method; + } + + public int getChannelId() + { + return _channelId; + } + + public AMQProtocolSession getProtocolSession() + { + return _protocolSession; + } + + public String toString() + { + StringBuffer buf = new StringBuffer("Method event: "); + buf.append("\nChannel id: ").append(_channelId); + buf.append("\nMethod: ").append(_method); + return buf.toString(); + } +} diff --git a/java/client/src/org/apache/qpid/client/protocol/AMQMethodListener.java b/java/client/src/org/apache/qpid/client/protocol/AMQMethodListener.java new file mode 100644 index 0000000000..fd20151e95 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/protocol/AMQMethodListener.java @@ -0,0 +1,41 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.protocol; + +import org.apache.qpid.AMQException; + +public interface AMQMethodListener +{ + /** + * Invoked when a method frame has been received + * @param evt the event + * @return true if the handler has processed the method frame, false otherwise. Note + * that this does not prohibit the method event being delivered to subsequent listeners + * but can be used to determine if nobody has dealt with an incoming method frame. + * @throws AMQException if an error has occurred. This exception will be delivered + * to all registered listeners using the error() method (see below) allowing them to + * perform cleanup if necessary. + */ + boolean methodReceived(AMQMethodEvent evt) throws AMQException; + + /** + * Callback when an error has occurred. Allows listeners to clean up. + * @param e + */ + void error(Exception e); +} diff --git a/java/client/src/org/apache/qpid/client/protocol/AMQProtocolHandler.java b/java/client/src/org/apache/qpid/client/protocol/AMQProtocolHandler.java new file mode 100644 index 0000000000..0c4dbcbb26 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/protocol/AMQProtocolHandler.java @@ -0,0 +1,530 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.protocol; + +import org.apache.log4j.Logger; +import org.apache.mina.common.IdleStatus; +import org.apache.mina.common.IoHandlerAdapter; +import org.apache.mina.common.IoSession; +import org.apache.mina.filter.SSLFilter; +import org.apache.mina.filter.codec.ProtocolCodecFilter; +import org.apache.qpid.AMQDisconnectedException; +import org.apache.qpid.AMQException; + +import org.apache.qpid.AMQConnectionClosedException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.failover.FailoverHandler; +import org.apache.qpid.client.failover.FailoverState; + +import org.apache.qpid.client.state.AMQState; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.listener.SpecificMethodFrameListener; +import org.apache.qpid.codec.AMQCodecFactory; +import org.apache.qpid.framing.*; +import org.apache.qpid.protocol.AMQConstant; +import org.apache.qpid.ssl.BogusSSLContextFactory; + +import java.util.Iterator; +import java.util.concurrent.CopyOnWriteArraySet; +import java.util.concurrent.CountDownLatch; + +public class AMQProtocolHandler extends IoHandlerAdapter +{ + private static final Logger _logger = Logger.getLogger(AMQProtocolHandler.class); + + /** + * The connection that this protocol handler is associated with. There is a 1-1 + * mapping between connection instances and protocol handler instances. + */ + private AMQConnection _connection; + + /** + * Used only when determining whether to add the SSL filter or not. This should be made more + * generic in future since we will potentially have many transport layer options + */ + private boolean _useSSL; + + /** + * Our wrapper for a protocol session that provides access to session values + * in a typesafe manner. + */ + private volatile AMQProtocolSession _protocolSession; + + private AMQStateManager _stateManager = new AMQStateManager(); + + private final CopyOnWriteArraySet _frameListeners = new CopyOnWriteArraySet(); + + /** + * We create the failover handler when the session is created since it needs a reference to the IoSession in order + * to be able to send errors during failover back to the client application. The session won't be available in the + * case where we failing over due to a Connection.Redirect message from the broker. + */ + private FailoverHandler _failoverHandler; + + /** + * This flag is used to track whether failover is being attempted. It is used to prevent the application constantly + * attempting failover where it is failing. + */ + private FailoverState _failoverState = FailoverState.NOT_STARTED; + + private CountDownLatch _failoverLatch; + + public AMQProtocolHandler(AMQConnection con) + { + _connection = con; + + // We add a proxy for the state manager so that we can substitute the state manager easily in this class. + // We substitute the state manager when performing failover + _frameListeners.add(new AMQMethodListener() + { + public boolean methodReceived(AMQMethodEvent evt) throws AMQException + { + return _stateManager.methodReceived(evt); + } + + public void error(Exception e) + { + _stateManager.error(e); + } + }); + } + + public boolean isUseSSL() + { + return _useSSL; + } + + public void setUseSSL(boolean useSSL) + { + _useSSL = useSSL; + } + + public void sessionCreated(IoSession session) throws Exception + { + _logger.debug("Protocol session created for session " + System.identityHashCode(session)); + _failoverHandler = new FailoverHandler(this, session); + + final ProtocolCodecFilter pcf = new ProtocolCodecFilter(new AMQCodecFactory(false)); + + if (Boolean.getBoolean("amqj.shared_read_write_pool")) + { + session.getFilterChain().addBefore("AsynchronousWriteFilter", "protocolFilter", pcf); + } + else + { + session.getFilterChain().addLast("protocolFilter", pcf); + } + // we only add the SSL filter where we have an SSL connection + if (_useSSL) + { + //todo FIXME: Bogus context cannot be used in production. + SSLFilter sslFilter = new SSLFilter(BogusSSLContextFactory.getInstance(false)); + sslFilter.setUseClientMode(true); + session.getFilterChain().addBefore("protocolFilter", "ssl", sslFilter); + } + + _protocolSession = new AMQProtocolSession(this, session, _connection); + _protocolSession.init(); + } + + public void sessionOpened(IoSession session) throws Exception + { + System.setProperty("foo", "bar"); + } + + /** + * When the broker connection dies we can either get sessionClosed() called or exceptionCaught() followed by + * sessionClosed() depending on whether we were trying to send data at the time of failure. + * + * @param session + * @throws Exception + */ + public void sessionClosed(IoSession session) throws Exception + { + //todo server just closes session with no warning if auth fails. + if (_connection.isClosed()) + { + _logger.info("Session closed called by client"); + } + else + { + _logger.info("Session closed called with failover state currently " + _failoverState); + + //reconnetablility was introduced here so as not to disturb the client as they have made their intentions + // known through the policy settings. + + if ((_failoverState != FailoverState.IN_PROGRESS) && _connection.failoverAllowed()) + { + _logger.info("FAILOVER STARTING"); + if (_failoverState == FailoverState.NOT_STARTED) + { + _failoverState = FailoverState.IN_PROGRESS; + startFailoverThread(); + } + else + { + _logger.info("Not starting failover as state currently " + _failoverState); + } + } + else + { + _logger.info("Failover not allowed by policy."); + + if (_failoverState != FailoverState.IN_PROGRESS) + { + _logger.info("sessionClose() not allowed to failover"); + _connection.exceptionReceived( + new AMQDisconnectedException("Server closed connection and reconnection " + + "not permitted.")); + } + else + { + _logger.info("sessionClose() failover in progress"); + } + } + } + + _logger.info("Protocol Session [" + this + "] closed"); + } + + /** + * See {@link FailoverHandler} to see rationale for separate thread. + */ + private void startFailoverThread() + { + Thread failoverThread = new Thread(_failoverHandler); + failoverThread.setName("Failover"); + // Do not inherit daemon-ness from current thread as this can be a daemon + // thread such as a AnonymousIoService thread. + failoverThread.setDaemon(false); + failoverThread.start(); + } + + public void sessionIdle(IoSession session, IdleStatus status) throws Exception + { + _logger.debug("Protocol Session [" + this + ":" + session + "] idle: " + status); + if (IdleStatus.WRITER_IDLE.equals(status)) + { + //write heartbeat frame: + _logger.debug("Sent heartbeat"); + session.write(HeartbeatBody.FRAME); + HeartbeatDiagnostics.sent(); + } + else if (IdleStatus.READER_IDLE.equals(status)) + { + //failover: + HeartbeatDiagnostics.timeout(); + _logger.warn("Timed out while waiting for heartbeat from peer."); + session.close(); + } + } + + public void exceptionCaught(IoSession session, Throwable cause) throws Exception + { + if (_failoverState == FailoverState.NOT_STARTED) + { + //if (!(cause instanceof AMQUndeliveredException) && (!(cause instanceof AMQAuthenticationException))) + if (cause instanceof AMQConnectionClosedException) + { + _logger.info("Exception caught therefore going to attempt failover: " + cause, cause); + // this will attemp failover + + sessionClosed(session); + } + } + // we reach this point if failover was attempted and failed therefore we need to let the calling app + // know since we cannot recover the situation + else if (_failoverState == FailoverState.FAILED) + { + _logger.error("Exception caught by protocol handler: " + cause, cause); + // we notify the state manager of the error in case we have any clients waiting on a state + // change. Those "waiters" will be interrupted and can handle the exception + AMQException amqe = new AMQException("Protocol handler error: " + cause, cause); + propagateExceptionToWaiters(amqe); + _connection.exceptionReceived(cause); + } + } + + /** + * There are two cases where we have other threads potentially blocking for events to be handled by this + * class. These are for the state manager (waiting for a state change) or a frame listener (waiting for a + * particular type of frame to arrive). When an error occurs we need to notify these waiters so that they can + * react appropriately. + * + * @param e the exception to propagate + */ + public void propagateExceptionToWaiters(Exception e) + { + _stateManager.error(e); + final Iterator it = _frameListeners.iterator(); + while (it.hasNext()) + { + final AMQMethodListener ml = (AMQMethodListener) it.next(); + ml.error(e); + } + } + + private static int _messageReceivedCount; + + public void messageReceived(IoSession session, Object message) throws Exception + { + + if (_messageReceivedCount++ % 1000 == 0) + { + _logger.debug("Received " + _messageReceivedCount + " protocol messages"); + } + Iterator it = _frameListeners.iterator(); + AMQFrame frame = (AMQFrame) message; + + HeartbeatDiagnostics.received(frame.bodyFrame instanceof HeartbeatBody); + + if (frame.bodyFrame instanceof AMQMethodBody) + { + if (_logger.isDebugEnabled()) + { + _logger.debug("Method frame received: " + frame); + } + + final AMQMethodEvent evt = new AMQMethodEvent(frame.channel, (AMQMethodBody)frame.bodyFrame, _protocolSession); + try + { + boolean wasAnyoneInterested = false; + while (it.hasNext()) + { + final AMQMethodListener listener = (AMQMethodListener) it.next(); + wasAnyoneInterested = listener.methodReceived(evt) || wasAnyoneInterested; + } + if (!wasAnyoneInterested) + { + throw new AMQException("AMQMethodEvent " + evt + " was not processed by any listener."); + } + } + catch (AMQException e) + { + it = _frameListeners.iterator(); + while (it.hasNext()) + { + final AMQMethodListener listener = (AMQMethodListener) it.next(); + listener.error(e); + } + exceptionCaught(session, e); + } + } + else if (frame.bodyFrame instanceof ContentHeaderBody) + { + _protocolSession.messageContentHeaderReceived(frame.channel, + (ContentHeaderBody) frame.bodyFrame); + } + else if (frame.bodyFrame instanceof ContentBody) + { + _protocolSession.messageContentBodyReceived(frame.channel, + (ContentBody) frame.bodyFrame); + } + else if (frame.bodyFrame instanceof HeartbeatBody) + { + _logger.debug("Received heartbeat"); + } + _connection.bytesReceived(_protocolSession.getIoSession().getReadBytes()); + } + + private static int _messagesOut; + + public void messageSent(IoSession session, Object message) throws Exception + { + if (_messagesOut++ % 1000 == 0) + { + _logger.debug("Sent " + _messagesOut + " protocol messages"); + } + _connection.bytesSent(session.getWrittenBytes()); + if (_logger.isDebugEnabled()) + { + _logger.debug("Sent frame " + message); + } + } + + public void addFrameListener(AMQMethodListener listener) + { + _frameListeners.add(listener); + } + + public void removeFrameListener(AMQMethodListener listener) + { + _frameListeners.remove(listener); + } + + public void attainState(AMQState s) throws AMQException + { + _stateManager.attainState(s); + } + + /** + * Convenience method that writes a frame to the protocol session. Equivalent + * to calling getProtocolSession().write(). + * + * @param frame the frame to write + */ + public void writeFrame(AMQDataBlock frame) + { + _protocolSession.writeFrame(frame); + } + + public void writeFrame(AMQDataBlock frame, boolean wait) + { + _protocolSession.writeFrame(frame, wait); + } + + /** + * Convenience method that writes a frame to the protocol session and waits for + * a particular response. Equivalent to calling getProtocolSession().write() then + * waiting for the response. + * + * @param frame + * @param listener the blocking listener. Note the calling thread will block. + */ + private AMQMethodEvent writeCommandFrameAndWaitForReply(AMQFrame frame, + BlockingMethodFrameListener listener) + throws AMQException + { + _frameListeners.add(listener); + _protocolSession.writeFrame(frame); + return listener.blockForFrame(); + // When control resumes before this line, a reply will have been received + // that matches the criteria defined in the blocking listener + } + + /** + * More convenient method to write a frame and wait for it's response. + */ + public AMQMethodEvent syncWrite(AMQFrame frame, Class responseClass) throws AMQException + { + return writeCommandFrameAndWaitForReply(frame, + new SpecificMethodFrameListener(frame.channel, responseClass)); + } + + /** + * Convenience method to register an AMQSession with the protocol handler. Registering + * a session with the protocol handler will ensure that messages are delivered to the + * consumer(s) on that session. + * + * @param channelId the channel id of the session + * @param session the session instance. + */ + public void addSessionByChannel(int channelId, AMQSession session) + { + _protocolSession.addSessionByChannel(channelId, session); + } + + /** + * Convenience method to deregister an AMQSession with the protocol handler. + * + * @param channelId then channel id of the session + */ + public void removeSessionByChannel(int channelId) + { + _protocolSession.removeSessionByChannel(channelId); + } + + public void closeSession(AMQSession session) throws AMQException + { + _protocolSession.closeSession(session); + } + + public void closeConnection() throws AMQException + { + _stateManager.changeState(AMQState.CONNECTION_CLOSING); + + final AMQFrame frame = ConnectionCloseBody.createAMQFrame( + 0, AMQConstant.REPLY_SUCCESS.getCode(), "JMS client is closing the connection.", 0, 0); + syncWrite(frame, ConnectionCloseOkBody.class); + + _protocolSession.closeProtocolSession(); + } + + /** + * @return the number of bytes read from this protocol session + */ + public long getReadBytes() + { + return _protocolSession.getIoSession().getReadBytes(); + } + + /** + * @return the number of bytes written to this protocol session + */ + public long getWrittenBytes() + { + return _protocolSession.getIoSession().getWrittenBytes(); + } + + public void failover(String host, int port) + { + _failoverHandler.setHost(host); + _failoverHandler.setPort(port); + // see javadoc for FailoverHandler to see rationale for separate thread + startFailoverThread(); + } + + public void blockUntilNotFailingOver() throws InterruptedException + { + if (_failoverLatch != null) + { + _failoverLatch.await(); + } + } + + public String generateQueueName() + { + return _protocolSession.generateQueueName(); + } + + public CountDownLatch getFailoverLatch() + { + return _failoverLatch; + } + + public void setFailoverLatch(CountDownLatch failoverLatch) + { + _failoverLatch = failoverLatch; + } + + public AMQConnection getConnection() + { + return _connection; + } + + public AMQStateManager getStateManager() + { + return _stateManager; + } + + public void setStateManager(AMQStateManager stateManager) + { + _stateManager = stateManager; + } + + FailoverState getFailoverState() + { + return _failoverState; + } + + public void setFailoverState(FailoverState failoverState) + { + _failoverState = failoverState; + } +} diff --git a/java/client/src/org/apache/qpid/client/protocol/AMQProtocolSession.java b/java/client/src/org/apache/qpid/client/protocol/AMQProtocolSession.java new file mode 100644 index 0000000000..77685a0222 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/protocol/AMQProtocolSession.java @@ -0,0 +1,379 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.protocol; + +import org.apache.log4j.Logger; +import org.apache.mina.common.CloseFuture; +import org.apache.mina.common.IdleStatus; +import org.apache.mina.common.IoSession; +import org.apache.mina.common.WriteFuture; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.ConnectionTuneParameters; +import org.apache.qpid.client.message.UnexpectedBodyReceivedException; +import org.apache.qpid.client.message.UnprocessedMessage; +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.ProtocolInitiation; +import org.apache.qpid.framing.ProtocolVersionList; + +import javax.jms.JMSException; +import javax.security.sasl.SaslClient; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * Wrapper for protocol session that provides type-safe access to session attributes. + * + * The underlying protocol session is still available but clients should not + * use it to obtain session attributes. + */ +public class AMQProtocolSession implements ProtocolVersionList +{ + private static final Logger _logger = Logger.getLogger(AMQProtocolSession.class); + + public static final String PROTOCOL_INITIATION_RECEIVED = "ProtocolInitiatiionReceived"; + + protected static final String CONNECTION_TUNE_PARAMETERS = "ConnectionTuneParameters"; + + private static final String AMQ_CONNECTION = "AMQConnection"; + + private static final String SASL_CLIENT = "SASLClient"; + + private final IoSession _minaProtocolSession; + + /** + * The handler from which this session was created and which is used to handle protocol events. + * We send failover events to the handler. + */ + private final AMQProtocolHandler _protocolHandler; + + /** + * Maps from the channel id to the AMQSession that it represents. + */ + private ConcurrentMap _channelId2SessionMap = new ConcurrentHashMap(); + + private ConcurrentMap _closingChannels = new ConcurrentHashMap(); + + /** + * Maps from a channel id to an unprocessed message. This is used to tie together the + * JmsDeliverBody (which arrives first) with the subsequent content header and content bodies. + */ + private ConcurrentMap _channelId2UnprocessedMsgMap = new ConcurrentHashMap(); + + /** + * Counter to ensure unique queue names + */ + private int _queueId = 1; + private final Object _queueIdLock = new Object(); + + public AMQProtocolSession(AMQProtocolHandler protocolHandler, IoSession protocolSession, AMQConnection connection) + { + _protocolHandler = protocolHandler; + _minaProtocolSession = protocolSession; + // properties of the connection are made available to the event handlers + _minaProtocolSession.setAttribute(AMQ_CONNECTION, connection); + } + + public void init() + { + // start the process of setting up the connection. This is the first place that + // data is written to the server. + /* Find last protocol version in protocol version list. Make sure last protocol version + listed in the build file (build-module.xml) is the latest version which will be used + here. */ + int i = pv.length - 1; + _minaProtocolSession.write(new ProtocolInitiation(pv[i][PROTOCOL_MAJOR], pv[i][PROTOCOL_MINOR])); + } + + public String getClientID() + { + try + { + return getAMQConnection().getClientID(); + } + catch (JMSException e) + { + // we never throw a JMSException here + return null; + } + } + + public void setClientID(String clientID) throws JMSException + { + getAMQConnection().setClientID(clientID); + } + + public String getVirtualHost() + { + return getAMQConnection().getVirtualHost(); + } + + public String getUsername() + { + return getAMQConnection().getUsername(); + } + + public String getPassword() + { + return getAMQConnection().getPassword(); + } + + public IoSession getIoSession() + { + return _minaProtocolSession; + } + + public SaslClient getSaslClient() + { + return (SaslClient) _minaProtocolSession.getAttribute(SASL_CLIENT); + } + + /** + * Store the SASL client currently being used for the authentication handshake + * @param client if non-null, stores this in the session. if null clears any existing client + * being stored + */ + public void setSaslClient(SaslClient client) + { + if (client == null) + { + _minaProtocolSession.removeAttribute(SASL_CLIENT); + } + else + { + _minaProtocolSession.setAttribute(SASL_CLIENT, client); + } + } + + public ConnectionTuneParameters getConnectionTuneParameters() + { + return (ConnectionTuneParameters) _minaProtocolSession.getAttribute(CONNECTION_TUNE_PARAMETERS); + } + + public void setConnectionTuneParameters(ConnectionTuneParameters params) + { + _minaProtocolSession.setAttribute(CONNECTION_TUNE_PARAMETERS, params); + AMQConnection con = getAMQConnection(); + con.setMaximumChannelCount(params.getChannelMax()); + con.setMaximumFrameSize(params.getFrameMax()); + initHeartbeats((int) params.getHeartbeat()); + } + + /** + * Callback invoked from the BasicDeliverMethodHandler when a message has been received. + * This is invoked on the MINA dispatcher thread. + * @param message + * @throws AMQException if this was not expected + */ + public void unprocessedMessageReceived(UnprocessedMessage message) throws AMQException + { + _channelId2UnprocessedMsgMap.put(message.channelId, message); + } + + public void messageContentHeaderReceived(int channelId, ContentHeaderBody contentHeader) + throws AMQException + { + UnprocessedMessage msg = (UnprocessedMessage) _channelId2UnprocessedMsgMap.get(channelId); + if (msg == null) + { + throw new AMQException("Error: received content header without having received a BasicDeliver frame first"); + } + if (msg.contentHeader != null) + { + throw new AMQException("Error: received duplicate content header or did not receive correct number of content body frames"); + } + msg.contentHeader = contentHeader; + if (contentHeader.bodySize == 0) + { + deliverMessageToAMQSession(channelId, msg); + } + } + + public void messageContentBodyReceived(int channelId, ContentBody contentBody) throws AMQException + { + UnprocessedMessage msg = (UnprocessedMessage) _channelId2UnprocessedMsgMap.get(channelId); + if (msg == null) + { + throw new AMQException("Error: received content body without having received a JMSDeliver frame first"); + } + if (msg.contentHeader == null) + { + _channelId2UnprocessedMsgMap.remove(channelId); + throw new AMQException("Error: received content body without having received a ContentHeader frame first"); + } + try + { + msg.receiveBody(contentBody); + } + catch (UnexpectedBodyReceivedException e) + { + _channelId2UnprocessedMsgMap.remove(channelId); + throw e; + } + if (msg.isAllBodyDataReceived()) + { + deliverMessageToAMQSession(channelId, msg); + } + } + + /** + * Deliver a message to the appropriate session, removing the unprocessed message + * from our map + * @param channelId the channel id the message should be delivered to + * @param msg the message + */ + private void deliverMessageToAMQSession(int channelId, UnprocessedMessage msg) + { + AMQSession session = (AMQSession) _channelId2SessionMap.get(channelId); + session.messageReceived(msg); + _channelId2UnprocessedMsgMap.remove(channelId); + } + + /** + * Convenience method that writes a frame to the protocol session. Equivalent + * to calling getProtocolSession().write(). + * + * @param frame the frame to write + */ + public void writeFrame(AMQDataBlock frame) + { + _minaProtocolSession.write(frame); + } + + public void writeFrame(AMQDataBlock frame, boolean wait) + { + WriteFuture f =_minaProtocolSession.write(frame); + if(wait) + { + f.join(); + } + } + + public void addSessionByChannel(int channelId, AMQSession session) + { + if (channelId <=0) + { + throw new IllegalArgumentException("Attempt to register a session with a channel id <= zero"); + } + if (session == null) + { + throw new IllegalArgumentException("Attempt to register a null session"); + } + _logger.debug("Add session with channel id " + channelId); + _channelId2SessionMap.put(channelId, session); + } + + public void removeSessionByChannel(int channelId) + { + if (channelId <=0) + { + throw new IllegalArgumentException("Attempt to deregister a session with a channel id <= zero"); + } + _logger.debug("Removing session with channelId " + channelId); + _channelId2SessionMap.remove(channelId); + } + + /** + * Starts the process of closing a session + * @param session the AMQSession being closed + */ + public void closeSession(AMQSession session) + { + _logger.debug("closeSession called on protocol session for session " + session.getChannelId()); + final int channelId = session.getChannelId(); + if (channelId <=0) + { + throw new IllegalArgumentException("Attempt to close a channel with id < 0"); + } + // we need to know when a channel is closing so that we can respond + // with a channel.close frame when we receive any other type of frame + // on that channel + _closingChannels.putIfAbsent(channelId, session); + } + + /** + * Called from the ChannelClose handler when a channel close frame is received. + * This method decides whether this is a response or an initiation. The latter + * case causes the AMQSession to be closed and an exception to be thrown if + * appropriate. + * @param channelId the id of the channel (session) + * @return true if the client must respond to the server, i.e. if the server + * initiated the channel close, false if the channel close is just the server + * responding to the client's earlier request to close the channel. + */ + public boolean channelClosed(int channelId, int code, String text) + { + final Integer chId = channelId; + // if this is not a response to an earlier request to close the channel + if (_closingChannels.remove(chId) == null) + { + final AMQSession session = (AMQSession) _channelId2SessionMap.get(chId); + session.closed(new AMQException(_logger, code, text)); + return true; + } + else + { + return false; + } + } + + public AMQConnection getAMQConnection() + { + return (AMQConnection) _minaProtocolSession.getAttribute(AMQ_CONNECTION); + } + + public void closeProtocolSession() + { + _logger.debug("Closing protocol session"); + final CloseFuture future = _minaProtocolSession.close(); + future.join(); + } + + public void failover(String host, int port) + { + _protocolHandler.failover(host, port); + } + + String generateQueueName() + { + int id; + synchronized(_queueIdLock) + { + id = _queueId++; + } + //todo remove '/' and ':' from local Address as this doesn't conform to spec. + return "tmp_" + _minaProtocolSession.getLocalAddress() + "_" + id; + } + + /** + * + * @param delay delay in seconds (not ms) + */ + void initHeartbeats(int delay) + { + if (delay > 0) + { + _minaProtocolSession.setIdleTime(IdleStatus.WRITER_IDLE, delay); + _minaProtocolSession.setIdleTime(IdleStatus.READER_IDLE, HeartbeatConfig.CONFIG.getTimeout(delay)); + HeartbeatDiagnostics.init(delay, HeartbeatConfig.CONFIG.getTimeout(delay)); + } + } +} diff --git a/java/client/src/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java b/java/client/src/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java new file mode 100644 index 0000000000..a7e3ebdd14 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java @@ -0,0 +1,133 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.protocol; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; + +public abstract class BlockingMethodFrameListener implements AMQMethodListener +{ + private volatile boolean _ready = false; + + public abstract boolean processMethod(int channelId, AMQMethodBody frame) throws AMQException; + + private final Object _lock = new Object(); + + /** + * This is set if there is an exception thrown from processCommandFrame and the + * exception is rethrown to the caller of blockForFrame() + */ + private volatile Exception _error; + + protected int _channelId; + + protected AMQMethodEvent _doneEvt = null; + + public BlockingMethodFrameListener(int channelId) + { + _channelId = channelId; + } + + /** + * This method is called by the MINA dispatching thread. Note that it could + * be called before blockForFrame() has been called. + * @param evt the frame event + * @return true if the listener has dealt with this frame + * @throws AMQException + */ + public boolean methodReceived(AMQMethodEvent evt) throws AMQException + { + AMQMethodBody method = evt.getMethod(); + + try + { + boolean ready = (evt.getChannelId() == _channelId) && processMethod(evt.getChannelId(), method); + if (ready) + { + // we only update the flag from inside the synchronized block + // so that the blockForFrame method cannot "miss" an update - it + // will only ever read the flag from within the synchronized block + synchronized (_lock) + { + _doneEvt = evt; + _ready = ready; + _lock.notify(); + } + } + return ready; + } + catch (AMQException e) + { + error(e); + // we rethrow the error here, and the code in the frame dispatcher will go round + // each listener informing them that an exception has been thrown + throw e; + } + } + + /** + * This method is called by the thread that wants to wait for a frame. + */ + public AMQMethodEvent blockForFrame() throws AMQException + { + synchronized (_lock) + { + while (!_ready) + { + try + { + _lock.wait(); + } + catch (InterruptedException e) + { + // IGNORE + } + } + } + if (_error != null) + { + if (_error instanceof AMQException) + { + throw (AMQException)_error; + } + else + { + throw new AMQException("Woken up due to exception", _error); // FIXME: This will wrap FailoverException and prevent it being caught. + } + } + + return _doneEvt; + } + + /** + * This is a callback, called by the MINA dispatcher thread only. It is also called from within this + * class to avoid code repetition but again is only called by the MINA dispatcher thread. + * @param e + */ + public void error(Exception e) + { + // set the error so that the thread that is blocking (against blockForFrame()) + // can pick up the exception and rethrow to the caller + _error = e; + synchronized (_lock) + { + _ready = true; + _lock.notify(); + } + } +} diff --git a/java/client/src/org/apache/qpid/client/protocol/HeartbeatConfig.java b/java/client/src/org/apache/qpid/client/protocol/HeartbeatConfig.java new file mode 100644 index 0000000000..d6240b919a --- /dev/null +++ b/java/client/src/org/apache/qpid/client/protocol/HeartbeatConfig.java @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.protocol; + +import org.apache.log4j.Logger; + +class HeartbeatConfig +{ + private static final Logger _logger = Logger.getLogger(HeartbeatConfig.class); + static final HeartbeatConfig CONFIG = new HeartbeatConfig(); + + /** + * The factor used to get the timeout from the delay between heartbeats. + */ + private float timeoutFactor = 2; + + HeartbeatConfig() + { + String property = System.getProperty("amqj.heartbeat.timeoutFactor"); + if(property != null) + { + try + { + timeoutFactor = Float.parseFloat(property); + } + catch(NumberFormatException e) + { + _logger.warn("Invalid timeout factor (amqj.heartbeat.timeoutFactor): " + property); + } + } + } + + float getTimeoutFactor() + { + return timeoutFactor; + } + + int getTimeout(int writeDelay) + { + return (int) (timeoutFactor * writeDelay); + } +} diff --git a/java/client/src/org/apache/qpid/client/protocol/HeartbeatDiagnostics.java b/java/client/src/org/apache/qpid/client/protocol/HeartbeatDiagnostics.java new file mode 100644 index 0000000000..07a9213402 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/protocol/HeartbeatDiagnostics.java @@ -0,0 +1,118 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.protocol; + +class HeartbeatDiagnostics +{ + private static final Diagnostics _impl = init(); + + private static Diagnostics init() + { + return Boolean.getBoolean("amqj.heartbeat.diagnostics") ? new On() : new Off(); + } + + static void sent() + { + _impl.sent(); + } + + static void timeout() + { + _impl.timeout(); + } + + static void received(boolean heartbeat) + { + _impl.received(heartbeat); + } + + static void init(int delay, int timeout) + { + _impl.init(delay, timeout); + } + + private static interface Diagnostics + { + void sent(); + void timeout(); + void received(boolean heartbeat); + void init(int delay, int timeout); + } + + private static class On implements Diagnostics + { + private final String[] messages = new String[50]; + private int i; + + private void save(String msg) + { + messages[i++] = msg; + if(i >= messages.length){ + i = 0;//i.e. a circular buffer + } + } + + public void sent() + { + save(System.currentTimeMillis() + ": sent heartbeat"); + } + + public void timeout() + { + for(int i = 0; i < messages.length; i++) + { + if(messages[i] != null) + { + System.out.println(messages[i]); + } + } + System.out.println(System.currentTimeMillis() + ": timed out"); + } + + public void received(boolean heartbeat) + { + save(System.currentTimeMillis() + ": received " + (heartbeat ? "heartbeat" : "data")); + } + + public void init(int delay, int timeout) + { + System.out.println(System.currentTimeMillis() + ": initialised delay=" + delay + ", timeout=" + timeout); + } + } + + private static class Off implements Diagnostics + { + public void sent() + { + + } + public void timeout() + { + + } + public void received(boolean heartbeat) + { + + } + + public void init(int delay, int timeout) + { + + } + } +} diff --git a/java/client/src/org/apache/qpid/client/protocol/ProtocolBufferMonitorFilter.java b/java/client/src/org/apache/qpid/client/protocol/ProtocolBufferMonitorFilter.java new file mode 100644 index 0000000000..88cbd32764 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/protocol/ProtocolBufferMonitorFilter.java @@ -0,0 +1,110 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.protocol; + +import org.apache.mina.common.IoFilterAdapter; +import org.apache.mina.common.IoSession; +import org.apache.log4j.Logger; + +/** + * A MINA filter that monitors the numbers of messages pending to be sent by MINA. It outputs a message + * when a threshold has been exceeded, and has a frequency configuration so that messages are not output + * too often. + * + */ +public class ProtocolBufferMonitorFilter extends IoFilterAdapter +{ + private static final Logger _logger = Logger.getLogger(ProtocolBufferMonitorFilter.class); + + public static long DEFAULT_FREQUENCY = 5000; + + public static int DEFAULT_THRESHOLD = 3000; + + private int _bufferedMessages = 0; + + private int _threshold; + + private long _lastMessageOutputTime; + + private long _outputFrequencyInMillis; + + public ProtocolBufferMonitorFilter() + { + _threshold = DEFAULT_THRESHOLD; + _outputFrequencyInMillis = DEFAULT_FREQUENCY; + } + + public ProtocolBufferMonitorFilter(int threshold, long frequency) + { + _threshold = threshold; + _outputFrequencyInMillis = frequency; + } + + public void messageReceived( NextFilter nextFilter, IoSession session, Object message ) throws Exception + { + _bufferedMessages++; + if (_bufferedMessages > _threshold) + { + long now = System.currentTimeMillis(); + if ((now - _lastMessageOutputTime) > _outputFrequencyInMillis) + { + _logger.warn("Protocol message buffer exceeded threshold of " + _threshold + ". Current backlog: " + + _bufferedMessages); + _lastMessageOutputTime = now; + } + } + + nextFilter.messageReceived(session, message); + } + + public void messageSent( NextFilter nextFilter, IoSession session, Object message ) throws Exception + { + _bufferedMessages--; + nextFilter.messageSent(session, message); + } + + public int getBufferedMessages() + { + return _bufferedMessages; + } + + public int getThreshold() + { + return _threshold; + } + + public void setThreshold(int threshold) + { + _threshold = threshold; + } + + public long getOutputFrequencyInMillis() + { + return _outputFrequencyInMillis; + } + + public void setOutputFrequencyInMillis(long outputFrequencyInMillis) + { + _outputFrequencyInMillis = outputFrequencyInMillis; + } + + public long getLastMessageOutputTime() + { + return _lastMessageOutputTime; + } +} diff --git a/java/client/src/org/apache/qpid/client/security/AMQCallbackHandler.java b/java/client/src/org/apache/qpid/client/security/AMQCallbackHandler.java new file mode 100644 index 0000000000..43e1e6ab70 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/AMQCallbackHandler.java @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.security; + +import org.apache.qpid.client.protocol.AMQProtocolSession; + +import javax.security.auth.callback.CallbackHandler; + +public interface AMQCallbackHandler extends CallbackHandler +{ + void initialise(AMQProtocolSession protocolSession); +} diff --git a/java/client/src/org/apache/qpid/client/security/CallbackHandlerRegistry.java b/java/client/src/org/apache/qpid/client/security/CallbackHandlerRegistry.java new file mode 100644 index 0000000000..8bfa0c32c4 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/CallbackHandlerRegistry.java @@ -0,0 +1,154 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.security; + +import org.apache.log4j.Logger; + +import java.io.*; +import java.util.*; + +public class CallbackHandlerRegistry +{ + private static final String FILE_PROPERTY = "amq.callbackhandler.properties"; + + private static final Logger _logger = Logger.getLogger(CallbackHandlerRegistry.class); + + private static CallbackHandlerRegistry _instance = new CallbackHandlerRegistry(); + + private Map _mechanismToHandlerClassMap = new HashMap(); + + private String _mechanisms; + + public static CallbackHandlerRegistry getInstance() + { + return _instance; + } + + public Class getCallbackHandlerClass(String mechanism) + { + return (Class) _mechanismToHandlerClassMap.get(mechanism); + } + + public String getMechanisms() + { + return _mechanisms; + } + + private CallbackHandlerRegistry() + { + // first we register any Sasl client factories + DynamicSaslRegistrar.registerSaslProviders(); + + InputStream is = openPropertiesInputStream(); + try + { + Properties props = new Properties(); + props.load(is); + parseProperties(props); + _logger.info("Available SASL mechanisms: " + _mechanisms); + } + catch (IOException e) + { + _logger.error("Error reading properties: " + e, e); + } + finally + { + if (is != null) + { + try + { + is.close(); + + } + catch (IOException e) + { + _logger.error("Unable to close properties stream: " + e, e); + } + } + } + } + + private InputStream openPropertiesInputStream() + { + String filename = System.getProperty(FILE_PROPERTY); + boolean useDefault = true; + InputStream is = null; + if (filename != null) + { + try + { + is = new BufferedInputStream(new FileInputStream(new File(filename))); + useDefault = false; + } + catch (FileNotFoundException e) + { + _logger.error("Unable to read from file " + filename + ": " + e, e); + } + } + + if (useDefault) + { + is = CallbackHandlerRegistry.class.getResourceAsStream("CallbackHandlerRegistry.properties"); + } + + return is; + } + + private void parseProperties(Properties props) + { + Enumeration e = props.propertyNames(); + while (e.hasMoreElements()) + { + String propertyName = (String) e.nextElement(); + int period = propertyName.indexOf("."); + if (period < 0) + { + _logger.warn("Unable to parse property " + propertyName + " when configuring SASL providers"); + continue; + } + String mechanism = propertyName.substring(period + 1); + String className = props.getProperty(propertyName); + Class clazz = null; + try + { + clazz = Class.forName(className); + if (!AMQCallbackHandler.class.isAssignableFrom(clazz)) + { + _logger.warn("SASL provider " + clazz + " does not implement " + AMQCallbackHandler.class + + ". Skipping"); + continue; + } + _mechanismToHandlerClassMap.put(mechanism, clazz); + if (_mechanisms == null) + { + _mechanisms = mechanism; + } + else + { + // one time cost + _mechanisms = _mechanisms + " " + mechanism; + } + } + catch (ClassNotFoundException ex) + { + _logger.warn("Unable to load class " + className + ". Skipping that SASL provider"); + continue; + } + } + } +} diff --git a/java/client/src/org/apache/qpid/client/security/CallbackHandlerRegistry.properties b/java/client/src/org/apache/qpid/client/security/CallbackHandlerRegistry.properties new file mode 100644 index 0000000000..357f9a1199 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/CallbackHandlerRegistry.properties @@ -0,0 +1,2 @@ +CallbackHandler.CRAM-MD5=org.apache.qpid.client.security.UsernamePasswordCallbackHandler +CallbackHandler.PLAIN=org.apache.qpid.client.security.UsernamePasswordCallbackHandler
\ No newline at end of file diff --git a/java/client/src/org/apache/qpid/client/security/DynamicSaslRegistrar.java b/java/client/src/org/apache/qpid/client/security/DynamicSaslRegistrar.java new file mode 100644 index 0000000000..3d81ad505a --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/DynamicSaslRegistrar.java @@ -0,0 +1,125 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.security; + +import org.apache.log4j.Logger; + +import javax.security.sasl.SaslClientFactory; +import java.io.*; +import java.util.Properties; +import java.util.Enumeration; +import java.util.Map; +import java.util.TreeMap; +import java.security.Security; + +public class DynamicSaslRegistrar +{ + private static final String FILE_PROPERTY = "amq.dynamicsaslregistrar.properties"; + + private static final Logger _logger = Logger.getLogger(DynamicSaslRegistrar.class); + + public static void registerSaslProviders() + { + InputStream is = openPropertiesInputStream(); + try + { + Properties props = new Properties(); + props.load(is); + Map<String, Class<? extends SaslClientFactory>> factories = parseProperties(props); + if (factories.size() > 0) + { + Security.addProvider(new JCAProvider(factories)); + _logger.debug("Dynamic SASL provider added as a security provider"); + } + } + catch (IOException e) + { + _logger.error("Error reading properties: " + e, e); + } + finally + { + if (is != null) + { + try + { + is.close(); + + } + catch (IOException e) + { + _logger.error("Unable to close properties stream: " + e, e); + } + } + } + } + + private static InputStream openPropertiesInputStream() + { + String filename = System.getProperty(FILE_PROPERTY); + boolean useDefault = true; + InputStream is = null; + if (filename != null) + { + try + { + is = new BufferedInputStream(new FileInputStream(new File(filename))); + useDefault = false; + } + catch (FileNotFoundException e) + { + _logger.error("Unable to read from file " + filename + ": " + e, e); + } + } + + if (useDefault) + { + is = CallbackHandlerRegistry.class.getResourceAsStream("DynamicSaslRegistrar.properties"); + } + + return is; + } + + private static Map<String, Class<? extends SaslClientFactory>> parseProperties(Properties props) + { + Enumeration e = props.propertyNames(); + TreeMap<String, Class<? extends SaslClientFactory>> factoriesToRegister = + new TreeMap<String, Class<? extends SaslClientFactory>>(); + while (e.hasMoreElements()) + { + String mechanism = (String) e.nextElement(); + String className = props.getProperty(mechanism); + try + { + Class<?> clazz = Class.forName(className); + if (!(SaslClientFactory.class.isAssignableFrom(clazz))) + { + _logger.error("Class " + clazz + " does not implement " + SaslClientFactory.class + " - skipping"); + continue; + } + factoriesToRegister.put(mechanism, (Class<? extends SaslClientFactory>) clazz); + } + catch (Exception ex) + { + _logger.error("Error instantiating SaslClientFactory calss " + className + " - skipping"); + } + } + return factoriesToRegister; + } + + +} diff --git a/java/client/src/org/apache/qpid/client/security/DynamicSaslRegistrar.properties b/java/client/src/org/apache/qpid/client/security/DynamicSaslRegistrar.properties new file mode 100644 index 0000000000..b853d86d65 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/DynamicSaslRegistrar.properties @@ -0,0 +1 @@ +AMQPLAIN=org.apache.qpid.client.security.amqplain.AmqPlainSaslClientFactory
\ No newline at end of file diff --git a/java/client/src/org/apache/qpid/client/security/JCAProvider.java b/java/client/src/org/apache/qpid/client/security/JCAProvider.java new file mode 100644 index 0000000000..4a14063793 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/JCAProvider.java @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.security; + +import javax.security.sasl.SaslClientFactory; +import java.security.Provider; +import java.security.Security; +import java.util.Map; + +public class JCAProvider extends Provider +{ + public JCAProvider(Map<String, Class<? extends SaslClientFactory>> providerMap) + { + super("AMQSASLProvider", 1.0, "A JCA provider that registers all " + + "AMQ SASL providers that want to be registered"); + register(providerMap); + Security.addProvider(this); + } + + private void register(Map<String, Class<? extends SaslClientFactory>> providerMap) + { + for (Map.Entry<String, Class<? extends SaslClientFactory>> me : + providerMap.entrySet()) + { + put("SaslClientFactory." + me.getKey(), me.getValue().getName()); + } + } +} diff --git a/java/client/src/org/apache/qpid/client/security/UsernamePasswordCallbackHandler.java b/java/client/src/org/apache/qpid/client/security/UsernamePasswordCallbackHandler.java new file mode 100644 index 0000000000..201cc04726 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/UsernamePasswordCallbackHandler.java @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.security; + +import org.apache.qpid.client.protocol.AMQProtocolSession; + +import javax.security.auth.callback.*; +import java.io.IOException; + +public class UsernamePasswordCallbackHandler implements AMQCallbackHandler +{ + private AMQProtocolSession _protocolSession; + + public void initialise(AMQProtocolSession protocolSession) + { + _protocolSession = protocolSession; + } + + public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException + { + for (int i = 0; i < callbacks.length; i++) + { + Callback cb = callbacks[i]; + if (cb instanceof NameCallback) + { + ((NameCallback)cb).setName(_protocolSession.getUsername()); + } + else if (cb instanceof PasswordCallback) + { + ((PasswordCallback)cb).setPassword(_protocolSession.getPassword().toCharArray()); + } + else + { + throw new UnsupportedCallbackException(cb); + } + } + } +} diff --git a/java/client/src/org/apache/qpid/client/security/amqplain/AmqPlainSaslClient.java b/java/client/src/org/apache/qpid/client/security/amqplain/AmqPlainSaslClient.java new file mode 100644 index 0000000000..d564e82ec3 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/amqplain/AmqPlainSaslClient.java @@ -0,0 +1,101 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.security.amqplain; + +import org.apache.qpid.framing.FieldTable; + +import javax.security.sasl.SaslClient; +import javax.security.sasl.SaslException; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.NameCallback; +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.callback.Callback; + +/** + * Implements the "AMQPlain" authentication protocol that uses FieldTables to send username and pwd. + * + */ +public class AmqPlainSaslClient implements SaslClient +{ + /** + * The name of this mechanism + */ + public static final String MECHANISM = "AMQPLAIN"; + + private CallbackHandler _cbh; + + public AmqPlainSaslClient(CallbackHandler cbh) + { + _cbh = cbh; + } + + public String getMechanismName() + { + return "AMQPLAIN"; + } + + public boolean hasInitialResponse() + { + return true; + } + + public byte[] evaluateChallenge(byte[] challenge) throws SaslException + { + // we do not care about the prompt or the default name + NameCallback nameCallback = new NameCallback("prompt", "defaultName"); + PasswordCallback pwdCallback = new PasswordCallback("prompt", false); + Callback[] callbacks = new Callback[]{nameCallback, pwdCallback}; + try + { + _cbh.handle(callbacks); + } + catch (Exception e) + { + throw new SaslException("Error handling SASL callbacks: " + e, e); + } + FieldTable table = new FieldTable(); + table.put("LOGIN", nameCallback.getName()); + table.put("PASSWORD", pwdCallback.getPassword()); + return table.getDataAsBytes(); + } + + public boolean isComplete() + { + return true; + } + + public byte[] unwrap(byte[] incoming, int offset, int len) throws SaslException + { + throw new SaslException("Not supported"); + } + + public byte[] wrap(byte[] outgoing, int offset, int len) throws SaslException + { + throw new SaslException("Not supported"); + } + + public Object getNegotiatedProperty(String propName) + { + return null; + } + + public void dispose() throws SaslException + { + _cbh = null; + } +} diff --git a/java/client/src/org/apache/qpid/client/security/amqplain/AmqPlainSaslClientFactory.java b/java/client/src/org/apache/qpid/client/security/amqplain/AmqPlainSaslClientFactory.java new file mode 100644 index 0000000000..b4cc34dd03 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/security/amqplain/AmqPlainSaslClientFactory.java @@ -0,0 +1,59 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.security.amqplain; + +import javax.security.sasl.SaslClientFactory; +import javax.security.sasl.SaslClient; +import javax.security.sasl.SaslException; +import javax.security.sasl.Sasl; +import javax.security.auth.callback.CallbackHandler; +import java.util.Map; + +public class AmqPlainSaslClientFactory implements SaslClientFactory +{ + public SaslClient createSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map props, CallbackHandler cbh) throws SaslException + { + for (int i = 0; i < mechanisms.length; i++) + { + if (mechanisms[i].equals(AmqPlainSaslClient.MECHANISM)) + { + if (cbh == null) + { + throw new SaslException("CallbackHandler must not be null"); + } + return new AmqPlainSaslClient(cbh); + } + } + return null; + } + + public String[] getMechanismNames(Map props) + { + if (props.containsKey(Sasl.POLICY_NOPLAINTEXT) || + props.containsKey(Sasl.POLICY_NODICTIONARY) || + props.containsKey(Sasl.POLICY_NOACTIVE)) + { + // returned array must be non null according to interface documentation + return new String[0]; + } + else + { + return new String[]{AmqPlainSaslClient.MECHANISM}; + } + } +} diff --git a/java/client/src/org/apache/qpid/client/state/AMQState.java b/java/client/src/org/apache/qpid/client/state/AMQState.java new file mode 100644 index 0000000000..02a391ee71 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/AMQState.java @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state; + +/** + * States used in the AMQ protocol. Used by the finite state machine to determine + * valid responses. + */ +public class AMQState +{ + private final int _id; + + private final String _name; + + private AMQState(int id, String name) + { + _id = id; + _name = name; + } + + public String toString() + { + return "AMQState: id = " + _id + " name: " + _name; + } + + public static final AMQState CONNECTION_NOT_STARTED = new AMQState(1, "CONNECTION_NOT_STARTED"); + + public static final AMQState CONNECTION_NOT_TUNED = new AMQState(2, "CONNECTION_NOT_TUNED"); + + public static final AMQState CONNECTION_NOT_OPENED = new AMQState(3, "CONNECTION_NOT_OPENED"); + + public static final AMQState CONNECTION_OPEN = new AMQState(4, "CONNECTION_OPEN"); + + public static final AMQState CONNECTION_CLOSING = new AMQState(5, "CONNECTION_CLOSING"); + + public static final AMQState CONNECTION_CLOSED = new AMQState(6, "CONNECTION_CLOSED"); + +} diff --git a/java/client/src/org/apache/qpid/client/state/AMQStateChangedEvent.java b/java/client/src/org/apache/qpid/client/state/AMQStateChangedEvent.java new file mode 100644 index 0000000000..91955e37fd --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/AMQStateChangedEvent.java @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state; + +/** + * An event that is fired when the protocol state has changed. + * + */ +public class AMQStateChangedEvent +{ + private final AMQState _oldState; + + private final AMQState _newState; + + public AMQStateChangedEvent(AMQState oldState, AMQState newState) + { + _oldState = oldState; + _newState = newState; + } + + public AMQState getOldState() + { + return _oldState; + } + + public AMQState getNewState() + { + return _newState; + } +} diff --git a/java/client/src/org/apache/qpid/client/state/AMQStateListener.java b/java/client/src/org/apache/qpid/client/state/AMQStateListener.java new file mode 100644 index 0000000000..7f9698dc92 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/AMQStateListener.java @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state; + +public interface AMQStateListener +{ + void stateChanged(AMQStateChangedEvent evt); +} diff --git a/java/client/src/org/apache/qpid/client/state/AMQStateManager.java b/java/client/src/org/apache/qpid/client/state/AMQStateManager.java new file mode 100644 index 0000000000..cdabcf1df4 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/AMQStateManager.java @@ -0,0 +1,224 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state; + +import org.apache.qpid.AMQException; +import org.apache.qpid.client.handler.*; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.protocol.AMQMethodListener; +import org.apache.qpid.framing.*; +import org.apache.log4j.Logger; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.concurrent.CopyOnWriteArraySet; + +/** + * The state manager is responsible for managing the state of the protocol session. + * <p/> + * For each AMQProtocolHandler there is a separate state manager. + */ +public class AMQStateManager implements AMQMethodListener +{ + private static final Logger _logger = Logger.getLogger(AMQStateManager.class); + + /** + * The current state + */ + private AMQState _currentState; + + /** + * Maps from an AMQState instance to a Map from Class to StateTransitionHandler. + * The class must be a subclass of AMQFrame. + */ + private final Map _state2HandlersMap = new HashMap(); + + private final CopyOnWriteArraySet _stateListeners = new CopyOnWriteArraySet(); + + public AMQStateManager() + { + this(AMQState.CONNECTION_NOT_STARTED, true); + } + + protected AMQStateManager(AMQState state, boolean register) + { + _currentState = state; + if(register) + { + registerListeners(); + } + } + + protected void registerListeners() + { + Map frame2handlerMap = new HashMap(); + + // we need to register a map for the null (i.e. all state) handlers otherwise you get + // a stack overflow in the handler searching code when you present it with a frame for which + // no handlers are registered + // + _state2HandlersMap.put(null, frame2handlerMap); + + frame2handlerMap = new HashMap(); + frame2handlerMap.put(ConnectionStartBody.class, ConnectionStartMethodHandler.getInstance()); + frame2handlerMap.put(ConnectionCloseBody.class, ConnectionCloseMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_NOT_STARTED, frame2handlerMap); + + frame2handlerMap = new HashMap(); + frame2handlerMap.put(ConnectionTuneBody.class, ConnectionTuneMethodHandler.getInstance()); + frame2handlerMap.put(ConnectionSecureBody.class, ConnectionSecureMethodHandler.getInstance()); + frame2handlerMap.put(ConnectionCloseBody.class, ConnectionCloseMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_NOT_TUNED, frame2handlerMap); + + frame2handlerMap = new HashMap(); + frame2handlerMap.put(ConnectionOpenOkBody.class, ConnectionOpenOkMethodHandler.getInstance()); + frame2handlerMap.put(ConnectionCloseBody.class, ConnectionCloseMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_NOT_OPENED, frame2handlerMap); + + // + // ConnectionOpen handlers + // + frame2handlerMap = new HashMap(); + frame2handlerMap.put(ChannelCloseBody.class, ChannelCloseMethodHandler.getInstance()); + frame2handlerMap.put(ChannelCloseOkBody.class, ChannelCloseOkMethodHandler.getInstance()); + frame2handlerMap.put(ConnectionCloseBody.class, ConnectionCloseMethodHandler.getInstance()); + frame2handlerMap.put(BasicDeliverBody.class, BasicDeliverMethodHandler.getInstance()); + frame2handlerMap.put(BasicReturnBody.class, BasicReturnMethodHandler.getInstance()); + frame2handlerMap.put(ChannelFlowOkBody.class, ChannelFlowOkMethodHandler.getInstance()); + _state2HandlersMap.put(AMQState.CONNECTION_OPEN, frame2handlerMap); + } + + public AMQState getCurrentState() + { + return _currentState; + } + + public void changeState(AMQState newState) throws AMQException + { + _logger.debug("State changing to " + newState + " from old state " + _currentState); + final AMQState oldState = _currentState; + _currentState = newState; + + synchronized (_stateListeners) + { + final Iterator it = _stateListeners.iterator(); + while (it.hasNext()) + { + final StateListener l = (StateListener) it.next(); + l.stateChanged(oldState, newState); + } + } + } + + public void error(Exception e) + { + _logger.debug("State manager receive error notification: " + e); + synchronized (_stateListeners) + { + final Iterator it = _stateListeners.iterator(); + while (it.hasNext()) + { + final StateListener l = (StateListener) it.next(); + l.error(e); + } + } + } + + public boolean methodReceived(AMQMethodEvent evt) throws AMQException + { + StateAwareMethodListener handler = findStateTransitionHandler(_currentState, evt.getMethod()); + if (handler != null) + { + handler.methodReceived(this, evt); + return true; + } + return false; + } + + protected StateAwareMethodListener findStateTransitionHandler(AMQState currentState, + AMQMethodBody frame) + throws IllegalStateTransitionException + { + final Class clazz = frame.getClass(); + if (_logger.isDebugEnabled()) + { + _logger.debug("Looking for state transition handler for frame " + clazz); + } + final Map classToHandlerMap = (Map) _state2HandlersMap.get(currentState); + + if (classToHandlerMap == null) + { + // if no specialised per state handler is registered look for a + // handler registered for "all" states + return findStateTransitionHandler(null, frame); + } + final StateAwareMethodListener handler = (StateAwareMethodListener) classToHandlerMap.get(clazz); + if (handler == null) + { + if (currentState == null) + { + _logger.debug("No state transition handler defined for receiving frame " + frame); + return null; + } + else + { + // if no specialised per state handler is registered look for a + // handler registered for "all" states + return findStateTransitionHandler(null, frame); + } + } + else + { + return handler; + } + } + + public void addStateListener(StateListener listener) + { + _logger.debug("Adding state listener"); + _stateListeners.add(listener); + } + + public void removeStateListener(StateListener listener) + { + _stateListeners.remove(listener); + } + + public void attainState(AMQState s) throws AMQException + { + boolean needToWait = false; + StateWaiter sw = null; + synchronized (_stateListeners) + { + if (_currentState != s) + { + _logger.debug("Adding state wait to reach state " + s); + sw = new StateWaiter(s); + addStateListener(sw); + // we use a boolean since we must release the lock before starting to wait + needToWait = true; + } + } + if (needToWait) + { + sw.waituntilStateHasChanged(); + } + // at this point the state will have changed. + } +} diff --git a/java/client/src/org/apache/qpid/client/state/IllegalStateTransitionException.java b/java/client/src/org/apache/qpid/client/state/IllegalStateTransitionException.java new file mode 100644 index 0000000000..58bb38352b --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/IllegalStateTransitionException.java @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state; + +import org.apache.qpid.AMQException; + +public class IllegalStateTransitionException extends AMQException +{ + private AMQState _originalState; + + private Class _frame; + + public IllegalStateTransitionException(AMQState originalState, Class frame) + { + super("No valid state transition defined for receiving frame " + frame + + " from state " + originalState); + _originalState = originalState; + _frame = frame; + } + + public AMQState getOriginalState() + { + return _originalState; + } + + public Class getFrameClass() + { + return _frame; + } +} diff --git a/java/client/src/org/apache/qpid/client/state/StateAwareMethodListener.java b/java/client/src/org/apache/qpid/client/state/StateAwareMethodListener.java new file mode 100644 index 0000000000..6fed4f2df6 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/StateAwareMethodListener.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state; + +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.AMQException; + +/** + * A frame listener that is informed of the protocl state when invoked and has + * the opportunity to update state. + * + */ +public interface StateAwareMethodListener +{ + void methodReceived(AMQStateManager stateManager, AMQMethodEvent evt) throws AMQException; +} diff --git a/java/client/src/org/apache/qpid/client/state/StateListener.java b/java/client/src/org/apache/qpid/client/state/StateListener.java new file mode 100644 index 0000000000..0a5bee5106 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/StateListener.java @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state; + +import org.apache.qpid.AMQException; + +public interface StateListener +{ + void stateChanged(AMQState oldState, AMQState newState) throws AMQException; + + void error(Throwable t); +} diff --git a/java/client/src/org/apache/qpid/client/state/StateWaiter.java b/java/client/src/org/apache/qpid/client/state/StateWaiter.java new file mode 100644 index 0000000000..53ce452b78 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/StateWaiter.java @@ -0,0 +1,114 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; + +/** + * Waits for a particular state to be reached. + * + */ +public class StateWaiter implements StateListener +{ + private static final Logger _logger = Logger.getLogger(StateWaiter.class); + + private final AMQState _state; + + private volatile boolean _newStateAchieved; + + private volatile Throwable _throwable; + + private final Object _monitor = new Object(); + + public StateWaiter(AMQState state) + { + _state = state; + } + + public void waituntilStateHasChanged() throws AMQException + { + synchronized (_monitor) + { + // + // The guard is required in case we are woken up by a spurious + // notify(). + // + while (!_newStateAchieved && _throwable == null) + { + try + { + _logger.debug("State " + _state + " not achieved so waiting..."); + _monitor.wait(); + } + catch (InterruptedException e) + { + _logger.debug("Interrupted exception caught while waiting: " + e, e); + } + } + } + + if (_throwable != null) + { + _logger.debug("Throwable reached state waiter: " + _throwable); + if (_throwable instanceof AMQException) + { + throw (AMQException) _throwable; + } + else + { + throw new AMQException("Error: " + _throwable, _throwable); // FIXME: this will wrap FailoverException in throwable which will prevent it being caught. + } + } + } + + public void stateChanged(AMQState oldState, AMQState newState) + { + synchronized (_monitor) + { + if (_logger.isDebugEnabled()) + { + _logger.debug("stateChanged called"); + } + if (_state == newState) + { + _newStateAchieved = true; + + if (_logger.isDebugEnabled()) + { + _logger.debug("New state reached so notifying monitor"); + } + _monitor.notifyAll(); + } + } + } + + public void error(Throwable t) + { + synchronized (_monitor) + { + if (_logger.isDebugEnabled()) + { + _logger.debug("exceptionThrown called"); + } + + _throwable = t; + _monitor.notifyAll(); + } + } +} diff --git a/java/client/src/org/apache/qpid/client/state/listener/SpecificMethodFrameListener.java b/java/client/src/org/apache/qpid/client/state/listener/SpecificMethodFrameListener.java new file mode 100644 index 0000000000..b2d7d777d8 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/state/listener/SpecificMethodFrameListener.java @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.state.listener; + +import org.apache.qpid.client.protocol.BlockingMethodFrameListener; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.AMQException; + +public class SpecificMethodFrameListener extends BlockingMethodFrameListener +{ + private final Class _expectedClass; + + public SpecificMethodFrameListener(int channelId, Class expectedClass) + { + super(channelId); + _expectedClass = expectedClass; + } + + public boolean processMethod(int channelId, AMQMethodBody frame) throws AMQException + { + return _expectedClass.isInstance(frame); + } +} diff --git a/java/client/src/org/apache/qpid/client/transport/ITransportConnection.java b/java/client/src/org/apache/qpid/client/transport/ITransportConnection.java new file mode 100644 index 0000000000..49af2d1bdb --- /dev/null +++ b/java/client/src/org/apache/qpid/client/transport/ITransportConnection.java @@ -0,0 +1,30 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.transport; + +import org.apache.qpid.client.protocol.AMQProtocolHandler; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.jms.BrokerDetails; + +import java.io.IOException; + +public interface ITransportConnection +{ + void connect(AMQProtocolHandler protocolHandler, BrokerDetails brokerDetail) + throws IOException; +} diff --git a/java/client/src/org/apache/qpid/client/transport/SocketTransportConnection.java b/java/client/src/org/apache/qpid/client/transport/SocketTransportConnection.java new file mode 100644 index 0000000000..0ec5ba2473 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/transport/SocketTransportConnection.java @@ -0,0 +1,96 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.transport; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.protocol.AMQProtocolHandler; +import org.apache.qpid.pool.ReadWriteThreadModel; +import org.apache.qpid.jms.BrokerDetails; +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.ConnectFuture; +import org.apache.mina.common.IoConnector; +import org.apache.mina.common.SimpleByteBufferAllocator; +import org.apache.mina.transport.socket.nio.SocketConnectorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; + +import java.io.IOException; +import java.net.InetSocketAddress; + +public class SocketTransportConnection implements ITransportConnection +{ + private static final Logger _logger = Logger.getLogger(SocketTransportConnection.class); + private static final int DEFAULT_BUFFER_SIZE = 32 * 1024; + + private SocketConnectorFactory _socketConnectorFactory; + + static interface SocketConnectorFactory { + IoConnector newSocketConnector(); + } + + public SocketTransportConnection(SocketConnectorFactory socketConnectorFactory) + { + _socketConnectorFactory = socketConnectorFactory; + } + + public void connect(AMQProtocolHandler protocolHandler, BrokerDetails brokerDetail) + throws IOException + { + ByteBuffer.setUseDirectBuffers(Boolean.getBoolean("amqj.enableDirectBuffers")); + + // the MINA default is currently to use the pooled allocator although this may change in future + // once more testing of the performance of the simple allocator has been done + if (!Boolean.getBoolean("amqj.enablePooledAllocator")) + { + ByteBuffer.setAllocator(new SimpleByteBufferAllocator()); + } + + final IoConnector ioConnector = _socketConnectorFactory.newSocketConnector(); + SocketConnectorConfig cfg = (SocketConnectorConfig) ioConnector.getDefaultConfig(); + + // if we do not use our own thread model we get the MINA default which is to use + // its own leader-follower model + boolean readWriteThreading = Boolean.getBoolean("amqj.shared_read_write_pool"); + if (readWriteThreading) + { + cfg.setThreadModel(new ReadWriteThreadModel()); + } + + SocketSessionConfig scfg = (SocketSessionConfig) cfg.getSessionConfig(); + scfg.setTcpNoDelay("true".equalsIgnoreCase(System.getProperty("amqj.tcpNoDelay", "true"))); + scfg.setSendBufferSize(Integer.getInteger("amqj.sendBufferSize", DEFAULT_BUFFER_SIZE)); + _logger.info("send-buffer-size = " + scfg.getSendBufferSize()); + scfg.setReceiveBufferSize(Integer.getInteger("amqj.receiveBufferSize", DEFAULT_BUFFER_SIZE)); + _logger.info("recv-buffer-size = " + scfg.getReceiveBufferSize()); + final InetSocketAddress address = new InetSocketAddress(brokerDetail.getHost(), brokerDetail.getPort()); + protocolHandler.setUseSSL(brokerDetail.useSSL()); + _logger.info("Attempting connection to " + address); + ConnectFuture future = ioConnector.connect(address, protocolHandler); + + // wait for connection to complete + if (future.join(brokerDetail.getTimeout())) + { + // we call getSession which throws an IOException if there has been an error connecting + future.getSession(); + } + else + { + throw new IOException("Timeout waiting for connection."); + } + } +} diff --git a/java/client/src/org/apache/qpid/client/transport/TransportConnection.java b/java/client/src/org/apache/qpid/client/transport/TransportConnection.java new file mode 100644 index 0000000000..a898e182f7 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/transport/TransportConnection.java @@ -0,0 +1,71 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.transport; + +import org.apache.mina.common.IoConnector; +import org.apache.mina.transport.socket.nio.SocketConnector; + +/** + * The TransportConnection is a helper class responsible for connecting to an AMQ server. It sets up + * the underlying connector, which currently always uses TCP/IP sockets. It creates the + * "protocol handler" which deals with MINA protocol events. + * + * Could be extended in future to support different transport types by turning this into concrete class/interface + * combo. + */ +public class TransportConnection +{ + private static ITransportConnection _instance; + + static + { + if (Boolean.getBoolean("amqj.useBlockingIo")) + { + _instance = new SocketTransportConnection(new SocketTransportConnection.SocketConnectorFactory() { + public IoConnector newSocketConnector() { + return new org.apache.qpid.bio.SocketConnector(); // blocking connector + } + }); + } + else + { + _instance = new SocketTransportConnection(new SocketTransportConnection.SocketConnectorFactory() { + public IoConnector newSocketConnector() { + SocketConnector result = new SocketConnector(); // non-blocking connector + + // Don't have the connector's worker thread wait around for other connections (we only use + // one SocketConnector per connection at the moment anyway). This allows short-running + // clients (like unit tests) to complete quickly. + result.setWorkerTimeout(0L); + + return result; + } + }); + } + } + + public static void setInstance(ITransportConnection transport) + { + _instance = transport; + } + + public static ITransportConnection getInstance() + { + return _instance; + } +} diff --git a/java/client/src/org/apache/qpid/client/util/FlowControllingBlockingQueue.java b/java/client/src/org/apache/qpid/client/util/FlowControllingBlockingQueue.java new file mode 100644 index 0000000000..ad2ca7b731 --- /dev/null +++ b/java/client/src/org/apache/qpid/client/util/FlowControllingBlockingQueue.java @@ -0,0 +1,87 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.util; + +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; + +/** + * A blocking queue that emits events above a user specified threshold allowing + * the caller to take action (e.g. flow control) to try to prevent the queue + * growing (much) further. The underlying queue itself is not bounded therefore + * the caller is not obliged to react to the events. + * <p/> + * This implementation is <b>only</b> safe where we have a single thread adding + * items and a single (different) thread removing items. + * + */ +public class FlowControllingBlockingQueue +{ + /** + * This queue is bounded and is used to store messages before being dispatched to the consumer + */ + private final BlockingQueue _queue = new LinkedBlockingQueue(); + + private final int _flowControlThreshold; + + private final ThresholdListener _listener; + + /** + * We require a separate count so we can track whether we have reached the + * threshold + */ + private int _count; + + public interface ThresholdListener + { + void aboveThreshold(int currentValue); + + void underThreshold(int currentValue); + } + + public FlowControllingBlockingQueue(int threshold, ThresholdListener listener) + { + _flowControlThreshold = threshold; + _listener = listener; + } + + public Object take() throws InterruptedException + { + Object o = _queue.take(); + synchronized (_listener) + { + if (--_count == (_flowControlThreshold - 1)) + { + _listener.underThreshold(_count); + } + } + return o; + } + + public void add(Object o) + { + _queue.add(o); + synchronized (_listener) + { + if (++_count == _flowControlThreshold) + { + _listener.aboveThreshold(_count); + } + } + } +} diff --git a/java/client/src/org/apache/qpid/jms/BrokerDetails.java b/java/client/src/org/apache/qpid/jms/BrokerDetails.java new file mode 100644 index 0000000000..fc8af2091e --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/BrokerDetails.java @@ -0,0 +1,59 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +public interface BrokerDetails +{ + + /* + * Known URL Options + * @see ConnectionURL + */ + public static final String OPTIONS_RETRY = "retries"; + public static final String OPTIONS_SSL = ConnectionURL.OPTIONS_SSL; + public static final String OPTIONS_CONNECT_TIMEOUT = "connecttimeout"; + public static final int DEFAULT_PORT = 5672; + public static final String DEFAULT_TRANSPORT = "tcp"; + + public static final String URL_FORMAT_EXAMPLE = + "<transport>://<hostname>[:<port Default=\""+DEFAULT_PORT+"\">][?<option>='<value>'[,<option>='<value>']]"; + + public static final long DEFAULT_CONNECT_TIMEOUT = 30000L; + + String getHost(); + void setHost(String host); + + int getPort(); + void setPort(int port); + + String getTransport(); + void setTransport(String transport); + + boolean useSSL(); + void useSSL(boolean ssl); + + String getOption(String key); + void setOption(String key,String value); + + long getTimeout(); + void setTimeout(long timeout); + + String toString(); + + boolean equals(Object o); +} diff --git a/java/client/src/org/apache/qpid/jms/ChannelLimitReachedException.java b/java/client/src/org/apache/qpid/jms/ChannelLimitReachedException.java new file mode 100644 index 0000000000..d18831f5ff --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/ChannelLimitReachedException.java @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +import javax.jms.ResourceAllocationException; + +/** + * Indicates that the maximum number of sessions per connection limit has been reached. + */ +public class ChannelLimitReachedException extends ResourceAllocationException +{ + private static final String ERROR_CODE = "1"; + + private long _limit; + + public ChannelLimitReachedException(long limit) + { + super("Unable to create session since maximum number of sessions per connection is " + + limit + ". Either close one or more sessions or increase the " + + "maximum number of sessions per connection (or contact your AMQP administrator.", ERROR_CODE); + _limit = limit; + } + + public long getLimit() + { + return _limit; + } +} diff --git a/java/client/src/org/apache/qpid/jms/Connection.java b/java/client/src/org/apache/qpid/jms/Connection.java new file mode 100644 index 0000000000..88cfdfc65f --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/Connection.java @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +import javax.jms.*; + + +public interface Connection extends javax.jms.Connection +{ + /** + * @return the maximum number of sessions supported by this Connection + */ + long getMaximumChannelCount(); + + void setConnectionListener(ConnectionListener listener); + + /** + * Get the connection listener that has been registered with this connection, if any + * @return the listener or null if none has been set + */ + ConnectionListener getConnectionListener(); + + /** + * Create a session specifying the prefetch limit of messages. + * @param transacted + * @param acknowledgeMode + * @param prefetch the maximum number of messages to buffer in the client. This + * applies as a total across all consumers + * @return + * @throws JMSException + */ + org.apache.qpid.jms.Session createSession(boolean transacted, int acknowledgeMode, + int prefetch) throws JMSException; +} diff --git a/java/client/src/org/apache/qpid/jms/ConnectionListener.java b/java/client/src/org/apache/qpid/jms/ConnectionListener.java new file mode 100644 index 0000000000..2ffcf0c8fc --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/ConnectionListener.java @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +public interface ConnectionListener +{ + /** + * Called when bytes have been transmitted to the server + * @param count the number of bytes sent in total since the connection was opened + */ + void bytesSent(long count); + + /** + * Called when some bytes have been received on a connection + * @param count the number of bytes received in total since the connection was opened + */ + void bytesReceived(long count); + + /** + * Called after the infrastructure has detected that failover is required but before attempting failover. + * @param redirect true if the broker requested redirect. false if failover is occurring due to a connection error. + * @return true to continue failing over, false to veto failover and raise a connection exception + */ + boolean preFailover(boolean redirect); + + /** + * Called after connection has been made to another broker after failover has been started but before + * any resubscription has been done. + * @return true to continue with resubscription, false to prevent automatic resubscription. This is useful in + * cases where the application wants to handle resubscription. Note that in the latter case all sessions, producers + * and consumers are invalidated. + */ + boolean preResubscribe(); + + /** + * Called once failover has completed successfully. This is called irrespective of whether the client has + * vetoed automatic resubscription. + */ + void failoverComplete(); +} diff --git a/java/client/src/org/apache/qpid/jms/ConnectionURL.java b/java/client/src/org/apache/qpid/jms/ConnectionURL.java new file mode 100644 index 0000000000..555bbd2f46 --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/ConnectionURL.java @@ -0,0 +1,69 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +import java.util.List; + +/** + Connection URL format + amqp://[user:pass@][clientid]/virtualhost?brokerlist='tcp://host:port?option=\'value\'&option=\'value\';vm://:3/virtualpath?option=\'value\''&failover='method?option=\'value\'&option='value''" + Options are of course optional except for requiring a single broker in the broker list. + The option seperator is defined to be either '&' or ',' + */ +public interface ConnectionURL +{ + public static final String AMQ_PROTOCOL = "amqp"; + public static final String OPTIONS_BROKERLIST = "brokerlist"; + public static final String OPTIONS_FAILOVER = "failover"; + public static final String OPTIONS_FAILOVER_CYCLE = "cyclecount"; + public static final String OPTIONS_SSL = "ssl"; + + String getURL(); + + String getFailoverMethod(); + + String getFailoverOption(String key); + + int getBrokerCount(); + + BrokerDetails getBrokerDetails(int index); + + void addBrokerDetails(BrokerDetails broker); + + List<BrokerDetails> getAllBrokerDetails(); + + String getClientName(); + + void setClientName(String clientName); + + String getUsername(); + + void setUsername(String username); + + String getPassword(); + + void setPassword(String password); + + String getVirtualHost(); + + void setVirtualHost(String virtualHost); + + String getOption(String key); + + void setOption(String key, String value); +} diff --git a/java/client/src/org/apache/qpid/jms/FailoverPolicy.java b/java/client/src/org/apache/qpid/jms/FailoverPolicy.java new file mode 100644 index 0000000000..a1a89f8a66 --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/FailoverPolicy.java @@ -0,0 +1,306 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +import org.apache.qpid.jms.failover.FailoverMethod; +import org.apache.qpid.jms.failover.FailoverRoundRobinServers; +import org.apache.qpid.jms.failover.FailoverSingleServer; +import org.apache.log4j.Logger; + + +public class FailoverPolicy +{ + private static final Logger _logger = Logger.getLogger(FailoverPolicy.class); + + private static final long MINUTE = 60000L; + + private static final long DEFAULT_METHOD_TIMEOUT = 1 * MINUTE; + private static final long DEFAULT_FAILOVER_TIMEOUT = 4 * MINUTE; + + private FailoverMethod _methods[] = new FailoverMethod[1]; + + private int _currentMethod; + + private int _methodsRetries; + + private int _currentRetry; + + private boolean _timing; + + private long _lastMethodTime; + private long _lastFailTime; + + public FailoverPolicy(ConnectionURL connectionDetails) + { + FailoverMethod method; + + //todo This should be integrated in to the connection url when it supports + // multiple strategies. + + _methodsRetries = 0; + + if (connectionDetails.getFailoverMethod() == null) + { + if (connectionDetails.getBrokerCount() > 1) + { + method = new FailoverRoundRobinServers(connectionDetails); + } + else + { + method = new FailoverSingleServer(connectionDetails); + } + } + else + { + String failoverMethod = connectionDetails.getFailoverMethod(); + +/* + if (failoverMethod.equals(FailoverMethod.RANDOM)) + { + //todo write a random connection Failover + } +*/ + if (failoverMethod.equals(FailoverMethod.ROUND_ROBIN)) + { + method = new FailoverRoundRobinServers(connectionDetails); + } + else + { + try + { + Class[] constructorSpec = {ConnectionURL.class}; + Object [] params = {connectionDetails}; + + method = (FailoverMethod) ClassLoader.getSystemClassLoader(). + loadClass(failoverMethod). + getConstructor(constructorSpec).newInstance(params); + } + catch (Exception cnfe) + { + throw new IllegalArgumentException("Unknown failover method:" + failoverMethod); + } + } + } + + if (method == null) + { + throw new IllegalArgumentException("Unknown failover method specified."); + } + + reset(); + + _methods[_currentMethod] = method; + } + + public FailoverPolicy(FailoverMethod method) + { + this(method, 0); + } + + public FailoverPolicy(FailoverMethod method, int retries) + { + _methodsRetries = retries; + + reset(); + + _methods[_currentMethod] = method; + } + + private void reset() + { + _currentMethod = 0; + _currentRetry = 0; + _timing = false; + + } + + public boolean failoverAllowed() + { + boolean failoverAllowed; + + if (_timing) + { + long now = System.currentTimeMillis(); + + if ((now - _lastMethodTime) >= DEFAULT_METHOD_TIMEOUT) + { + _logger.info("Failover method timeout"); + _lastMethodTime = now; + + if (!nextMethod()) + { + return false; + } + + + } + else if ((now - _lastFailTime) >= DEFAULT_FAILOVER_TIMEOUT) + { + _logger.info("Failover timeout"); + return false; + } + else + { + _lastMethodTime = now; + } + } + else + { + _timing = true; + _lastMethodTime = System.currentTimeMillis(); + _lastFailTime = _lastMethodTime; + } + + + if (_methods[_currentMethod].failoverAllowed()) + { + failoverAllowed = true; + } + else + { + if (_currentMethod < (_methods.length - 1)) + { + nextMethod(); + _logger.info("Changing method to " + _methods[_currentMethod].methodName()); + return failoverAllowed(); + } + else + { + return cycleMethods(); + } + } + + return failoverAllowed; + } + + private boolean nextMethod() + { + if (_currentMethod < (_methods.length - 1)) + { + _currentMethod++; + _methods[_currentMethod].reset(); + return true; + } + else + { + return cycleMethods(); + } + } + + private boolean cycleMethods() + { + if (_currentRetry < _methodsRetries) + { + _currentRetry++; + + _currentMethod = 0; + + _logger.info("Retrying methods starting with " + _methods[_currentMethod].methodName()); + _methods[_currentMethod].reset(); + return failoverAllowed(); + } + else + { + _logger.debug("All failover methods exhausted"); + return false; + } + } + + /** + * Notification that connection was successful. + */ + public void attainedConnection() + { + _currentRetry = 0; + + _methods[_currentMethod].attainedConnection(); + + _timing = false; + } + + public BrokerDetails getCurrentBrokerDetails() + { + return _methods[_currentMethod].getCurrentBrokerDetails(); + } + + public BrokerDetails getNextBrokerDetails() + { + return _methods[_currentMethod].getNextBrokerDetails(); + } + + public void setBroker(BrokerDetails broker) + { + _methods[_currentMethod].setBroker(broker); + } + + public void addMethod(FailoverMethod method) + { + int len = _methods.length + 1; + FailoverMethod[] newMethods = new FailoverMethod[len]; + System.arraycopy(_methods, 0, newMethods, 0, _methods.length); + int index = len - 1; + newMethods[index] = method; + _methods = newMethods; + } + + public void setMethodRetries(int retries) + { + _methodsRetries = retries; + } + + public FailoverMethod getCurrentMethod() + { + if (_currentMethod >= 0 && _currentMethod < (_methods.length - 1)) + { + return _methods[_currentMethod]; + } + else + { + return null; + } + } + + public String toString() + { + StringBuffer sb = new StringBuffer(); + + sb.append("Failover Policy:\n"); + + if (failoverAllowed()) + { + sb.append("Failover allowed\n"); + } + else + { + sb.append("Failover not allowed\n"); + } + + sb.append("Failover policy methods\n"); + for (int i = 0; i < _methods.length; i++) + { + + if (i == _currentMethod) + { + sb.append(">"); + } + sb.append(_methods[i].toString()); + } + + return sb.toString(); + } +} diff --git a/java/client/src/org/apache/qpid/jms/MessageConsumer.java b/java/client/src/org/apache/qpid/jms/MessageConsumer.java new file mode 100644 index 0000000000..2116ebe918 --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/MessageConsumer.java @@ -0,0 +1,24 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +/** + */ +public interface MessageConsumer extends javax.jms.MessageConsumer +{ +} diff --git a/java/client/src/org/apache/qpid/jms/MessageProducer.java b/java/client/src/org/apache/qpid/jms/MessageProducer.java new file mode 100644 index 0000000000..e00d271cc3 --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/MessageProducer.java @@ -0,0 +1,49 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import java.io.UnsupportedEncodingException; + +/** + */ +public interface MessageProducer extends javax.jms.MessageProducer +{ + /** + * Set the default MIME type for messages produced by this producer. This reduces the overhead of each message. + * @param mimeType + */ + void setMimeType(String mimeType); + + /** + * Set the default encoding for messages produced by this producer. This reduces the overhead of each message. + * @param encoding the encoding as understood by XXXX how do I specify this?? RG + * @throws UnsupportedEncodingException if the encoding is not understood + */ + void setEncoding(String encoding) throws UnsupportedEncodingException; + + void send(Destination destination, Message message, int deliveryMode, + int priority, long timeToLive, boolean immediate) + throws JMSException; + + void send(Destination destination, Message message, int deliveryMode, + int priority, long timeToLive, boolean mandatory, boolean immediate) + throws JMSException; +} diff --git a/java/client/src/org/apache/qpid/jms/Session.java b/java/client/src/org/apache/qpid/jms/Session.java new file mode 100644 index 0000000000..82a2311498 --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/Session.java @@ -0,0 +1,70 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms; + +import javax.jms.*; +import javax.jms.MessageConsumer; +import javax.jms.MessageProducer; + + +public interface Session extends javax.jms.Session +{ + /** + * Indicates that no client acknowledgements are required. Broker assumes that once it has delivered + * a message packet successfully it is acknowledged. + */ + static final int NO_ACKNOWLEDGE = 257; + + /** + * Pre acknowledge means that an ack is sent per message but sent before user code has processed + * the message (i.e. before the onMessage() call or the receive() method has returned). + */ + static final int PRE_ACKNOWLEDGE = 258; + + MessageConsumer createConsumer(Destination destination, + int prefetch, + boolean noLocal, + boolean exclusive, + String selector) throws JMSException; + + /** + * @return the prefetch value used by default for consumers created on this session. + */ + int getDefaultPrefetch(); + + /** + * Create a producer + * @param destination + * @param mandatory the value of the mandatory flag used by default on the producer + * @param immediate the value of the immediate flag used by default on the producer + * @return + * @throws JMSException + */ + MessageProducer createProducer(Destination destination, boolean mandatory, boolean immediate) + throws JMSException; + + /** + * Create a producer + * @param destination + * @param immediate the value of the immediate flag used by default on the producer + * @return + * @throws JMSException + */ + MessageProducer createProducer(Destination destination, boolean immediate) + throws JMSException; +} diff --git a/java/client/src/org/apache/qpid/jms/failover/FailoverMethod.java b/java/client/src/org/apache/qpid/jms/failover/FailoverMethod.java new file mode 100644 index 0000000000..ff1336eb9d --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/failover/FailoverMethod.java @@ -0,0 +1,72 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.qpid.jms.failover; + +import org.apache.qpid.jms.BrokerDetails; + +public interface FailoverMethod +{ + public static final String ROUND_ROBIN = "roundrobin"; + public static final String RANDOM = "random"; + /** + * Reset the Failover to initial conditions + */ + void reset(); + + /** + * Check if failover is possible for this method + * + * @return true if failover is allowed + */ + boolean failoverAllowed(); + + /** + * Notification to the Failover method that a connection has been attained. + */ + void attainedConnection(); + + /** + * If there is no current BrokerDetails the null will be returned. + * @return The current BrokerDetail value to use + */ + BrokerDetails getCurrentBrokerDetails(); + + /** + * Move to the next BrokerDetails if one is available. + * @return the next BrokerDetail or null if there is none. + */ + BrokerDetails getNextBrokerDetails(); + + /** + * Set the currently active broker to be the new value. + * @param broker The new BrokerDetail value + */ + void setBroker(BrokerDetails broker); + + /** + * Set the retries for this method + * @param maxRetries the maximum number of time to retry this Method + */ + void setRetries(int maxRetries); + + /** + * @return The name of this method for display purposes. + */ + String methodName(); +} diff --git a/java/client/src/org/apache/qpid/jms/failover/FailoverRoundRobinServers.java b/java/client/src/org/apache/qpid/jms/failover/FailoverRoundRobinServers.java new file mode 100644 index 0000000000..715f605308 --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/failover/FailoverRoundRobinServers.java @@ -0,0 +1,256 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms.failover; + +import org.apache.qpid.jms.BrokerDetails; +import org.apache.qpid.jms.ConnectionURL; +import org.apache.log4j.Logger; + +public class FailoverRoundRobinServers implements FailoverMethod +{ + private static final Logger _logger = Logger.getLogger(FailoverRoundRobinServers.class); + + /** The default number of times to cycle through all servers */ + public static final int DEFAULT_CYCLE_RETRIES = 0; + /** The default number of times to retry each server */ + public static final int DEFAULT_SERVER_RETRIES = 0; + + /** + * The index into the hostDetails array of the broker to which we are connected + */ + private int _currentBrokerIndex = -1; + + /** + * The number of times to retry connecting for each server + */ + private int _serverRetries; + + /** + * The current number of retry attempts made + */ + private int _currentServerRetry; + + /** + * The number of times to cycle through the servers + */ + private int _cycleRetries; + + /** + * The current number of cycles performed. + */ + private int _currentCycleRetries; + + /** + * Array of BrokerDetail used to make connections. + */ + private ConnectionURL _connectionDetails; + + public FailoverRoundRobinServers(ConnectionURL connectionDetails) + { + if (!(connectionDetails.getBrokerCount() > 0)) + { + throw new IllegalArgumentException("At least one broker details must be specified."); + } + + _connectionDetails = connectionDetails; + + //There is no current broker at startup so set it to -1. + _currentBrokerIndex = -1; + + String cycleRetries = _connectionDetails.getFailoverOption(ConnectionURL.OPTIONS_FAILOVER_CYCLE); + + if (cycleRetries != null) + { + try + { + _cycleRetries = Integer.parseInt(cycleRetries); + } + catch (NumberFormatException nfe) + { + _cycleRetries = DEFAULT_CYCLE_RETRIES; + } + } + + _currentCycleRetries = 0; + + _serverRetries = 0; + _currentServerRetry = -1; + } + + public void reset() + { + _currentBrokerIndex = 0; + _currentCycleRetries = 0; + _currentServerRetry = -1; + } + + public boolean failoverAllowed() + { + return ((_currentCycleRetries < _cycleRetries) + || (_currentServerRetry < _serverRetries) + || (_currentBrokerIndex < (_connectionDetails.getBrokerCount() - 1))); + } + + public void attainedConnection() + { + _currentCycleRetries = 0; + _currentServerRetry = -1; + } + + public BrokerDetails getCurrentBrokerDetails() + { + if (_currentBrokerIndex == -1) + { + return null; + } + + return _connectionDetails.getBrokerDetails(_currentBrokerIndex); + } + + + + public BrokerDetails getNextBrokerDetails() + { + if (_currentBrokerIndex == (_connectionDetails.getBrokerCount() - 1)) + { + if (_currentServerRetry < _serverRetries) + { + if (_currentBrokerIndex == -1) + { + _currentBrokerIndex = 0; + + setBroker(_connectionDetails.getBrokerDetails(_currentBrokerIndex )); + + _logger.info("First run using " + _connectionDetails.getBrokerDetails(_currentBrokerIndex)); + } + else + { + _logger.info("Retrying " + _connectionDetails.getBrokerDetails(_currentBrokerIndex)); + } + + _currentServerRetry++; + } + else + { + _currentCycleRetries++; + //failed to connect to first broker + _currentBrokerIndex = 0; + + setBroker(_connectionDetails.getBrokerDetails(_currentBrokerIndex )); + + // This is zero rather than -1 as we are already retrieving the details. + _currentServerRetry = 0; + } + //else - should force client to stop as max retries has been reached. + } + else + { + if (_currentServerRetry < _serverRetries) + { + if (_currentBrokerIndex == -1) + { + _currentBrokerIndex = 0; + + setBroker(_connectionDetails.getBrokerDetails(_currentBrokerIndex )); + + _logger.info("First run using " + _connectionDetails.getBrokerDetails(_currentBrokerIndex)); + } + else + { + _logger.info("Retrying " + _connectionDetails.getBrokerDetails(_currentBrokerIndex)); + } + _currentServerRetry++; + } + else + { + _currentBrokerIndex++; + + setBroker(_connectionDetails.getBrokerDetails(_currentBrokerIndex )); + // This is zero rather than -1 as we are already retrieving the details. + _currentServerRetry = 0; + } + } + + return _connectionDetails.getBrokerDetails(_currentBrokerIndex); + } + + + public void setBroker(BrokerDetails broker) + { + + _connectionDetails.addBrokerDetails(broker); + + int index = _connectionDetails.getAllBrokerDetails().indexOf(broker); + + String serverRetries = broker.getOption(BrokerDetails.OPTIONS_RETRY); + + if (serverRetries != null) + { + try + { + _serverRetries = Integer.parseInt(serverRetries); + } + catch (NumberFormatException nfe) + { + _serverRetries = DEFAULT_SERVER_RETRIES; + } + } + + _currentServerRetry = -1; + _currentBrokerIndex = index; + } + + public void setRetries(int maxRetries) + { + _cycleRetries = maxRetries; + } + + public String methodName() + { + return "Cycle Servers"; + } + + public String toString() + { + StringBuffer sb = new StringBuffer(); + + sb.append("Cycle Servers:\n"); + + sb.append("Cycle Retries:"); + sb.append(_cycleRetries); + sb.append("\nCurrent Cycle:"); + sb.append(_currentCycleRetries); + sb.append("\nServer Retries:"); + sb.append(_serverRetries); + sb.append("\nCurrent Retry:"); + sb.append(_currentServerRetry); + sb.append("\n"); + + for(int i=0; i < _connectionDetails.getBrokerCount() ; i++) + { + if (i == _currentBrokerIndex) + { + sb.append(">"); + } + sb.append(_connectionDetails.getBrokerDetails(i)); + sb.append("\n"); + } + + return sb.toString(); + } +} diff --git a/java/client/src/org/apache/qpid/jms/failover/FailoverSingleServer.java b/java/client/src/org/apache/qpid/jms/failover/FailoverSingleServer.java new file mode 100644 index 0000000000..76dc6a2dd5 --- /dev/null +++ b/java/client/src/org/apache/qpid/jms/failover/FailoverSingleServer.java @@ -0,0 +1,144 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jms.failover; + +import org.apache.qpid.jms.BrokerDetails; +import org.apache.qpid.jms.ConnectionURL; + +public class FailoverSingleServer implements FailoverMethod +{ + /** The default number of times to rety a conection to this server */ + public static final int DEFAULT_SERVER_RETRIES = 1; + + /** + * The details of the Single Server + */ + private BrokerDetails _brokerDetail; + + /** + * The number of times to retry connecting to the sever + */ + private int _retries; + + /** + * The current number of attempts made to the server + */ + private int _currentRetries; + + + public FailoverSingleServer(ConnectionURL connectionDetails) + { + if (connectionDetails.getBrokerCount() > 0) + { + setBroker(connectionDetails.getBrokerDetails(0)); + } + else + { + throw new IllegalArgumentException("BrokerDetails details required for connection."); + } + } + + public FailoverSingleServer(BrokerDetails brokerDetail) + { + setBroker(brokerDetail); + } + + public void reset() + { + _currentRetries = -1; + } + + public boolean failoverAllowed() + { + return _currentRetries < _retries; + } + + public void attainedConnection() + { + reset(); + } + + public BrokerDetails getCurrentBrokerDetails() + { + return _brokerDetail; + } + + public BrokerDetails getNextBrokerDetails() + { + if (_currentRetries == _retries) + { + return null; + } + else + { + if (_currentRetries < _retries) + { + _currentRetries ++; + } + + return _brokerDetail; + } + } + + public void setBroker(BrokerDetails broker) + { + if (broker == null) + { + throw new IllegalArgumentException("BrokerDetails details cannot be null"); + } + _brokerDetail = broker; + + String retries = broker.getOption(BrokerDetails.OPTIONS_RETRY); + if (retries != null) + { + try + { + _retries = Integer.parseInt(retries); + } + catch (NumberFormatException nfe) + { + _retries = DEFAULT_SERVER_RETRIES; + } + } + else + { + _retries = DEFAULT_SERVER_RETRIES; + } + + reset(); + } + + public void setRetries(int retries) + { + _retries = retries; + } + + public String methodName() + { + return "Single Server"; + } + + public String toString() + { + return "SingleServer:\n"+ + "Max Retries:"+_retries+ + "\nCurrent Retry:"+_currentRetries+ + "\n"+_brokerDetail+"\n"; + } + +} diff --git a/java/client/test/bin/IBM-JNDI-Setup.bat b/java/client/test/bin/IBM-JNDI-Setup.bat new file mode 100644 index 0000000000..72c0395014 --- /dev/null +++ b/java/client/test/bin/IBM-JNDI-Setup.bat @@ -0,0 +1,59 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+REM Script to run the Qpid Java Broker
+
+set CMD="IBM-JNDI-Setup.bat"
+set JAVACLASS=org.apache.qpid.IBMPerfTest.JNDIBindConnectionFactory
+
+rem Guess QPID_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%QPID_HOME%" == "" goto gotHome
+set QPID_HOME=%CURRENT_DIR%
+echo %QPID_HOME%
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+cd ..
+set QPID_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+echo The QPID_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+if not "%JAVA_HOME%" == "" goto gotJavaHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotJavaHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+goto okJavaHome
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program.
+goto exit
+:okJavaHome
+
+set CLIENT_TEST_CLASSES=%QPID_HOME%\lib\client-test-launch.jar
+
+echo on
+"%JAVA_HOME%\bin\java" -server -Xmx1024m -DQPID_HOME="%QPID_HOME%" -cp "%CLIENT_TEST_CLASSES%" %JAVACLASS%
+
+:end
+
+pause
\ No newline at end of file diff --git a/java/client/test/bin/IBM-JNDI-Setup.sh b/java/client/test/bin/IBM-JNDI-Setup.sh new file mode 100755 index 0000000000..e27f062c13 --- /dev/null +++ b/java/client/test/bin/IBM-JNDI-Setup.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +qpid-run org.apache.qpid.IBMPerfTest.JNDIBindConnectionFactory +qpid-run org.apache.qpid.IBMPerfTest.JNDIBindQueue amq/Queue direct://amq.direct//IBMPerfQueue1 +qpid-run org.apache.qpid.IBMPerfTest.JNDIBindTopic amq/Topic1 topic://amq.topic/IBMPerfTopic1/ +qpid-run org.apache.qpid.IBMPerfTest.JNDIBindTopic amq/Topic2 topic://amq.topic/IBMPerfTopic2/ +qpid-run org.apache.qpid.IBMPerfTest.JNDIBindTopic amq/Topic3 topic://amq.topic/IBMPerfTopic3/ +qpid-run org.apache.qpid.IBMPerfTest.JNDIBindTopic amq/Topic4 topic://amq.topic/IBMPerfTopic4/
\ No newline at end of file diff --git a/java/client/test/bin/IBM-Publisher.bat b/java/client/test/bin/IBM-Publisher.bat new file mode 100644 index 0000000000..fbff36e5b2 --- /dev/null +++ b/java/client/test/bin/IBM-Publisher.bat @@ -0,0 +1,59 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+REM Script to run the Qpid Java Broker
+
+set CMD="IBM-Publisher.bat"
+set JAVACLASS=JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Topic -db 1 -dx 4 -tc jms.r11.Publisher -nt 4 %*
+
+rem Guess QPID_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%QPID_HOME%" == "" goto gotHome
+set QPID_HOME=%CURRENT_DIR%
+echo %QPID_HOME%
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+cd ..
+set QPID_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+echo The QPID_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+if not "%JAVA_HOME%" == "" goto gotJavaHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotJavaHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+goto okJavaHome
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program.
+goto exit
+:okJavaHome
+
+set CLIENT_TEST_CLASSES=%QPID_HOME%\lib\client-test-launch.jar
+
+echo on
+"%JAVA_HOME%\bin\java" -server -Xmx1024m -DQPID_HOME="%QPID_HOME%" -cp "%CLIENT_TEST_CLASSES%" %JAVACLASS%
+
+:end
+
+pause
\ No newline at end of file diff --git a/java/client/test/bin/IBM-Publisher.sh b/java/client/test/bin/IBM-Publisher.sh new file mode 100755 index 0000000000..320b2c2804 --- /dev/null +++ b/java/client/test/bin/IBM-Publisher.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +export MSGSIZE=100 +qpid-run JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Topic -db 1 -dx 4 -tc jms.r11.Publisher -nt 4 $*
\ No newline at end of file diff --git a/java/client/test/bin/IBM-PutGet.bat b/java/client/test/bin/IBM-PutGet.bat new file mode 100644 index 0000000000..f37a819147 --- /dev/null +++ b/java/client/test/bin/IBM-PutGet.bat @@ -0,0 +1,59 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+REM Script to run the Qpid Java Broker
+
+set CMD="IBM-PutGet.bat"
+set JAVACLASS=JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Queue -tc jms.r11.PutGet -nt 6 %*
+
+rem Guess QPID_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%QPID_HOME%" == "" goto gotHome
+set QPID_HOME=%CURRENT_DIR%
+echo %QPID_HOME%
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+cd ..
+set QPID_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+echo The QPID_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+if not "%JAVA_HOME%" == "" goto gotJavaHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotJavaHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+goto okJavaHome
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program.
+goto exit
+:okJavaHome
+
+set CLIENT_TEST_CLASSES=%QPID_HOME%\lib\client-test-launch.jar
+
+echo on
+"%JAVA_HOME%\bin\java" -server -Xmx1024m -DQPID_HOME="%QPID_HOME%" -cp "%CLIENT_TEST_CLASSES%" %JAVACLASS%
+
+:end
+
+pause
\ No newline at end of file diff --git a/java/client/test/bin/IBM-PutGet.sh b/java/client/test/bin/IBM-PutGet.sh new file mode 100755 index 0000000000..b44d7f3e6a --- /dev/null +++ b/java/client/test/bin/IBM-PutGet.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +qpid-run JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Queue -tc jms.r11.PutGet -nt 6 $*
\ No newline at end of file diff --git a/java/client/test/bin/IBM-README.txt b/java/client/test/bin/IBM-README.txt new file mode 100644 index 0000000000..1d5b2fe96e --- /dev/null +++ b/java/client/test/bin/IBM-README.txt @@ -0,0 +1,16 @@ +The IBM JMS Performance Harness scripts have take the following additional parameters + +-tx : Enable transactions +-pp : Enable persistent messaging + +The IBM JMS Performance Harness will need to be downloaded and the library added to client/test/lib. + +The Library can be found here: + +http://www.alphaworks.ibm.com/tech/perfharness + +Before running the required test the IBM JNDI Setup script should be run. + +This will create a filesystem based JNDI Context located at: + +/temp/IBMPerfTestsJNDI/
\ No newline at end of file diff --git a/java/client/test/bin/IBM-Receiver.bat b/java/client/test/bin/IBM-Receiver.bat new file mode 100644 index 0000000000..769406b374 --- /dev/null +++ b/java/client/test/bin/IBM-Receiver.bat @@ -0,0 +1,59 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+REM Script to run the Qpid Java Broker
+
+set CMD="IBM-Receiver.bat"
+set JAVACLASS=JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Queue -tc jms.r11.Receiver %*
+
+rem Guess QPID_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%QPID_HOME%" == "" goto gotHome
+set QPID_HOME=%CURRENT_DIR%
+echo %QPID_HOME%
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+cd ..
+set QPID_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+echo The QPID_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+if not "%JAVA_HOME%" == "" goto gotJavaHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotJavaHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+goto okJavaHome
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program.
+goto exit
+:okJavaHome
+
+set CLIENT_TEST_CLASSES=%QPID_HOME%\lib\client-test-launch.jar
+
+echo on
+"%JAVA_HOME%\bin\java" -server -Xmx1024m -DQPID_HOME="%QPID_HOME%" -cp "%CLIENT_TEST_CLASSES%" %JAVACLASS%
+
+:end
+
+pause
\ No newline at end of file diff --git a/java/client/test/bin/IBM-Receiver.sh b/java/client/test/bin/IBM-Receiver.sh new file mode 100755 index 0000000000..60ee3a9d98 --- /dev/null +++ b/java/client/test/bin/IBM-Receiver.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +export MSGSIZE=100 +qpid-run JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Queue -tc jms.r11.Receiver $*
\ No newline at end of file diff --git a/java/client/test/bin/IBM-Sender.bat b/java/client/test/bin/IBM-Sender.bat new file mode 100644 index 0000000000..0fe295a93f --- /dev/null +++ b/java/client/test/bin/IBM-Sender.bat @@ -0,0 +1,59 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+REM Script to run the Qpid Java Broker
+
+set CMD="IBM-Sender.bat"
+set JAVACLASS=JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Queue -tc jms.r11.Sender -ms $MSGSIZE -mg 1000000 %*
+
+rem Guess QPID_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%QPID_HOME%" == "" goto gotHome
+set QPID_HOME=%CURRENT_DIR%
+echo %QPID_HOME%
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+cd ..
+set QPID_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+echo The QPID_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+if not "%JAVA_HOME%" == "" goto gotJavaHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotJavaHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+goto okJavaHome
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program.
+goto exit
+:okJavaHome
+
+set CLIENT_TEST_CLASSES=%QPID_HOME%\lib\client-test-launch.jar
+
+echo on
+"%JAVA_HOME%\bin\java" -server -Xmx1024m -DQPID_HOME="%QPID_HOME%" -cp "%CLIENT_TEST_CLASSES%" %JAVACLASS%
+
+:end
+
+pause
\ No newline at end of file diff --git a/java/client/test/bin/IBM-Sender.sh b/java/client/test/bin/IBM-Sender.sh new file mode 100755 index 0000000000..4e7d4880e3 --- /dev/null +++ b/java/client/test/bin/IBM-Sender.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +export MSGSIZE=100 +qpid-run JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Queue -tc jms.r11.Sender -ms $MSGSIZE -mg 1000000 $*
\ No newline at end of file diff --git a/java/client/test/bin/IBM-Subscriber.bat b/java/client/test/bin/IBM-Subscriber.bat new file mode 100644 index 0000000000..d231af943c --- /dev/null +++ b/java/client/test/bin/IBM-Subscriber.bat @@ -0,0 +1,59 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+REM Script to run the Qpid Java Broker
+
+set CMD="IBM-Subscriber.bat"
+set JAVACLASS=JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Topic -db 1 -dx 4 -tc jms.r11.Subscriber -nt 4 %*
+
+rem Guess QPID_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%QPID_HOME%" == "" goto gotHome
+set QPID_HOME=%CURRENT_DIR%
+echo %QPID_HOME%
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+cd ..
+set QPID_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%QPID_HOME%\bin\%CMD%" goto okHome
+echo The QPID_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+if not "%JAVA_HOME%" == "" goto gotJavaHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotJavaHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+goto okJavaHome
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program.
+goto exit
+:okJavaHome
+
+set CLIENT_TEST_CLASSES=%QPID_HOME%\lib\client-test-launch.jar
+
+echo on
+"%JAVA_HOME%\bin\java" -server -Xmx1024m -DQPID_HOME="%QPID_HOME%" -cp "%CLIENT_TEST_CLASSES%" %JAVACLASS%
+
+:end
+
+pause
\ No newline at end of file diff --git a/java/client/test/bin/IBM-Subscriber.sh b/java/client/test/bin/IBM-Subscriber.sh new file mode 100755 index 0000000000..d12955254b --- /dev/null +++ b/java/client/test/bin/IBM-Subscriber.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +export MSGSIZE=100 +qpid-run JMSPerfHarness -pc JNDI -ii com.sun.jndi.fscontext.RefFSContextFactory -iu file:/C:/temp/IBMPerfTestsJNDI/ -cf amq/ConnectionFactory -d amq/Topic -db 1 -dx 4 -tc jms.r11.Subscriber -nt 4 $*
\ No newline at end of file diff --git a/java/client/test/bin/headersListener.sh b/java/client/test/bin/headersListener.sh new file mode 100755 index 0000000000..7206012755 --- /dev/null +++ b/java/client/test/bin/headersListener.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +. qpid-run -Damqj.logging.level="INFO" org.apache.qpid.headers.Listener $* diff --git a/java/client/test/bin/headersListenerGroup.sh b/java/client/test/bin/headersListenerGroup.sh new file mode 100755 index 0000000000..0757551a1e --- /dev/null +++ b/java/client/test/bin/headersListenerGroup.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +for i; do + ./headersListener.sh -host 10.0.0.1 -port 5672 >$i.out 2>$i.err & + echo $! > $i.pid +done; diff --git a/java/client/test/bin/headersPublisher.sh b/java/client/test/bin/headersPublisher.sh new file mode 100755 index 0000000000..8ff03d9715 --- /dev/null +++ b/java/client/test/bin/headersPublisher.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +. qpid-run -Damqj.logging.level="INFO" org.apache.qpid.headers.Publisher $* diff --git a/java/client/test/bin/run_many.sh b/java/client/test/bin/run_many.sh new file mode 100755 index 0000000000..7ad5085020 --- /dev/null +++ b/java/client/test/bin/run_many.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +# args: +# <number of processes to start> +# <name of run> +# <command ro run> + +for i in `seq 1 $1`; do + $3 >$2.$i.out 2>>$2.err & + echo $! > $2.$i.pid +done; diff --git a/java/client/test/bin/serviceProvidingClient.sh b/java/client/test/bin/serviceProvidingClient.sh new file mode 100755 index 0000000000..911a4e9850 --- /dev/null +++ b/java/client/test/bin/serviceProvidingClient.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +PROFILE=$1 +shift +# XXX -Xms1024m -XX:NewSize=300m +. qpid-run org.apache.qpid.requestreply1.ServiceProvidingClient $1 guest guest /test serviceQ diff --git a/java/client/test/bin/serviceRequestingClient.sh b/java/client/test/bin/serviceRequestingClient.sh new file mode 100755 index 0000000000..7b42b46e6f --- /dev/null +++ b/java/client/test/bin/serviceRequestingClient.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +PROFILE=$1 +shift +thehosts=$1 +shift +echo $thehosts +# XXX -Xms1024m -XX:NewSize=300m +. qpid-run -Damqj.logging.level="INFO" org.apache.qpid.requestreply1.ServiceRequestingClient $thehosts guest guest /test serviceQ "$@" diff --git a/java/client/test/bin/testService.sh b/java/client/test/bin/testService.sh new file mode 100755 index 0000000000..c9a1427b63 --- /dev/null +++ b/java/client/test/bin/testService.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +. qpid-run org.apache.qpid.requestreply1.TestService 192.168.55.63 5672 foo x x diff --git a/java/client/test/bin/topicListener.sh b/java/client/test/bin/topicListener.sh new file mode 100755 index 0000000000..54b7a1e3f3 --- /dev/null +++ b/java/client/test/bin/topicListener.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +# XXX -Xmx512m -Xms512m -XX:NewSize=150m +. qpid-run -Damqj.logging.level="INFO" org.apache.qpid.topic.Listener $* diff --git a/java/client/test/bin/topicPublisher.sh b/java/client/test/bin/topicPublisher.sh new file mode 100755 index 0000000000..4a73d6d491 --- /dev/null +++ b/java/client/test/bin/topicPublisher.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# XXX -Xmx512m -Xms512m -XX:NewSize=150m +. qpid-run -Damqj.logging.level="INFO" org.apache.qpid.topic.Publisher $* diff --git a/java/client/test/build-module.xml b/java/client/test/build-module.xml new file mode 100644 index 0000000000..b177c8441a --- /dev/null +++ b/java/client/test/build-module.xml @@ -0,0 +1,32 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="Client Tests" default="build"> + <property name="module.depends" value="client broker broker/test common"/> + <property name="module.dist" value="true"/> + + <import file="../../module.xml"/> + + <target name="test" depends="build"> + <junit fork="yes" showoutput="true" haltonfailure="yes"> + <test name="org.apache.qpid.client.AllClientUnitTests"/> + <formatter type="plain"/> + <classpath refid="module.class.path"/> + </junit> + </target> + +</project> diff --git a/java/client/test/etc/ApacheDS.properties b/java/client/test/etc/ApacheDS.properties new file mode 100644 index 0000000000..46cb4a810b --- /dev/null +++ b/java/client/test/etc/ApacheDS.properties @@ -0,0 +1,6 @@ +# Standard JNDI properties +java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory +java.naming.provider.url=ldap://localhost:389/ou=system +java.naming.security.authentication=simple +java.naming.security.principal=uid=admin,ou=system +java.naming.security.credentials=secret diff --git a/java/client/test/example_ build.xml b/java/client/test/example_ build.xml new file mode 100644 index 0000000000..25ddfd71ec --- /dev/null +++ b/java/client/test/example_ build.xml @@ -0,0 +1,101 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<!-- example Blaze Component Java build file --> + +<project name="example-client" default="jar" basedir="."> + <property name="lib" value="${basedir}/lib"/> + <property name="common.lib" value="${basedir}/../common/lib"/> + <property name="example.dir" value="${basedir}"/> + <property name="example.src" value="${example.dir}/src"/> + <property name="example.lib" value="${example.dir}/lib"/> + <property name="example.tests" value="${example.dir}/test"/> + <property name="example.classes" value="${example.dir}/classes"/> + <property name="dist" value="${basedir}/dist"/> + <property name="dam.dist" value="${basedir}/damPackage"/> + + <!-- Setup details --> + <target name="init"> + <tstamp> + <format property="release" pattern="-dMMMyy" locale="en" timezone="GMT"/> + </tstamp> + <mkdir dir="${example.classes}"/> + </target> + + <path id="example.classpath"> + <fileset dir="${common}/lib"> + <include name="**/*.jar"/> + </fileset> + <pathelement path="${example.classes}"/> + </path> + + <!-- Remove all built files --> + <target name="clean" depends="init"> + <delete dir="${example.classes}"/> + </target> + + <path id="example_amq.classpath"> + <fileset dir="${basedir}/lib"> + <include name="**/*.jar"/> + </fileset> + <fileset dir="${example.lib}"> + <include name="**/*.jar"/> + </fileset> + <pathelement path="${example.classes}"/> + + </path> + + <!-- Compile Java --> + <target name="compile" depends="init"> + <javac destdir="${example.classes}" debug="on"> + <classpath refid="example_amq.classpath"/> + <src path="${example.src}"/> + <exclude name="**/Test*.java"/> + </javac> + + <copy todir="${example.classes}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${example.src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <!-- Compile and build jar archive --> + <target name="dist" depends="compile"> + <mkdir dir="${dist}"/> + <jar basedir="${example.classes}" jarfile="${dist}/example_amq.jar"/> + </target> + + <!-- Create release zip and tar --> + <target name="release" depends="dist" description="Create a release package"> + + <zip destfile="${dist}/example_client.zip"> + <zipfileset prefix="lib" file="${dist}/example_amq.jar" /> + </zip> + + <tar destfile="${dist}/example_client.tar.gz" compression="gzip"> + <tarfileset prefix="lib" file="${dist}/example_amq.jar" /> + </tar> + </target> + + + +</project> diff --git a/java/client/test/lib/activemq/geronimo-j2ee-management_1.0_spec-1.0.jar b/java/client/test/lib/activemq/geronimo-j2ee-management_1.0_spec-1.0.jar Binary files differnew file mode 100644 index 0000000000..155e8f6d5f --- /dev/null +++ b/java/client/test/lib/activemq/geronimo-j2ee-management_1.0_spec-1.0.jar diff --git a/java/client/test/lib/jakarta-commons/commons-codec-1.3.jar b/java/client/test/lib/jakarta-commons/commons-codec-1.3.jar Binary files differnew file mode 100644 index 0000000000..957b6752af --- /dev/null +++ b/java/client/test/lib/jakarta-commons/commons-codec-1.3.jar diff --git a/java/client/test/lib/jboss/jboss-messaging-client.jar b/java/client/test/lib/jboss/jboss-messaging-client.jar Binary files differnew file mode 100644 index 0000000000..e35843f683 --- /dev/null +++ b/java/client/test/lib/jboss/jboss-messaging-client.jar diff --git a/java/client/test/lib/jboss/jbossall-client.jar b/java/client/test/lib/jboss/jbossall-client.jar Binary files differnew file mode 100644 index 0000000000..35ebde1602 --- /dev/null +++ b/java/client/test/lib/jboss/jbossall-client.jar diff --git a/java/client/test/lib/jmscts/jmscts-0.5-b2.jar b/java/client/test/lib/jmscts/jmscts-0.5-b2.jar Binary files differnew file mode 100644 index 0000000000..de18dfb678 --- /dev/null +++ b/java/client/test/lib/jmscts/jmscts-0.5-b2.jar diff --git a/java/client/test/lib/spring-1.2.8/spring.jar b/java/client/test/lib/spring-1.2.8/spring.jar Binary files differnew file mode 100644 index 0000000000..e6b517dd02 --- /dev/null +++ b/java/client/test/lib/spring-1.2.8/spring.jar diff --git a/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindConnectionFactory.java b/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindConnectionFactory.java new file mode 100644 index 0000000000..739a436701 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindConnectionFactory.java @@ -0,0 +1,130 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.IBMPerfTest; + +import org.apache.qpid.client.AMQConnectionFactory; +import org.junit.Assert; + +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import javax.jms.ConnectionFactory; +import java.util.Hashtable; + +public class JNDIBindConnectionFactory +{ + + public static final String CONNECTION_FACTORY_BINDING = "amq/ConnectionFactory"; + public static final String PROVIDER_URL = "file:/temp/IBMPerfTestsJNDI"; + public static final String FSCONTEXT_FACTORY = "com.sun.jndi.fscontext.RefFSContextFactory"; + + public static void main(String[] args) + { + String connectionFactoryBinding = CONNECTION_FACTORY_BINDING; + String provider = PROVIDER_URL; + String contextFactory = FSCONTEXT_FACTORY; + + if (args.length > 0) + { + provider = args[0]; + + if (args.length > 1) + { + connectionFactoryBinding = args[1]; + + if (args.length > 2) + { + contextFactory = args[2]; + } + } + else + { + System.out.println("Using default File System Context Factory"); + System.out.println("Using default Connection Factory Binding:" + connectionFactoryBinding); + } + } + else + { + System.out.println("Using default values: Usage:java JNDIBindConnectionFactory [<Provider URL> [<Connection Factory Binding>] [<JNDI Context Factory>]]"); + } + System.out.println("File System Context Factory\n" + + "Connection Factory Binding:" + connectionFactoryBinding + "\n" + + "JNDI Provider URL:" + provider); + + new JNDIBindConnectionFactory(provider, connectionFactoryBinding, contextFactory); + + } + + public JNDIBindConnectionFactory(String provider, String binding, String contextFactory) + { + // Set up the environment for creating the initial context + Hashtable env = new Hashtable(11); + env.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory); + + env.put(Context.PROVIDER_URL, provider); + + try + { + // Create the initial context + Context ctx = new InitialContext(env); + + // Create the object to be bound + ConnectionFactory factory = null; + + try + { + factory = new AMQConnectionFactory("amqp://guest:guest@clientid/testpath?brokerlist='tcp://localhost:5672'"); + + + try + { + Object obj = ctx.lookup(binding); + + if (obj != null) + { + System.out.println("Un-binding previous Connection Factory"); + ctx.unbind(binding); + } + } + catch (NamingException e) + { + + } + + // Perform the bind + ctx.bind(binding, factory); + System.out.println("Bound Connection Factory:" + binding); + + // Check that it is bound + Object obj = ctx.lookup(binding); + System.out.println("Connection URL:" + ((AMQConnectionFactory) obj).getConnectionURL()); + + System.out.println("JNDI FS Context:" + provider); + } + catch (Exception amqe) + { + + } + + } + catch (NamingException e) + { + System.out.println("Operation failed: " + e); + } + } +} diff --git a/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindQueue.java b/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindQueue.java new file mode 100644 index 0000000000..b9ad86b936 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindQueue.java @@ -0,0 +1,180 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.IBMPerfTest; + +import org.apache.qpid.client.AMQConnectionFactory; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.AMQQueue; +import org.junit.Assert; + +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import javax.jms.*; +import java.util.Hashtable; + +public class JNDIBindQueue +{ + + public static final String CONNECTION_FACTORY_BINDING = "amq/ConnectionFactory"; + public static final String PROVIDER_URL = "file:/temp/IBMPerfTestsJNDI"; + public static final String FSCONTEXT_FACTORY = "com.sun.jndi.fscontext.RefFSContextFactory"; + + Connection _connection = null; + Context _ctx = null; + + + public JNDIBindQueue(String queueBinding, String queueName, String provider, String contextFactory) + { + // Set up the environment for creating the initial context + Hashtable env = new Hashtable(11); + env.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory); + + env.put(Context.PROVIDER_URL, provider); + + try + { + // Create the initial context + _ctx = new InitialContext(env); + + // Create the object to be bound + + try + { + _connection = new AMQConnection("amqp://guest:guest@clientid/testpath?brokerlist='tcp://localhost:5672'"); + System.out.println("Connected"); + } + catch (Exception amqe) + { + System.out.println("Unable to create AMQConnectionFactory:" + amqe); + } + + if (_connection != null) + { + bindQueue(queueName, queueBinding); + } + + // Check that it is bound + Object obj = _ctx.lookup(queueBinding); + + System.out.println("Bound Queue:" + ((AMQQueue) obj).toURL()); + + System.out.println("JNDI FS Context:" + provider); + + } + catch (NamingException e) + { + System.out.println("Operation failed: " + e); + } + finally + { + try + { + _connection.close(); + } + catch (JMSException closeE) + { + + } + } + + + } + + + private void bindQueue(String queueName, String queueBinding) throws NamingException + { + + try + { + Object obj = _ctx.lookup(queueBinding); + + if (obj != null) + { + System.out.println("Un-binding exisiting object"); + _ctx.unbind(queueBinding); + } + } + catch (NamingException e) + { + + } + + Queue queue = null; + try + { + + Session session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + if (session != null) + { + queue = ((AMQSession) session).createQueue(queueName); + } + } + catch (JMSException jmse) + { + System.out.println("Unable to create Queue:" + jmse); + } + + // Perform the bind + _ctx.bind(queueBinding, queue); + } + + + public static void main(String[] args) + { + + String provider = JNDIBindQueue.PROVIDER_URL; + String contextFactory = JNDIBindQueue.FSCONTEXT_FACTORY; + + if (args.length > 1) + { + String binding = args[0]; + String queueName = args[1]; + + if (args.length > 2) + { + provider = args[2]; + + if (args.length > 3) + { + contextFactory = args[3]; + } + } + else + { + System.out.println("Using default File System Context Factory"); + } + + System.out.println("File System Context Factory\n" + + "Binding Queue:'" + queueName + "' to '" + binding + "'\n" + + "JNDI Provider URL:" + provider); + + new JNDIBindQueue(binding, queueName, provider, contextFactory); + + } + else + { + System.out.println("Using Defaults: Usage:java JNDIBindQueue <Binding> <queue name> [<Provider URL> [<JNDI Context Factory>]]"); + } + + } + + +} diff --git a/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindTopic.java b/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindTopic.java new file mode 100644 index 0000000000..ee0be798ce --- /dev/null +++ b/java/client/test/src/org/apache/qpid/IBMPerfTest/JNDIBindTopic.java @@ -0,0 +1,179 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.IBMPerfTest; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.AMQTopic; + +import javax.jms.*; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import java.util.Hashtable; + +public class JNDIBindTopic +{ + + public static final String CONNECTION_FACTORY_BINDING = "amq/ConnectionFactory"; + public static final String PROVIDER_URL = "file:/temp/IBMPerfTestsJNDI"; + public static final String FSCONTEXT_FACTORY = "com.sun.jndi.fscontext.RefFSContextFactory"; + + Connection _connection = null; + Context _ctx = null; + + + public JNDIBindTopic(String topicBinding, String topicName, String provider, String contextFactory) + { + // Set up the environment for creating the initial context + Hashtable env = new Hashtable(11); + env.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory); + + env.put(Context.PROVIDER_URL, provider); + + try + { + // Create the initial context + _ctx = new InitialContext(env); + + // Create the object to be bound + + try + { + _connection = new AMQConnection("amqp://guest:guest@clientid/testpath?brokerlist='tcp://localhost:5672'"); + System.out.println("Connected"); + } + catch (Exception amqe) + { + System.out.println("Unable to create AMQConnectionFactory:" + amqe); + } + + if (_connection != null) + { + bindTopic(topicName, topicBinding); + } + + // Check that it is bound + Object obj = _ctx.lookup(topicBinding); + + System.out.println("Bound Queue:" + ((AMQTopic) obj).toURL()); + + System.out.println("JNDI FS Context:" + provider); + + } + catch (NamingException e) + { + System.out.println("Operation failed: " + e); + } + finally + { + try + { + _connection.close(); + } + catch (JMSException closeE) + { + + } + } + + + } + + + private void bindTopic(String topicName, String topicBinding) throws NamingException + { + + try + { + Object obj = _ctx.lookup(topicBinding); + + if (obj != null) + { + System.out.println("Un-binding exisiting object"); + _ctx.unbind(topicBinding); + } + } + catch (NamingException e) + { + + } + + Topic topic = null; + try + { + + Session session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + if (session != null) + { + topic = ((AMQSession) session).createTopic(topicName); + } + } + catch (JMSException jmse) + { + System.out.println("Unable to create Topic:" + jmse); + } + + // Perform the bind + _ctx.bind(topicBinding, topic); + } + + + public static void main(String[] args) + { + + String provider = JNDIBindTopic.PROVIDER_URL; + String contextFactory = JNDIBindTopic.FSCONTEXT_FACTORY; + + if (args.length > 1) + { + String binding = args[0]; + String queueName = args[1]; + + if (args.length > 2) + { + provider = args[2]; + + if (args.length > 3) + { + contextFactory = args[3]; + } + } + else + { + System.out.println("Using default File System Context Factory"); + } + + System.out.println("File System Context Factory\n" + + "Binding Topic:'" + queueName + "' to '" + binding + "'\n" + + "JNDI Provider URL:" + provider); + + new JNDIBindTopic(binding, queueName, provider, contextFactory); + + } + else + { + System.out.println("Usage:java JNDIBindTopic <Binding> <topic name> [<Provider URL> [<JNDI Context Factory>]]"); + } + + } + + +} diff --git a/java/client/test/src/org/apache/qpid/IBMPerfTest/README.txt b/java/client/test/src/org/apache/qpid/IBMPerfTest/README.txt new file mode 100644 index 0000000000..95ee9f9c77 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/IBMPerfTest/README.txt @@ -0,0 +1,11 @@ +These JNDI setup tools are mainly for use in conjunction with the IBM JMS Performance Harness available here: +The jar should be placed in the client/test/lib/ directory. + +http://www.alphaworks.ibm.com/tech/perfharness + + +These JNDI classes use the the SUN FileSystem context. +There are two jar files that should be placed in your client/test/lib directory. + +http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=7110-jndi-1.2.1-oth-JPR&SiteId=JSC&TransactionId=noreg + diff --git a/java/client/test/src/org/apache/qpid/ack/DisconnectAndRedeliverTest.java b/java/client/test/src/org/apache/qpid/ack/DisconnectAndRedeliverTest.java new file mode 100644 index 0000000000..254b3d43ae --- /dev/null +++ b/java/client/test/src/org/apache/qpid/ack/DisconnectAndRedeliverTest.java @@ -0,0 +1,164 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ack; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.store.TestableMemoryMessageStore; +import org.apache.log4j.Logger; +import org.apache.log4j.xml.DOMConfigurator; +import org.junit.Assert; +import org.junit.Test; + +import javax.jms.*; + +public class DisconnectAndRedeliverTest extends VmOrRemoteTestCase +{ + private static final Logger _logger = Logger.getLogger(DisconnectAndRedeliverTest.class); + + static + { + //DOMConfigurator.configure("../etc/log4j.xml"); + DOMConfigurator.configure("broker/etc/log4j.xml"); + } + + /** + * This tests that when there are unacknowledged messages on a channel they are requeued for delivery when + * the channel is closed. + * @throws Exception + */ + @Test + public void disconnectRedeliversMessages() throws Exception + { + Connection con = new AMQConnection("foo", 1, "guest", "guest", "consumer1", "/test"); + + Session consumerSession = con.createSession(false, Session.CLIENT_ACKNOWLEDGE); + AMQQueue queue = new AMQQueue("someQ", "someQ", false, false); + MessageConsumer consumer = consumerSession.createConsumer(queue); + + Connection con2 = new AMQConnection("bar", 2, "guest", "guest", "producer1", "/test"); + Session producerSession = con2.createSession(false, Session.CLIENT_ACKNOWLEDGE); + MessageProducer producer = producerSession.createProducer(queue); + + _logger.info("Sending four messages"); + producer.send(producerSession.createTextMessage("msg1")); + producer.send(producerSession.createTextMessage("msg2")); + producer.send(producerSession.createTextMessage("msg3")); + producer.send(producerSession.createTextMessage("msg4")); + + _logger.info("Starting connection"); + con.start(); + TextMessage tm = (TextMessage) consumer.receive(); + tm.acknowledge(); + _logger.info("Received and acknowledged first message"); + consumer.receive(); + consumer.receive(); + consumer.receive(); + _logger.info("Received all four messages. About to disconnect and reconnect"); + + con.close(); + con = new AMQConnection("foo", 1, "guest", "guest", "consumer1", "/test"); + consumerSession = con.createSession(false, Session.CLIENT_ACKNOWLEDGE); + consumer = consumerSession.createConsumer(queue); + + _logger.info("Starting second consumer connection"); + con.start(); + + tm = (TextMessage) consumer.receive(3000); + Assert.assertEquals(tm.getText(), "msg2"); + + tm = (TextMessage) consumer.receive(3000); + Assert.assertEquals(tm.getText(), "msg3"); + + tm = (TextMessage) consumer.receive(3000); + Assert.assertEquals(tm.getText(), "msg4"); + + _logger.info("Received redelivery of three messages. Acknowledging last message"); + tm.acknowledge(); + + con.close(); + + con = new AMQConnection("foo", 1, "guest", "guest", "consumer1", "/test"); + consumerSession = con.createSession(false, Session.CLIENT_ACKNOWLEDGE); + consumer = consumerSession.createConsumer(queue); + _logger.info("Starting third consumer connection"); + con.start(); + tm = (TextMessage) consumer.receiveNoWait(); + Assert.assertNull(tm); + _logger.info("No messages redelivered as is expected"); + con.close(); + } + + /** + * Tests that unacknowledged messages are thrown away when the channel is closed and they cannot be + * requeued (due perhaps to the queue being deleted). + * @throws Exception + */ + @Test + public void disconnectWithTransientQueueThrowsAwayMessages() throws Exception + { + Connection con = new AMQConnection("foo", 1, "guest", "guest", "consumer1", "/test"); + + Session consumerSession = con.createSession(false, Session.CLIENT_ACKNOWLEDGE); + Queue queue = new AMQQueue("someQ", "someQ", false, true); + MessageConsumer consumer = consumerSession.createConsumer(queue); + + Connection con2 = new AMQConnection("bar", 2, "guest", "guest", "producer1", "/test"); + Session producerSession = con2.createSession(false, Session.CLIENT_ACKNOWLEDGE); + MessageProducer producer = producerSession.createProducer(queue); + + _logger.info("Sending four messages"); + producer.send(producerSession.createTextMessage("msg1")); + producer.send(producerSession.createTextMessage("msg2")); + producer.send(producerSession.createTextMessage("msg3")); + producer.send(producerSession.createTextMessage("msg4")); + + _logger.info("Starting connection"); + con.start(); + TextMessage tm = (TextMessage) consumer.receive(); + tm.acknowledge(); + _logger.info("Received and acknowledged first message"); + consumer.receive(); + consumer.receive(); + consumer.receive(); + _logger.info("Received all four messages. About to disconnect and reconnect"); + + con.close(); + con = new AMQConnection("foo", 1, "guest", "guest", "consumer1", "/test"); + consumerSession = con.createSession(false, Session.CLIENT_ACKNOWLEDGE); + consumer = consumerSession.createConsumer(queue); + + _logger.info("Starting second consumer connection"); + con.start(); + + tm = (TextMessage) consumer.receiveNoWait(); + Assert.assertNull(tm); + _logger.info("No messages redelivered as is expected"); + TestableMemoryMessageStore store = (TestableMemoryMessageStore) ApplicationRegistry.getInstance().getMessageStore(); + Assert.assertTrue(store.getMessageMap().size() == 0); + con.close(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(DisconnectAndRedeliverTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/ack/RecoverTest.java b/java/client/test/src/org/apache/qpid/ack/RecoverTest.java new file mode 100644 index 0000000000..0ab40aa67c --- /dev/null +++ b/java/client/test/src/org/apache/qpid/ack/RecoverTest.java @@ -0,0 +1,97 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ack; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.apache.log4j.Logger; +import org.apache.log4j.xml.DOMConfigurator; +import org.junit.Assert; +import org.junit.Test; + +import javax.jms.*; + +public class RecoverTest extends VmOrRemoteTestCase +{ + private static final Logger _logger = Logger.getLogger(RecoverTest.class); + + static + { + //DOMConfigurator.configure("../etc/log4j.xml"); + DOMConfigurator.configure("broker/etc/log4j.xml"); + } + + @Test + public void recoverResendsMsgs() throws Exception + { + Connection con = new AMQConnection("foo", 1, "guest", "guest", "consumer1", "/test"); + + Session consumerSession = con.createSession(false, Session.CLIENT_ACKNOWLEDGE); + Queue queue = new AMQQueue("someQ", "someQ", false, true); + MessageConsumer consumer = consumerSession.createConsumer(queue); + + Connection con2 = new AMQConnection("bar", 2, "guest", "guest", "producer1", "/test"); + Session producerSession = con2.createSession(false, Session.CLIENT_ACKNOWLEDGE); + MessageProducer producer = producerSession.createProducer(queue); + + _logger.info("Sending four messages"); + producer.send(producerSession.createTextMessage("msg1")); + producer.send(producerSession.createTextMessage("msg2")); + producer.send(producerSession.createTextMessage("msg3")); + producer.send(producerSession.createTextMessage("msg4")); + + _logger.info("Starting connection"); + con.start(); + TextMessage tm = (TextMessage) consumer.receive(); + tm.acknowledge(); + _logger.info("Received and acknowledged first message"); + consumer.receive(); + consumer.receive(); + consumer.receive(); + _logger.info("Received all four messages. Calling recover with three outstanding messages"); + // no ack for last three messages so when I call recover I expect to get three messages back + consumerSession.recover(); + tm = (TextMessage) consumer.receive(3000); + Assert.assertEquals(tm.getText(), "msg2"); + + tm = (TextMessage) consumer.receive(3000); + Assert.assertEquals(tm.getText(), "msg3"); + + tm = (TextMessage) consumer.receive(3000); + Assert.assertEquals(tm.getText(), "msg4"); + + _logger.info("Received redelivery of three messages. Acknowledging last message"); + tm.acknowledge(); + + _logger.info("Calling acknowledge with no outstanding messages"); + // all acked so no messages to be delivered + consumerSession.recover(); + + tm = (TextMessage) consumer.receiveNoWait(); + Assert.assertNull(tm); + _logger.info("No messages redelivered as is expected"); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(RecoverTest.class); + } +} + diff --git a/java/client/test/src/org/apache/qpid/ack/UnitTests.java b/java/client/test/src/org/apache/qpid/ack/UnitTests.java new file mode 100644 index 0000000000..5caaff69cf --- /dev/null +++ b/java/client/test/src/org/apache/qpid/ack/UnitTests.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ack; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({DisconnectAndRedeliverTest.class, RecoverTest.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/basic/BytesMessageTest.java b/java/client/test/src/org/apache/qpid/basic/BytesMessageTest.java new file mode 100644 index 0000000000..a5cda66982 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/BytesMessageTest.java @@ -0,0 +1,207 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.basic; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.message.JMSBytesMessage; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.apache.mina.common.ByteBuffer; +import org.junit.Test; + +import javax.jms.*; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class BytesMessageTest extends VmOrRemoteTestCase implements MessageListener +{ + private Connection _connection; + private Destination _destination; + private Session _session; + private final List<JMSBytesMessage> received = new ArrayList<JMSBytesMessage>(); + private final List<byte[]> messages = new ArrayList<byte[]>(); + private int _count = 100; + + void init() throws Exception + { + init(new AMQConnection(getConnectionString(), "guest", "guest", randomize("Client"), "/test_path")); + } + + void init(AMQConnection connection) throws Exception + { + init(connection, new AMQQueue(randomize("BytesMessageTest"), true)); + } + + void init(AMQConnection connection, AMQDestination destination) throws Exception + { + _connection = connection; + _destination = destination; + _session = connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + + // Set up a slow consumer. + _session.createConsumer(destination).setMessageListener(this); + connection.start(); + } + + @Test + public void test() throws Exception + { + init(); + + try + { + send(_count); + waitFor(_count); + check(); + System.out.println("Completed without failure"); + } + finally + { + _connection.close(); + } + } + + void send(int count) throws JMSException + { + //create a publisher + MessageProducer producer = _session.createProducer(_destination); + for (int i = 0; i < count; i++) + { + BytesMessage msg = _session.createBytesMessage(); + byte[] data = ("Message " + i).getBytes(); + msg.writeBytes(data); + messages.add(data); + producer.send(msg); + } + } + + void waitFor(int count) throws InterruptedException + { + synchronized (received) + { + while (received.size() < count) + { + received.wait(); + } + } + } + + void check() throws JMSException + { + List<byte[]> actual = new ArrayList<byte[]>(); + for (JMSBytesMessage m : received) + { + ByteBuffer buffer = m.getData(); + byte[] data = new byte[buffer.remaining()]; + buffer.get(data); + actual.add(data); + } + + assertEqual(messages.iterator(), actual.iterator()); + } + + private static void assertEqual(Iterator expected, Iterator actual) + { + List<String> errors = new ArrayList<String>(); + while (expected.hasNext() && actual.hasNext()) + { + try + { + assertEquivalent((byte[]) expected.next(), (byte[]) actual.next()); + } + catch (Exception e) + { + errors.add(e.getMessage()); + } + } + while (expected.hasNext()) + { + errors.add("Expected " + expected.next() + " but no more actual values."); + } + while (actual.hasNext()) + { + errors.add("Found " + actual.next() + " but no more expected values."); + } + if (!errors.isEmpty()) + { + throw new RuntimeException(errors.toString()); + } + } + + private static void assertEquivalent(byte[] expected, byte[] actual) + { + if (expected.length != actual.length) + { + throw new RuntimeException("Expected length " + expected.length + " got " + actual.length); + } + for (int i = 0; i < expected.length; i++) + { + if (expected[i] != actual[i]) + { + throw new RuntimeException("Failed on byte " + i + " of " + expected.length); + } + } + } + + public void onMessage(Message message) + { + synchronized (received) + { + received.add((JMSBytesMessage) message); + received.notify(); + } + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + public static void main(String[] argv) throws Exception + { + final String connectionString; + final int count; + if (argv.length == 0) + { + connectionString = "localhost:5672"; + count = 100; + } + else + { + connectionString = argv[0]; + count = Integer.parseInt(argv[1]); + } + + System.out.println("connectionString = " + connectionString); + System.out.println("count = " + count); + + BytesMessageTest test = new BytesMessageTest(); + test.setConnectionString(connectionString); + test._count = count; + test.test(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(BytesMessageTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/basic/FieldTableKeyEnumeratorTest.java b/java/client/test/src/org/apache/qpid/basic/FieldTableKeyEnumeratorTest.java new file mode 100644 index 0000000000..08ff65ea29 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/FieldTableKeyEnumeratorTest.java @@ -0,0 +1,83 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.junit.Test; +import org.junit.Assert; +import org.apache.qpid.framing.FieldTable; + + +import java.util.Enumeration; + +import junit.framework.JUnit4TestAdapter; + +import javax.jms.JMSException; + +public class FieldTableKeyEnumeratorTest +{ + @Test + public void testKeyEnumeration() + { + FieldTable result = new FieldTable(); + result.put("one", 1L); + result.put("two", 2L); + result.put("three", 3L); + result.put("four", 4L); + result.put("five", 5L); + + Enumeration e = result.keys(); + + Assert.assertTrue("one".equals(e.nextElement())); + Assert.assertTrue("two".equals(e.nextElement())); + Assert.assertTrue("three".equals(e.nextElement())); + Assert.assertTrue("four".equals(e.nextElement())); + Assert.assertTrue("five".equals(e.nextElement())); + } + + @Test + public void testPropertEnu() + { + try + { + JMSTextMessage text = new JMSTextMessage(); + + text.setBooleanProperty("Boolean1", true); + text.setBooleanProperty("Boolean2", true); + text.setIntProperty("Int", 2); + text.setLongProperty("Long", 2); + + Enumeration e = text.getPropertyNames(); + + Assert.assertTrue("Boolean1".equals(e.nextElement())); + Assert.assertTrue("Boolean2".equals(e.nextElement())); + Assert.assertTrue("Int".equals(e.nextElement())); + Assert.assertTrue("Long".equals(e.nextElement())); + } + catch (JMSException e) + { + + } + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(FieldTableKeyEnumeratorTest.class); + } + + +} diff --git a/java/client/test/src/org/apache/qpid/basic/FieldTableMessageTest.java b/java/client/test/src/org/apache/qpid/basic/FieldTableMessageTest.java new file mode 100644 index 0000000000..6417544d01 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/FieldTableMessageTest.java @@ -0,0 +1,156 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.basic; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.message.JMSBytesMessage; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.apache.qpid.framing.AMQFrameDecodingException; +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.framing.FieldTableTest; +import org.apache.mina.common.ByteBuffer; +import org.junit.Before; +import org.junit.Test; + +import javax.jms.*; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Enumeration; + +public class FieldTableMessageTest extends VmOrRemoteTestCase implements MessageListener +{ + private AMQConnection _connection; + private AMQDestination _destination; + private AMQSession _session; + private final ArrayList<JMSBytesMessage> received = new ArrayList<JMSBytesMessage>(); + private FieldTable _expected; + private int _count = 10; + + @Before + public void init() throws Exception + { + init(new AMQConnection(getConnectionString(), "guest", "guest", randomize("Client"), "/test_path")); + } + + private void init(AMQConnection connection) throws Exception + { + init(connection, new AMQQueue(randomize("FieldTableMessageTest"), true)); + } + + private void init(AMQConnection connection, AMQDestination destination) throws Exception + { + _connection = connection; + _destination = destination; + _session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + + //set up a slow consumer + _session.createConsumer(destination).setMessageListener(this); + connection.start(); + + //_expected = new FieldTableTest().load("FieldTableTest2.properties"); + _expected = load(); + } + + private FieldTable load() throws IOException + { + FieldTable result = new FieldTable(); + result.put("one", 1L); + result.put("two", 2L); + result.put("three", 3L); + result.put("four", 4L); + result.put("five", 5L); + + return result; + } + + @Test + public void test() throws Exception + { + int count = _count; + send(count); + waitFor(count); + check(); + System.out.println("Completed without failure"); + _connection.close(); + } + + void send(int count) throws JMSException, IOException + { + //create a publisher + MessageProducer producer = _session.createProducer(_destination); + for (int i = 0; i < count; i++) + { + BytesMessage msg = _session.createBytesMessage(); + msg.writeBytes(_expected.getDataAsBytes()); + producer.send(msg); + } + } + + void waitFor(int count) throws InterruptedException + { + synchronized(received) + { + while(received.size() < count) + { + received.wait(); + } + } + } + + void check() throws JMSException, AMQFrameDecodingException + { + for (Object m : received) + { + ByteBuffer buffer = ((JMSBytesMessage) m).getData(); + FieldTable actual = new FieldTable(buffer, buffer.remaining()); + new FieldTableTest().assertEquivalent(_expected, actual); + } + } + + public void onMessage(Message message) + { + synchronized(received) + { + received.add((JMSBytesMessage) message); + received.notify(); + } + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + public static void main(String[] argv) throws Exception + { + FieldTableMessageTest test = new FieldTableMessageTest(); + test.setConnectionString((argv.length == 0 ? "localhost:5672" : argv[0])); + test.init(); + test._count = argv.length > 1 ? Integer.parseInt(argv[1]) : 5; + test.test(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(FieldTableMessageTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/basic/MultipleConnectionTest.java b/java/client/test/src/org/apache/qpid/basic/MultipleConnectionTest.java new file mode 100644 index 0000000000..28ec516243 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/MultipleConnectionTest.java @@ -0,0 +1,217 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.basic; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.junit.Test; + +import javax.jms.*; + +/** + * This is a slow test. + */ +public class MultipleConnectionTest extends VmOrRemoteTestCase +{ + private static class Receiver + { + private AMQConnection _connection; + private Session[] _sessions; + private MessageCounter[] _counters; + + Receiver(String broker, AMQDestination dest, int sessions) throws Exception + { + this(new AMQConnection(broker, "guest", "guest", randomize("Client"), "/test_path"), dest, sessions); + } + + Receiver(AMQConnection connection, AMQDestination dest, int sessions) throws Exception + { + _connection = connection; + _sessions = new AMQSession[sessions]; + _counters = new MessageCounter[sessions]; + for (int i = 0; i < sessions; i++) + { + _sessions[i] = _connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + _counters[i] = new MessageCounter(_sessions[i].toString()); + _sessions[i].createConsumer(dest).setMessageListener(_counters[i]); + } + _connection.start(); + } + + void close() throws JMSException + { + _connection.close(); + } + } + + private static class Publisher + { + private AMQConnection _connection; + private Session _session; + private MessageProducer _producer; + + Publisher(String broker, AMQDestination dest) throws Exception + { + this(new AMQConnection(broker, "guest", "guest", randomize("Client"), "/test_path"), dest); + } + + Publisher(AMQConnection connection, AMQDestination dest) throws Exception + { + _connection = connection; + _session = _connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + _producer = _session.createProducer(dest); + } + + void send(String msg) throws JMSException + { + _producer.send(_session.createTextMessage(msg)); + } + + void close() throws JMSException + { + _connection.close(); + } + } + + private static class MessageCounter implements MessageListener + { + private final String _name; + private int _count; + + MessageCounter(String name) + { + _name = name; + } + + public synchronized void onMessage(Message message) + { + _count++; + notifyAll(); + } + + synchronized boolean waitUntil(int expected, long maxWait) throws InterruptedException + { + long start = System.currentTimeMillis(); + long timeLeft = maxWait; + do + { + wait(timeLeft); + timeLeft = maxWait - timeSince(start); + } + while (expected > _count && timeLeft > 0); + return expected <= _count; + } + + private long timeSince(long start) + { + return System.currentTimeMillis() - start; + } + + public synchronized String toString() + { + return _name + ": " + _count; + } + } + + private static void waitForCompletion(int expected, long wait, Receiver[] receivers) throws InterruptedException + { + for(int i = 0; i < receivers.length; i++) + { + waitForCompletion(expected, wait, receivers[i]._counters); + } + } + + private static void waitForCompletion(int expected, long wait, MessageCounter[] counters) throws InterruptedException + { + for(int i = 0; i < counters.length; i++) + { + if(!counters[i].waitUntil(expected, wait)) + { + throw new RuntimeException("Expected: " + expected + " got " + counters[i]); + }; + } + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + public static void main(String[] argv) throws Exception + { + String broker = argv.length > 0 ? argv[0] : "localhost:5672"; + + int connections = 7; + int sessions = 2; + + MultipleConnectionTest test = new MultipleConnectionTest(); + test.setConnectionString(broker); + test.test(); + } + + @Test + public void test() throws Exception + { + String broker = getConnectionString(); + int messages = 10; + + AMQTopic topic = new AMQTopic("amq.topic"); + + /* + Receiver[] receivers = new Receiver[connections]; + for(int i = 0; i < receivers.length; i++) + { + receivers[i] = new Receiver(broker, topic, sessions); + } + */ + + Receiver[] receivers = new Receiver[]{ + new Receiver(broker, topic, 2), + new Receiver(broker, topic, 14) + }; + + Publisher publisher = new Publisher(broker, topic); + for(int i = 0; i < messages; i++) + { + publisher.send("Message " + (i + 1)); + } + + try + { + waitForCompletion(messages, 5000, receivers); + System.out.println("All receivers received all expected messages"); + } + finally + { + publisher.close(); + for(int i = 0; i < receivers.length; i++) + { + receivers[i].close(); + } + } + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(MultipleConnectionTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/basic/ObjectMessageTest.java b/java/client/test/src/org/apache/qpid/basic/ObjectMessageTest.java new file mode 100644 index 0000000000..d4e1315ccb --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/ObjectMessageTest.java @@ -0,0 +1,206 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.basic; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.message.JMSObjectMessage; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.junit.Before; +import org.junit.Test; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class ObjectMessageTest extends VmOrRemoteTestCase implements MessageListener +{ + private AMQConnection _connection; + private AMQDestination _destination; + private AMQSession _session; + private final List<JMSObjectMessage> received = new ArrayList<JMSObjectMessage>(); + private final List<Payload> messages = new ArrayList<Payload>(); + private int _count = 100; + + @Before + public void init() throws Exception + { + String broker = getConnectionString(); + init(new AMQConnection(broker, "guest", "guest", randomize("Client"), "/test_path")); + } + + private void init(AMQConnection connection) throws Exception + { + init(connection, new AMQQueue(randomize("ObjectMessageTest"), true)); + } + + private void init(AMQConnection connection, AMQDestination destination) throws Exception + { + _connection = connection; + _destination = destination; + _session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + + //set up a slow consumer + _session.createConsumer(destination).setMessageListener(this); + connection.start(); + } + + @Test + public void test() throws Exception + { + int count = _count; + send(count); + waitFor(count); + check(); + System.out.println("Completed without failure"); + _connection.close(); + } + + void send(int count) throws JMSException + { + //create a publisher + MessageProducer producer = _session.createProducer(_destination); + for (int i = 0; i < count; i++) + { + Payload payload = new Payload("Message " + i); + messages.add(payload); + producer.send(_session.createObjectMessage(payload)); + } + } + + void waitFor(int count) throws InterruptedException + { + synchronized(received) + { + while(received.size() < count) + { + received.wait(); + } + } + } + + void check() throws JMSException + { + List<Object> actual = new ArrayList<Object>(); + for (JMSObjectMessage m : received) + { + actual.add(m.getObject()); + } + + assertEqual(messages.iterator(), actual.iterator()); + } + + private static void assertEqual(Iterator expected, Iterator actual) + { + List<String> errors = new ArrayList<String>(); + while(expected.hasNext() && actual.hasNext()) + { + try{ + assertEqual(expected.next(), actual.next()); + } + catch(Exception e) + { + errors.add(e.getMessage()); + } + } + while(expected.hasNext()) + { + errors.add("Expected " + expected.next() + " but no more actual values."); + } + while(actual.hasNext()) + { + errors.add("Found " + actual.next() + " but no more expected values."); + } + if(!errors.isEmpty()) + { + throw new RuntimeException(errors.toString()); + } + } + + private static void assertEqual(Object expected, Object actual) + { + if(!expected.equals(actual)) + { + throw new RuntimeException("Expected '" + expected + "' found '" + actual + "'"); + } + } + + public void onMessage(Message message) + { + synchronized(received) + { + received.add((JMSObjectMessage) message); + received.notify(); + } + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + private static class Payload implements Serializable + { + private final String data; + + Payload(String data) + { + this.data = data; + } + + public int hashCode() + { + return data.hashCode(); + } + + public boolean equals(Object o) + { + return o instanceof Payload && ((Payload) o).data.equals(data); + } + + public String toString() + { + return "Payload[" + data +"]"; + } + } + + public static void main(String[] argv) throws Exception + { + ObjectMessageTest test = new ObjectMessageTest(); + test.setConnectionString(argv.length == 0 ? "localhost:5672" : argv[0]); + test.init(); + if (argv.length > 1) + { + test._count = Integer.parseInt(argv[1]); + } + test.test(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(ObjectMessageTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/basic/ReceiveTest.java b/java/client/test/src/org/apache/qpid/basic/ReceiveTest.java new file mode 100644 index 0000000000..e1ef686d32 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/ReceiveTest.java @@ -0,0 +1,85 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.basic; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.message.JMSTextMessage; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.junit.Before; +import org.junit.Test; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.MessageConsumer; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class ReceiveTest extends VmOrRemoteTestCase +{ + private AMQConnection _connection; + private AMQDestination _destination; + private AMQSession _session; + private MessageConsumer _consumer; + + @Before + public void init() throws Exception + { + String broker = getConnectionString(); + init(new AMQConnection(broker, "guest", "guest", "ReceiveTestClient", "/test_path")); + } + + private void init(AMQConnection connection) throws Exception + { + init(connection, new AMQQueue("ReceiveTest", true)); + } + + private void init(AMQConnection connection, AMQDestination destination) throws Exception + { + _connection = connection; + _destination = destination; + _session = (AMQSession) connection.createSession(true, AMQSession.NO_ACKNOWLEDGE); + _consumer = _session.createConsumer(_destination); + _connection.start(); + } + + @Test + public void test() throws Exception + { + _consumer.receive(5000); + _connection.close(); + } + + public static void main(String[] argv) throws Exception + { + ReceiveTest test = new ReceiveTest(); + test.setConnectionString(argv.length == 0 ? "localhost:5672" : argv[0]); + test.init(); + test.test(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(SessionStartTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/basic/SessionStartTest.java b/java/client/test/src/org/apache/qpid/basic/SessionStartTest.java new file mode 100644 index 0000000000..e9ce8ab7c3 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/SessionStartTest.java @@ -0,0 +1,109 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.basic; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.junit.Before; +import org.junit.Test; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; + +public class SessionStartTest extends VmOrRemoteTestCase implements MessageListener +{ + private AMQConnection _connection; + private AMQDestination _destination; + private AMQSession _session; + private int count; + + @Before + public void init() throws Exception + { + String broker = getConnectionString(); + init(new AMQConnection(broker, "guest", "guest", randomize("Client"), "/test_path")); + } + + private void init(AMQConnection connection) throws Exception + { + init(connection, new AMQQueue(randomize("SessionStartTest"), true)); + } + + private void init(AMQConnection connection, AMQDestination destination) throws Exception + { + _connection = connection; + _destination = destination; + connection.start(); + + _session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + _session.createConsumer(destination).setMessageListener(this); + } + + @Test + public synchronized void test() throws JMSException, InterruptedException + { + try + { + _session.createProducer(_destination).send(_session.createTextMessage("Message")); + System.out.println("Message sent, waiting for response..."); + wait(1000); + if (count > 0) + { + System.out.println("Got message"); + } + else + { + throw new RuntimeException("Did not get message!"); + } + } + finally + { + _session.close(); + _connection.close(); + } + } + + public synchronized void onMessage(Message message) + { + count++; + notify(); + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + public static void main(String[] argv) throws Exception + { + SessionStartTest test = new SessionStartTest(); + test.setConnectionString(argv.length == 0 ? "localhost:5672" : argv[0]); + test.init(); + test.test(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(SessionStartTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/basic/TextMessageTest.java b/java/client/test/src/org/apache/qpid/basic/TextMessageTest.java new file mode 100644 index 0000000000..a4e2cfd2a1 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/TextMessageTest.java @@ -0,0 +1,177 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.basic; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.message.JMSTextMessage; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.junit.Before; +import org.junit.Test; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class TextMessageTest extends VmOrRemoteTestCase implements MessageListener +{ + private AMQConnection _connection; + private AMQDestination _destination; + private AMQSession _session; + private final List<JMSTextMessage> received = new ArrayList<JMSTextMessage>(); + private final List<String> messages = new ArrayList<String>(); + private int _count = 100; + + @Before + public void init() throws Exception + { + String broker = getConnectionString(); + init(new AMQConnection(broker, "guest", "guest", randomize("Client"), "/test_path")); + } + + private void init(AMQConnection connection) throws Exception + { + init(connection, new AMQQueue(randomize("TextMessageTest"), true)); + } + + private void init(AMQConnection connection, AMQDestination destination) throws Exception + { + _connection = connection; + _destination = destination; + _session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + + //set up a slow consumer + _session.createConsumer(destination).setMessageListener(this); + connection.start(); + } + + @Test + public void test() throws Exception + { + int count = _count; + send(count); + waitFor(count); + check(); + System.out.println("Completed without failure"); + _connection.close(); + } + + void send(int count) throws JMSException + { + //create a publisher + MessageProducer producer = _session.createProducer(_destination); + for (int i = 0; i < count; i++) + { + String text = "Message " + i; + messages.add(text); + producer.send(_session.createTextMessage(text)); + } + } + + void waitFor(int count) throws InterruptedException + { + synchronized(received) + { + while(received.size() < count) + { + received.wait(); + } + } + } + + void check() throws JMSException + { + List<String> actual = new ArrayList<String>(); + for (JMSTextMessage m : received) + { + actual.add(m.getText()); + } + + assertEqual(messages.iterator(), actual.iterator()); + } + + private static void assertEqual(Iterator expected, Iterator actual) + { + List<String> errors = new ArrayList<String>(); + while(expected.hasNext() && actual.hasNext()) + { + try{ + assertEqual(expected.next(), actual.next()); + } + catch(Exception e) + { + errors.add(e.getMessage()); + } + } + while(expected.hasNext()) + { + errors.add("Expected " + expected.next() + " but no more actual values."); + } + while(actual.hasNext()) + { + errors.add("Found " + actual.next() + " but no more expected values."); + } + if(!errors.isEmpty()) + { + throw new RuntimeException(errors.toString()); + } + } + + private static void assertEqual(Object expected, Object actual) + { + if(!expected.equals(actual)) + { + throw new RuntimeException("Expected '" + expected + "' found '" + actual + "'"); + } + } + + public void onMessage(Message message) + { + synchronized(received) + { + received.add((JMSTextMessage) message); + received.notify(); + } + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + public static void main(String[] argv) throws Exception + { + TextMessageTest test = new TextMessageTest(); + test.setConnectionString(argv.length == 0 ? "localhost:5672" : argv[0]); + test.init(); + if (argv.length > 1) test._count = Integer.parseInt(argv[1]); + test.test(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(SessionStartTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/basic/UnitTests.java b/java/client/test/src/org/apache/qpid/basic/UnitTests.java new file mode 100644 index 0000000000..b87254f73a --- /dev/null +++ b/java/client/test/src/org/apache/qpid/basic/UnitTests.java @@ -0,0 +1,41 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.basic; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.apache.qpid.client.message.FieldTableKeyEnumeratorTest; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + BytesMessageTest.class, + FieldTableMessageTest.class, + FieldTableKeyEnumeratorTest.class, + MultipleConnectionTest.class, + ObjectMessageTest.class, + SessionStartTest.class, + TextMessageTest.class + }) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/client/AllClientUnitTests.java b/java/client/test/src/org/apache/qpid/client/AllClientUnitTests.java new file mode 100644 index 0000000000..c7c835c3fd --- /dev/null +++ b/java/client/test/src/org/apache/qpid/client/AllClientUnitTests.java @@ -0,0 +1,41 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * All client unit tests - even one in packages like org.apache.qpid.ack. + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + org.apache.qpid.ack.UnitTests.class, + org.apache.qpid.basic.UnitTests.class, + org.apache.qpid.client.channelclose.UnitTests.class, + org.apache.qpid.client.message.UnitTests.class, + org.apache.qpid.forwardall.UnitTests.class + }) +public class AllClientUnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(AllClientUnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/client/channelclose/ChannelCloseOkTest.java b/java/client/test/src/org/apache/qpid/client/channelclose/ChannelCloseOkTest.java new file mode 100644 index 0000000000..678261097f --- /dev/null +++ b/java/client/test/src/org/apache/qpid/client/channelclose/ChannelCloseOkTest.java @@ -0,0 +1,206 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.channelclose; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.apache.log4j.Logger; +import org.junit.After; +import static org.junit.Assert.assertEquals; +import org.junit.Before; +import org.junit.Test; + +import javax.jms.*; +import java.util.ArrayList; +import java.util.List; + +/** + * Due to bizarre exception handling all sessions are closed if you get + * a channel close request and no exception listener is registered. + * + * JIRA issue IBTBLZ-10. + * + * Simulate by: + * + * 0. Create two sessions with no exception listener. + * 1. Publish message to queue/topic that does not exist (wrong routing key). + * 2. This will cause a channel close. + * 3. Since client does not have an exception listener, currently all sessions are + * closed. + */ +public class ChannelCloseOkTest extends VmOrRemoteTestCase +{ + private Connection _connection; + private Destination _destination1; + private Destination _destination2; + private Session _session1; + private Session _session2; + private final List<Message> _received1 = new ArrayList<Message>(); + private final List<Message> _received2 = new ArrayList<Message>(); + + private final static Logger _log = Logger.getLogger(ChannelCloseOkTest.class); + + @Before + public void init() throws Exception + { + _connection = new AMQConnection(getConnectionString(), "guest", "guest", randomize("Client"), "/test_path"); + _destination1 = new AMQQueue("q1", true); + _destination2 = new AMQQueue("q2", true); + _session1 = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + _session1.createConsumer(_destination1).setMessageListener(new MessageListener() { + public void onMessage(Message message) + { + _log.info("consumer 1 got message [" + getTextMessage(message) + "]"); + synchronized (_received1) + { + _received1.add(message); + _received1.notify(); + } + } + }); + _session2 = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + _session2.createConsumer(_destination2).setMessageListener(new MessageListener() { + public void onMessage(Message message) + { + _log.info("consumer 2 got message [" + getTextMessage(message) + "]"); + synchronized (_received2) + { + _received2.add(message); + _received2.notify(); + } + } + }); + + _connection.start(); + } + + private String getTextMessage(Message message) + { + TextMessage tm = (TextMessage)message; + try + { + return tm.getText(); + } + catch (JMSException e) + { + return "oops " + e; + } + } + + @After + public void closeConnection() throws JMSException + { + if (_connection != null) + { + System.out.println(">>>>>>>>>>>>>>.. closing"); + _connection.close(); + } + } + + @Test + public void testWithoutExceptionListener() throws Exception + { + test(); + } + + @Test + public void testWithExceptionListener() throws Exception + { + _connection.setExceptionListener(new ExceptionListener() { + public void onException(JMSException jmsException) + { + _log.error("onException - ", jmsException); + } + }); + + test(); + } + + public void test() throws Exception + { + // Check both sessions are ok. + sendAndWait(_session1, _destination1, "first", _received1, 1); + sendAndWait(_session2, _destination2, "second", _received2, 1); + assertEquals(1, _received1.size()); + assertEquals(1, _received2.size()); + + // Now send message to incorrect destination on session 1. + Destination destination = new AMQQueue("incorrect"); + send(_session1, destination, "third"); // no point waiting as message will never be received. + + // Ensure both sessions are still ok. + // Send a bunch of messages as this give time for the sessions to be erroneously closed. + final int num = 300; + for (int i = 0; i < num; ++i) + { + send(_session1, _destination1, "" + i); + send(_session2, _destination2, "" + i); + } + waitFor(_received1, num + 1); + waitFor(_received2, num + 1); + + // Note that the third message is never received as it is sent to an incorrect destination. + assertEquals(num + 1, _received1.size()); + assertEquals(num + 1, _received2.size()); + } + + private void sendAndWait(Session session, Destination destination, String message, List<Message> received, int count) + throws JMSException, InterruptedException + { + send(session, destination, message); + waitFor(received, count); + } + + private void send(Session session, Destination destination, String message) throws JMSException + { + _log.info("sending message " + message); + MessageProducer producer1 = session.createProducer(destination); + producer1.send(session.createTextMessage(message)); + } + + private void waitFor(List<Message> received, int count) throws InterruptedException + { + synchronized (received) + { + while (received.size() < count) + { + received.wait(); + } + } + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + /** + * For Junit 3 compatibility. + */ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(ChannelCloseOkTest.class); + } + + public static void main(String[] args) + { + org.junit.runner.JUnitCore.main(ChannelCloseOkTest.class.getName()); + } +} diff --git a/java/client/test/src/org/apache/qpid/client/channelclose/UnitTests.java b/java/client/test/src/org/apache/qpid/client/channelclose/UnitTests.java new file mode 100644 index 0000000000..ed98bc0c30 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/client/channelclose/UnitTests.java @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.channelclose; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + ChannelCloseOkTest.class + }) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/client/message/ObjectMessageTest.java b/java/client/test/src/org/apache/qpid/client/message/ObjectMessageTest.java new file mode 100644 index 0000000000..30eb115a7d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/client/message/ObjectMessageTest.java @@ -0,0 +1,247 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQSession; + +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.Message; +import javax.jms.JMSException; +import javax.jms.ObjectMessage; +import java.io.Serializable; +import java.util.HashMap; +import java.util.ArrayList; + +public class ObjectMessageTest implements MessageListener +{ + private final AMQConnection connection; + private final AMQDestination destination; + private final AMQSession session; + private final Serializable[] data; + private volatile boolean waiting; + private int received; + private final ArrayList items = new ArrayList(); + + ObjectMessageTest(String broker) throws Exception + { + this(new AMQConnection(broker, "guest", "guest", randomize("Client"), "/test_path")); + } + + ObjectMessageTest(AMQConnection connection) throws Exception + { + this(connection, new AMQQueue(randomize("LatencyTest"), true)); + } + + ObjectMessageTest(AMQConnection connection, AMQDestination destination) throws Exception + { + this.connection = connection; + this.destination = destination; + session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + A a1 = new A(1, "A"); + A a2 = new A(2, "a"); + B b = new B(1, "B"); + C c = new C(); + c.put("A1", a1); + c.put("a2", a2); + c.put("B", b); + c.put("String", "String"); + + data = new Serializable[]{a1, a2, b, c, "Hello World!", new Integer(1001)}; + } + + public void test() throws Exception + { + try + { + send(); + waitUntilReceived(data.length); + check(); + System.out.println("All " + data.length + " items matched."); + } + finally + { + close(); + } + } + + private void send() throws Exception + { + //set up a consumer + session.createConsumer(destination).setMessageListener(this); + connection.start(); + + //create a publisher + MessageProducer producer = session.createProducer(destination, false, false, true); + + + for(int i = 0; i < data.length; i++) + { + ObjectMessage msg; + if(i % 2 == 0) + { + msg = session.createObjectMessage(data[i]); + } + else + { + msg = session.createObjectMessage(); + msg.setObject(data[i]); + } + producer.send(msg); + } + } + + public void check() throws Exception + { + Object[] actual = (Object[]) items.toArray(); + if(actual.length != data.length) + { + throw new Exception("Expected " + data.length + " objects, got " + actual.length); + } + for(int i = 0; i < data.length; i++) + { + if(actual[i] instanceof Exception) + { + throw new Exception("Error on receive of " + data[i], ((Exception) actual[i])); + } + if(actual[i] == null) + { + throw new Exception("Expected " + data[i] + " got null"); + } + if(!data[i].equals(actual[i])) + { + throw new Exception("Expected " + data[i] + " got " + actual[i]); + } + } + } + + + private void close() throws Exception + { + session.close(); + connection.close(); + } + + private synchronized void waitUntilReceived(int count) throws InterruptedException + { + waiting = true; + while(received < count) + { + wait(); + } + waiting = false; + } + + public void onMessage(Message message) + { + received++; + try + { + if(message instanceof ObjectMessage) + { + items.add(((ObjectMessage) message).getObject()); + } + else + { + System.out.println("ERROR: Got " + message.getClass().getName() + " not ObjectMessage"); + items.add(message); + } + } + catch (JMSException e) + { + e.printStackTrace(); + items.add(e); + } + + if(waiting){ + synchronized(this) + { + notify(); + } + } + } + + public static void main(String[] argv) throws Exception + { + String broker = argv.length > 0 ? argv[0] : "localhost:5672"; + if("-help".equals(broker)) + { + System.out.println("Usage: <broker>"); + } + new ObjectMessageTest(broker).test(); + } + private static class A implements Serializable + { + private String sValue; + private int iValue; + + A(int i, String s) + { + sValue = s; + iValue = i; + } + + public int hashCode() + { + return iValue; + } + + public boolean equals(Object o) + { + return o instanceof A && equals((A) o); + } + + protected boolean equals(A a) + { + return areEqual(a.sValue, sValue) && a.iValue == iValue; + } + } + + private static class B extends A + { + private long time; + + B(int i, String s) + { + super(i, s); + time = System.currentTimeMillis(); + } + + protected boolean equals(A a) + { + return super.equals(a) && a instanceof B && time == ((B) a).time; + } + } + + private static class C extends HashMap implements Serializable + { + } + + private static boolean areEqual(Object a, Object b) + { + return a == null ? b == null : a.equals(b); + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } +} diff --git a/java/client/test/src/org/apache/qpid/client/message/TestBytesMessage.java b/java/client/test/src/org/apache/qpid/client/message/TestBytesMessage.java new file mode 100644 index 0000000000..fb8dc4edc0 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/client/message/TestBytesMessage.java @@ -0,0 +1,92 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import junit.framework.JUnit4TestAdapter; +import org.junit.Test; +import org.junit.Assert; + +import javax.jms.MessageNotReadableException; +import javax.jms.MessageNotWriteableException; + +public class TestBytesMessage +{ + /** + * Tests that on creation a call to getBodyLength() throws an exception + * if null was passed in during creation + */ + @Test(expected=MessageNotReadableException.class) + public void testNotReadableOnCreationWithNull() throws Exception + { + JMSBytesMessage bm = new JMSBytesMessage(); + bm.getBodyLength(); + } + + @Test(expected= MessageNotWriteableException.class) + public void testResetMakesReadble() throws Exception + { + JMSBytesMessage bm = new JMSBytesMessage(); + bm.writeInt(10); + bm.reset(); + bm.writeInt(12); + } + + @Test + public void testClearBodyMakesWritable() throws Exception + { + JMSBytesMessage bm = new JMSBytesMessage(); + bm.writeInt(10); + bm.reset(); + bm.clearBody(); + bm.writeInt(10); + } + + @Test + public void testWriteInt() throws Exception + { + JMSBytesMessage bm = new JMSBytesMessage(); + bm.writeInt(10); + bm.reset(); + long len = bm.getBodyLength(); + Assert.assertTrue(len == 4); + int val = bm.readInt(); + Assert.assertTrue(val == 10); + } + + @Test + public void testWriteString() throws Exception + { + JMSBytesMessage bm = new JMSBytesMessage(); + bm.writeUTF("Bananas"); + bm.reset(); + String res = bm.readUTF(); + Assert.assertEquals("Bananas", res); + } + + @Test(expected=NullPointerException.class) + public void testWriteObjectThrowsNPE() throws Exception + { + JMSBytesMessage bm = new JMSBytesMessage(); + bm.writeObject(null); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(TestBytesMessage.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/client/message/TestTextMessage.java b/java/client/test/src/org/apache/qpid/client/message/TestTextMessage.java new file mode 100644 index 0000000000..766f47d841 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/client/message/TestTextMessage.java @@ -0,0 +1,51 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import junit.framework.JUnit4TestAdapter; +import org.junit.Test; +import org.junit.Assert; + +public class TestTextMessage +{ + @Test + public void testTextOnConstruction() throws Exception + { + JMSTextMessage tm = new JMSTextMessage(); + tm.setText("pies"); + String val = tm.getText(); + Assert.assertEquals(val, "pies"); + } + + @Test + public void testClearBody() throws Exception + { + JMSTextMessage tm = new JMSTextMessage(); + tm.setText("pies"); + tm.clearBody(); + String val = tm.getText(); + Assert.assertNull(val); + tm.setText("Banana"); + val = tm.getText(); + Assert.assertEquals(val, "Banana"); + } + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(TestTextMessage.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/client/message/UnitTests.java b/java/client/test/src/org/apache/qpid/client/message/UnitTests.java new file mode 100644 index 0000000000..889c437df3 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/client/message/UnitTests.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.message; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({TestBytesMessage.class, TestTextMessage.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/client/testutil/VmOrRemoteTestCase.java b/java/client/test/src/org/apache/qpid/client/testutil/VmOrRemoteTestCase.java new file mode 100644 index 0000000000..536f93a387 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/client/testutil/VmOrRemoteTestCase.java @@ -0,0 +1,56 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.client.testutil; + +import org.apache.qpid.vmbroker.VmPipeBroker; +import org.junit.After; +import org.junit.Before; + +public class VmOrRemoteTestCase +{ + String _connectionString = "vm:1"; + + VmPipeBroker _vmBroker; + + public boolean isVm() { + return "vm:1".equals(_connectionString); + } + + public void setConnectionString(final String connectionString) { + this._connectionString = connectionString; + } + + public String getConnectionString() + { + return _connectionString; + } + + @Before + public void startVmBroker() throws Exception { + if (isVm()) { + _vmBroker = new VmPipeBroker(); + _vmBroker.initialiseBroker(); + } + } + + @After + public void stopVmBroker() { + _vmBroker.killBroker(); + } + +} diff --git a/java/client/test/src/org/apache/qpid/cluster/Client.java b/java/client/test/src/org/apache/qpid/cluster/Client.java new file mode 100644 index 0000000000..9156d08060 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cluster/Client.java @@ -0,0 +1,122 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.cluster; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; + +import javax.jms.MessageListener; +import javax.jms.Message; +import javax.jms.Session; +import javax.jms.JMSException; +import javax.jms.MessageProducer; +import javax.jms.TextMessage; +import java.util.Random; + +public class Client +{ + private final Random random = new Random(); + private final String name; + private final Session session; + private final MessageProducer topicProducer; + private final MessageProducer queueProducer; + + Client(AMQConnection connection, String name) throws JMSException, InterruptedException + { + this.name = name; + session = connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + + AMQTopic topic = new AMQTopic("cluster_test_topic"); + AMQQueue queue = new AMQQueue("cluster_test_queue"); + + topicProducer = session.createProducer(topic); + queueProducer = session.createProducer(queue); + + //subscribe to a known topic + session.createConsumer(topic).setMessageListener(new TopicHandler()); + //subscribe to a known queue + session.createConsumer(queue).setMessageListener(new QueueHandler()); + + connection.start(); + + while(true) + { + Thread.sleep(random.nextInt(60000)); + sendToQueue(name + ":" + randomString(5)); + } + } + + private synchronized void sendToTopic(String message) throws JMSException + { + topicProducer.send(session.createTextMessage(message)); + } + + private synchronized void sendToQueue(String message) throws JMSException + { + queueProducer.send(session.createTextMessage(message)); + } + + private String randomString(int length){ + char[] c = new char[length]; + for(int i = 0; i < length; i++) + { + c[i] = (char) ('A' + random.nextInt(26)); + } + return new String(c); + } + + private class QueueHandler implements MessageListener + { + public void onMessage(Message message) + { + try + { + sendToTopic(((TextMessage) message).getText()); + } + catch (JMSException e) + { + e.printStackTrace(); + } + } + } + + private class TopicHandler implements MessageListener + { + public void onMessage(Message message) + { + try + { + System.out.println(((TextMessage) message).getText()); + } + catch (JMSException e) + { + e.printStackTrace(); + } + } + } + + public static void main(String[] argv) throws AMQException, JMSException, InterruptedException, URLSyntaxException + { + //assume args describe the set of brokers to try + new Client(new AMQConnection(argv[0], "guest", "guest", argv[1], "/test"), argv[1]); + } +} diff --git a/java/client/test/src/org/apache/qpid/codec/BasicDeliverTest.java b/java/client/test/src/org/apache/qpid/codec/BasicDeliverTest.java new file mode 100644 index 0000000000..40ea24efbf --- /dev/null +++ b/java/client/test/src/org/apache/qpid/codec/BasicDeliverTest.java @@ -0,0 +1,257 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.codec; + +import org.apache.qpid.framing.*; +import org.apache.mina.common.*; +import org.apache.mina.common.support.BaseIoSession; +import org.apache.mina.filter.codec.ProtocolDecoderOutput; +import org.apache.mina.filter.codec.ProtocolEncoderOutput; + +import java.net.SocketAddress; + +/** + */ +public class BasicDeliverTest +{ + public static void main(String[] argv) throws Exception + { + BasicDeliverTest test = new BasicDeliverTest(); + + //warm up: + test.encode(512, 100000); + + //real tests: + test.encode(16, 10000, 15); + test.encode(32, 10000, 15); + test.encode(64, 10000, 15); + test.encode(128, 10000, 15); + test.encode(256, 10000, 15); + test.encode(512, 10000, 15); + test.encode(1024, 10000, 15); + test.encode(2048, 10000, 15); + + test.decode(16, 10000, 15); + test.decode(32, 10000, 15); + test.decode(64, 10000, 15); + test.decode(128, 10000, 15); + test.decode(256, 10000, 15); + test.decode(512, 10000, 15); + test.decode(1024, 10000, 15); + test.decode(2048, 10000, 15); + } + + void decode(int size, int count, int iterations) throws Exception + { + long min = Long.MAX_VALUE; + long max = 0; + long total = 0; + for(int i = 0; i < iterations; i++) + { + long time = decode(size, count); + total += time; + if(time < min) min = time; + if(time > max) max = time; + } + System.out.println("Decoded " + count + " messages of " + size + + " bytes: avg=" + (total / iterations) + ", min=" + min + ", max=" + max) ; + } + + + long decode(int size, int count) throws Exception + { + AMQDataBlock block = getDataBlock(size); + ByteBuffer data = ByteBuffer.allocate((int) block.getSize()); // XXX: Is cast a problem? + block.writePayload(data); + data.flip(); + AMQDecoder decoder = new AMQDecoder(false); + long start = System.currentTimeMillis(); + for(int i = 0; i < count; i++) + { + decoder.decode(session, data, decoderOutput); + data.rewind(); + } + return System.currentTimeMillis() - start; + } + + void encode(int size, int count, int iterations) throws Exception + { + long min = Long.MAX_VALUE; + long max = 0; + long total = 0; + for(int i = 0; i < iterations; i++) + { + long time = encode(size, count); + total += time; + if(time < min) min = time; + if(time > max) max = time; + } + System.out.println("Encoded " + count + " messages of " + size + + " bytes: avg=" + (total / iterations) + ", min=" + min + ", max=" + max) ; + } + + long encode(int size, int count) throws Exception + { + IoSession session = null; + AMQDataBlock block = getDataBlock(size); + AMQEncoder encoder = new AMQEncoder(); + long start = System.currentTimeMillis(); + for(int i = 0; i < count; i++) + { + encoder.encode(session, block, encoderOutput); + } + return System.currentTimeMillis() - start; + } + + private final ProtocolEncoderOutput encoderOutput = new ProtocolEncoderOutput(){ + + public void write(ByteBuffer byteBuffer) + { + } + + public void mergeAll() + { + } + + public WriteFuture flush() + { + return null; + } + }; + + private final ProtocolDecoderOutput decoderOutput = new ProtocolDecoderOutput(){ + public void write(Object object) + { + } + + public void flush() + { + } + }; + + private final IoSession session = new BaseIoSession(){ + + protected void updateTrafficMask() + { + //To change body of implemented methods use File | Settings | File Templates. + } + + public IoService getService() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public IoHandler getHandler() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public IoSessionConfig getConfig() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public IoFilterChain getFilterChain() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public TransportType getTransportType() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public SocketAddress getRemoteAddress() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public SocketAddress getLocalAddress() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public SocketAddress getServiceAddress() + { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getScheduledWriteRequests() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getScheduledWriteBytes() + { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + }; + + private static final char[] DATA = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray(); + + static CompositeAMQDataBlock getDataBlock(int size) + { + //create a frame representing message delivery + AMQFrame[] frames = new AMQFrame[3]; + frames[0] = wrapBody( createBasicDeliverBody() ); + frames[1] = wrapBody( createContentHeaderBody() ); + frames[2] = wrapBody( createContentBody(size) ); + + return new CompositeAMQDataBlock(frames); + } + + static AMQFrame wrapBody(AMQBody body) + { + AMQFrame frame = new AMQFrame(); + frame.bodyFrame = body; + frame.channel = 1; + + return frame; + } + + static ContentBody createContentBody(int size) + { + ContentBody body = new ContentBody(); + body.payload = ByteBuffer.allocate(size); + for(int i = 0; i < size; i++) + { + body.payload.put((byte) DATA[i % DATA.length]); + } + return body; + } + + static ContentHeaderBody createContentHeaderBody() + { + ContentHeaderBody body = new ContentHeaderBody(); + body.properties = new BasicContentHeaderProperties(); + body.weight = 1; + body.classId = 6; + return body; + } + + static BasicDeliverBody createBasicDeliverBody() + { + BasicDeliverBody body = new BasicDeliverBody(); + body.consumerTag = "myConsumerTag"; + body.deliveryTag = 1; + body.exchange = "myExchange"; + body.redelivered = false; + body.routingKey = "myRoutingKey"; + return body; + } +} diff --git a/java/client/test/src/org/apache/qpid/codec/Client.java b/java/client/test/src/org/apache/qpid/codec/Client.java new file mode 100644 index 0000000000..3118aa8539 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/codec/Client.java @@ -0,0 +1,130 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.codec; + +import org.apache.mina.transport.socket.nio.SocketConnector; +import org.apache.mina.common.ConnectFuture; +import org.apache.mina.common.IoHandlerAdapter; +import org.apache.mina.common.IoSession; +import org.apache.mina.filter.codec.ProtocolCodecFilter; +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.BasicDeliverBody; +import org.apache.qpid.framing.ContentBody; + +import java.net.InetSocketAddress; + +public class Client extends IoHandlerAdapter +{ + //private static final int[] DEFAULT_SIZES = new int[]{1024, 512, 256, 128, 56}; + //private static final int[] DEFAULT_SIZES = new int[]{256, 256, 256, 256, 256, 512, 512, 512, 512, 512}; + private static final int[] DEFAULT_SIZES = new int[]{256, 512, 256, 512, 256, 512, 256, 512, 256, 512}; + //private static final int[] DEFAULT_SIZES = new int[]{1024, 1024, 1024, 1024, 1024}; + + private final IoSession _session; + private final long _start; + private final int _size; + private final int _count; + private int _received; + private boolean _closed; + + Client(String host, int port, int size, int count) throws Exception + { + _count = count; + _size = size; + AMQDataBlock block = BasicDeliverTest.getDataBlock(size); + + InetSocketAddress address = new InetSocketAddress(host, port); + ConnectFuture future = new SocketConnector().connect(address, this); + future.join(); + _session = future.getSession(); + + _start = System.currentTimeMillis(); + for(int i = 0; i < count; i++) + { + _session.write(block); + } + } + + void close() + { + long time = System.currentTimeMillis() - _start; + System.out.println("Received " + _received + " messages of " + _size + + " bytes in " + time + "ms."); + _session.close(); + synchronized(this) + { + _closed = true; + notify(); + } + } + + void waitForClose() throws InterruptedException + { + synchronized(this) + { + while(!_closed) + { + wait(); + } + } + } + + public void sessionCreated(IoSession session) throws Exception + { + session.getFilterChain().addLast("protocolFilter", new ProtocolCodecFilter(new AMQCodecFactory(false))); + } + + public void messageReceived(IoSession session, Object object) throws Exception + { + if(isContent(object) && ++_received == _count) close(); + } + + public void exceptionCaught(IoSession session, Throwable throwable) throws Exception + { + throwable.printStackTrace(); + close(); + } + + private static boolean isDeliver(Object o) + { + return o instanceof AMQFrame && ((AMQFrame) o).bodyFrame instanceof BasicDeliverBody; + } + + private static boolean isContent(Object o) + { + return o instanceof AMQFrame && ((AMQFrame) o).bodyFrame instanceof ContentBody; + } + + public static void main(String[] argv) throws Exception + { + String host = argv.length > 0 ? argv[0] : "localhost"; + int port = argv.length > 1 ? Integer.parseInt(argv[1]) : 8888; + int count = argv.length > 2 ? Integer.parseInt(argv[2]) : 10000; + int[] sizes = argv.length > 3 ? new int[]{Integer.parseInt(argv[3])} : DEFAULT_SIZES; + + System.out.println("Connecting to " + host + ":" + port); + + for(int i = 0; i < sizes.length; i++) + { + new Client(host, port, sizes[i], count).waitForClose(); + Thread.sleep(1000); + } + } + +} diff --git a/java/client/test/src/org/apache/qpid/codec/Server.java b/java/client/test/src/org/apache/qpid/codec/Server.java new file mode 100644 index 0000000000..772424e002 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/codec/Server.java @@ -0,0 +1,100 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.codec; + +import org.apache.mina.common.IoHandlerAdapter; +import org.apache.mina.common.IoSession; +import org.apache.mina.transport.socket.nio.SocketAcceptor; +import org.apache.mina.util.SessionUtil; +import org.apache.mina.filter.codec.ProtocolCodecFilter; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.CompositeAMQDataBlock; + +import java.net.InetSocketAddress; + +public class Server extends IoHandlerAdapter +{ + Server(int port) throws Exception + { + new SocketAcceptor().bind(new InetSocketAddress(port), this); + System.out.println("Listening on " + port); + } + + public void sessionCreated(IoSession session) throws Exception + { + SessionUtil.initialize(session); + session.getFilterChain().addLast("protocolFilter", new ProtocolCodecFilter(new AMQCodecFactory(false))); + } + + public void messageReceived(IoSession session, Object object) throws Exception + { + getAccumulator(session).received(session, (AMQFrame) object); + } + + public void sessionOpened(IoSession session) throws Exception + { + System.out.println("sessionOpened()"); + } + + public void sessionClosed(IoSession session) throws Exception + { + System.out.println("sessionClosed()"); + } + + public void exceptionCaught(IoSession session, Throwable t) throws Exception + { + System.out.println("exceptionCaught()"); + t.printStackTrace(); + session.close(); + } + + private Accumulator getAccumulator(IoSession session) + { + Accumulator a = (Accumulator) session.getAttribute(ACCUMULATOR); + if(a == null) + { + a = new Accumulator(); + session.setAttribute(ACCUMULATOR, a); + } + return a; + } + + private static final String ACCUMULATOR = Accumulator.class.getName(); + + private static class Accumulator + { + private final AMQFrame[] frames = new AMQFrame[3]; + private int i; + + void received(IoSession session, AMQFrame frame) + { + frames[i++] = frame; + if(i >= frames.length) + { + i = 0; + session.write(new CompositeAMQDataBlock(frames)); + } + } + } + + public static void main(String[] argv) throws Exception + { + int port = argv.length > 0 ? Integer.parseInt(argv[0]) : 8888; + new Server(port); + } +} diff --git a/java/client/test/src/org/apache/qpid/config/AMQConnectionFactoryInitialiser.java b/java/client/test/src/org/apache/qpid/config/AMQConnectionFactoryInitialiser.java new file mode 100644 index 0000000000..7c208e4cc4 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/config/AMQConnectionFactoryInitialiser.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.config; + +import org.apache.qpid.client.AMQConnectionFactory; +import org.apache.qpid.config.ConnectionFactoryInitialiser; +import org.apache.qpid.config.ConnectorConfig; + +import javax.jms.ConnectionFactory; + +class AMQConnectionFactoryInitialiser implements ConnectionFactoryInitialiser +{ + public ConnectionFactory getFactory(ConnectorConfig config) + { + return new AMQConnectionFactory(config.getHost(), config.getPort(), "/test_path"); + } +} diff --git a/java/client/test/src/org/apache/qpid/config/AbstractConfig.java b/java/client/test/src/org/apache/qpid/config/AbstractConfig.java new file mode 100644 index 0000000000..9b1bf88497 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/config/AbstractConfig.java @@ -0,0 +1,66 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.config; + +public abstract class AbstractConfig +{ + public boolean setOptions(String[] argv) + { + try + { + for(int i = 0; i < argv.length - 1; i += 2) + { + String key = argv[i]; + String value = argv[i+1]; + setOption(key, value); + } + return true; + } + catch(Exception e) + { + System.out.println(e.getMessage()); + } + return false; + } + + protected int parseInt(String msg, String i) + { + try + { + return Integer.parseInt(i); + } + catch(NumberFormatException e) + { + throw new RuntimeException(msg + ": " + i); + } + } + + protected long parseLong(String msg, String i) + { + try + { + return Long.parseLong(i); + } + catch(NumberFormatException e) + { + throw new RuntimeException(msg + ": " + i); + } + } + + public abstract void setOption(String key, String value); +} diff --git a/java/client/test/src/org/apache/qpid/config/ConnectionFactoryInitialiser.java b/java/client/test/src/org/apache/qpid/config/ConnectionFactoryInitialiser.java new file mode 100644 index 0000000000..a5599c8e58 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/config/ConnectionFactoryInitialiser.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.config; + +import javax.jms.ConnectionFactory; +import javax.jms.JMSException; + +public interface ConnectionFactoryInitialiser +{ + public ConnectionFactory getFactory(ConnectorConfig config) throws JMSException; +} diff --git a/java/client/test/src/org/apache/qpid/config/Connector.java b/java/client/test/src/org/apache/qpid/config/Connector.java new file mode 100644 index 0000000000..a3b93aad22 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/config/Connector.java @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.config; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; + +public class Connector +{ + public Connection createConnection(ConnectorConfig config) throws Exception + { + return getConnectionFactory(config).createConnection(); + } + + ConnectionFactory getConnectionFactory(ConnectorConfig config) throws Exception + { + String factory = config.getFactory(); + if(factory == null) factory = AMQConnectionFactoryInitialiser.class.getName(); + System.out.println("Using " + factory); + return ((ConnectionFactoryInitialiser) Class.forName(factory).newInstance()).getFactory(config); + } +} diff --git a/java/client/test/src/org/apache/qpid/config/ConnectorConfig.java b/java/client/test/src/org/apache/qpid/config/ConnectorConfig.java new file mode 100644 index 0000000000..8921d579a6 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/config/ConnectorConfig.java @@ -0,0 +1,25 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.config; + +public interface ConnectorConfig +{ + public String getHost(); + public int getPort(); + public String getFactory(); +} diff --git a/java/client/test/src/org/apache/qpid/config/JBossConnectionFactoryInitialiser.java b/java/client/test/src/org/apache/qpid/config/JBossConnectionFactoryInitialiser.java new file mode 100644 index 0000000000..60e358056f --- /dev/null +++ b/java/client/test/src/org/apache/qpid/config/JBossConnectionFactoryInitialiser.java @@ -0,0 +1,108 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.config; + +import org.apache.qpid.config.ConnectionFactoryInitialiser; +import org.apache.qpid.config.ConnectorConfig; + +import javax.jms.ConnectionFactory; +import javax.jms.JMSException; +import javax.management.MBeanServerConnection; +import javax.management.ObjectName; +import javax.management.MBeanException; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import javax.naming.NameNotFoundException; +import java.util.Hashtable; + +public class JBossConnectionFactoryInitialiser implements ConnectionFactoryInitialiser +{ + public ConnectionFactory getFactory(ConnectorConfig config) throws JMSException + { + ConnectionFactory cf = null; + InitialContext ic = null; + Hashtable ht = new Hashtable(); + ht.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); + String jbossHost = System.getProperty("jboss.host", "eqd-lxamq01"); + String jbossPort = System.getProperty("jboss.port", "1099"); + ht.put(InitialContext.PROVIDER_URL, "jnp://" + jbossHost + ":" + jbossPort); + ht.put(InitialContext.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); + + try + { + ic = new InitialContext(ht); + if (!doesDestinationExist("topictest.messages", ic)) + { + deployTopic("topictest.messages", ic); + } + if (!doesDestinationExist("topictest.control", ic)) + { + deployTopic("topictest.control", ic); + } + + cf = (ConnectionFactory) ic.lookup("/ConnectionFactory"); + return cf; + } + catch (NamingException e) + { + throw new JMSException("Unable to lookup object: " + e); + } + catch (Exception e) + { + throw new JMSException("Error creating topic: " + e); + } + } + + private boolean doesDestinationExist(String name, InitialContext ic) throws Exception + { + try + { + ic.lookup("/" + name); + } + catch (NameNotFoundException e) + { + return false; + } + return true; + } + + private void deployTopic(String name, InitialContext ic) throws Exception + { + MBeanServerConnection mBeanServer = lookupMBeanServerProxy(ic); + + ObjectName serverObjectName = new ObjectName("jboss.messaging:service=ServerPeer"); + + String jndiName = "/" + name; + try + { + mBeanServer.invoke(serverObjectName, "createTopic", + new Object[]{name, jndiName}, + new String[]{"java.lang.String", "java.lang.String"}); + } + catch (MBeanException e) + { + System.err.println("Error: " + e); + System.err.println("Cause: " + e.getCause()); + } + } + + private MBeanServerConnection lookupMBeanServerProxy(InitialContext ic) throws NamingException + { + return (MBeanServerConnection) ic.lookup("jmx/invoker/RMIAdaptor"); + } +} diff --git a/java/client/test/src/org/apache/qpid/connection/ConnectionTest.java b/java/client/test/src/org/apache/qpid/connection/ConnectionTest.java new file mode 100644 index 0000000000..e86d238dc4 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/connection/ConnectionTest.java @@ -0,0 +1,101 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.connection; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQAuthenticationException; +import org.apache.qpid.AMQException; +import org.apache.qpid.AMQConnectionException; +import org.apache.qpid.AMQUnresolvedAddressException; +import org.junit.Test; +import org.junit.Assert; + +import javax.jms.Connection; + +import junit.framework.JUnit4TestAdapter; + +public class ConnectionTest +{ + @Test + public void simpleConnection() throws Exception + { + Connection connection = new AMQConnection("localhost:5672", "guest", "guest", + "fred", "/test"); + System.out.println("connection = " + connection); + } + + @Test + public void passwordFailureConnection() throws Exception + { + try + { + new AMQConnection("amqp://guest:rubbishpassword@clientid/testpath?brokerlist='tcp://localhost:5672?retries='1''"); + Assert.fail("Connection should not be established"); + } + catch (AMQException amqe) + { + if (!(amqe instanceof AMQAuthenticationException)) + { + Assert.fail("Correct exception not thrown"); + } + } + } + + @Test + public void connectionFailure() throws Exception + { + try + { + new AMQConnection("amqp://guest:guest@clientid/testpath?brokerlist='tcp://localhost:5673?retries='0''"); + Assert.fail("Connection should not be established"); + } + catch (AMQException amqe) + { + if (!(amqe instanceof AMQConnectionException)) + { + Assert.fail("Correct exception not thrown"); + } + } + } + + @Test + public void unresolvedHostFailure() throws Exception + { + try + { + new AMQConnection("amqp://guest:guest@clientid/testpath?brokerlist='tcp://rubbishhost:5672?retries='0''"); + Assert.fail("Connection should not be established"); + } + catch (AMQException amqe) + { + if (!(amqe instanceof AMQUnresolvedAddressException)) + { + Assert.fail("Correct exception not thrown"); + } + } + } + + /** + * For Junit 3 compatibility. + */ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(ConnectionTest.class); + } + +} diff --git a/java/client/test/src/org/apache/qpid/connection/TestManyConnections.java b/java/client/test/src/org/apache/qpid/connection/TestManyConnections.java new file mode 100644 index 0000000000..8552deb8fc --- /dev/null +++ b/java/client/test/src/org/apache/qpid/connection/TestManyConnections.java @@ -0,0 +1,100 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.connection; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.apache.log4j.Logger; +import org.junit.Test; + +public class TestManyConnections extends VmOrRemoteTestCase +{ + private static final Logger _log = Logger.getLogger(TestManyConnections.class); + + private AMQConnection[] _connections; + + private void createConnection(int index, String brokerHosts, String clientID, String username, String password, + String vpath) throws AMQException, URLSyntaxException + { + _connections[index] = new AMQConnection(brokerHosts, username, password, + clientID, vpath); + } + + private void createConnections(int count) throws AMQException, URLSyntaxException + { + _connections = new AMQConnection[count]; + long startTime = System.currentTimeMillis(); + for (int i = 0; i < count; i++) + { + createConnection(i, "tcp://foo", "myClient" + i, "guest", "guest", "/test"); + } + long endTime = System.currentTimeMillis(); + _log.info("Time to create " + count + " connections: " + (endTime - startTime) + + "ms"); + } + + @Test + public void create10Connections() throws AMQException, URLSyntaxException + { + createConnections(10); + } + + @Test + public void create50Connections() throws AMQException, URLSyntaxException + { + createConnections(50); + } + + @Test + public void create100Connections() throws AMQException, URLSyntaxException + { + createConnections(100); + } + + @Test + public void create250Connections() throws AMQException, URLSyntaxException + { + createConnections(250); + } + + @Test + public void create500Connections() throws AMQException, URLSyntaxException + { + createConnections(500); + } + + @Test + public void create1000Connections() throws AMQException, URLSyntaxException + { + createConnections(1000); + } + + @Test + public void create5000Connections() throws AMQException, URLSyntaxException + { + createConnections(5000); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(TestManyConnections.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/connectionurl/ConnectionURLTest.java b/java/client/test/src/org/apache/qpid/connectionurl/ConnectionURLTest.java new file mode 100644 index 0000000000..cc8442af90 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/connectionurl/ConnectionURLTest.java @@ -0,0 +1,449 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.connectionurl; + +import org.junit.Test; +import org.junit.Assert; +import org.apache.qpid.client.AMQConnectionURL; +import org.apache.qpid.client.AMQBrokerDetails; +import org.apache.qpid.jms.ConnectionURL; +import org.apache.qpid.jms.BrokerDetails; +import org.apache.qpid.url.URLSyntaxException; +import junit.framework.JUnit4TestAdapter; + +public class ConnectionURLTest +{ + @Test + public void failoverURL() throws URLSyntaxException + { + String url = "amqp://ritchiem:bob@/temp?brokerlist='tcp://localhost:5672;tcp://fancyserver:3000/',failover='roundrobin'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getFailoverMethod().equals("roundrobin")); + Assert.assertTrue(connectionurl.getUsername().equals("ritchiem")); + Assert.assertTrue(connectionurl.getPassword().equals("bob")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/temp")); + + Assert.assertTrue(connectionurl.getBrokerCount() == 2); + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("tcp")); + Assert.assertTrue(service.getHost().equals("localhost")); + Assert.assertTrue(service.getPort() == 5672); + + service = connectionurl.getBrokerDetails(1); + + Assert.assertTrue(service.getTransport().equals("tcp")); + Assert.assertTrue(service.getHost().equals("fancyserver")); + Assert.assertTrue(service.getPort() == 3000); + + } + + @Test + public void singleTransportUsernamePasswordURL() throws URLSyntaxException + { + String url = "amqp://ritchiem:bob@/temp?brokerlist='tcp://localhost:5672'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getFailoverMethod() == null); + Assert.assertTrue(connectionurl.getUsername().equals("ritchiem")); + Assert.assertTrue(connectionurl.getPassword().equals("bob")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/temp")); + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("tcp")); + Assert.assertTrue(service.getHost().equals("localhost")); + Assert.assertTrue(service.getPort() == 5672); + } + + @Test + public void singleTransportUsernameBlankPasswordURL() throws URLSyntaxException + { + String url = "amqp://ritchiem:@/temp?brokerlist='tcp://localhost:5672'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getFailoverMethod() == null); + Assert.assertTrue(connectionurl.getUsername().equals("ritchiem")); + Assert.assertTrue(connectionurl.getPassword().equals("")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/temp")); + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("tcp")); + Assert.assertTrue(service.getHost().equals("localhost")); + Assert.assertTrue(service.getPort() == 5672); + } + + @Test + public void failedURLNullPassword() + { + String url = "amqp://ritchiem@/temp?brokerlist='tcp://localhost:5672'"; + + try + { + new AMQConnectionURL(url); + Assert.fail("URL has null password"); + } + catch (URLSyntaxException e) + { + Assert.assertTrue(e.getReason().equals("Null password in user information not allowed.")); + Assert.assertTrue(e.getIndex() == 7); + } + } + + + @Test + public void singleTransportURL() throws URLSyntaxException + { + String url = "amqp://guest:guest@/test?brokerlist='tcp://localhost:5672'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + + Assert.assertTrue(connectionurl.getFailoverMethod() == null); + Assert.assertTrue(connectionurl.getUsername().equals("guest")); + Assert.assertTrue(connectionurl.getPassword().equals("guest")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/test")); + + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("tcp")); + Assert.assertTrue(service.getHost().equals("localhost")); + Assert.assertTrue(service.getPort() == 5672); + } + + @Test + public void singleTransportWithClientURLURL() throws URLSyntaxException + { + String url = "amqp://guest:guest@clientname/temp?brokerlist='tcp://localhost:5672'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + + Assert.assertTrue(connectionurl.getFailoverMethod() == null); + Assert.assertTrue(connectionurl.getUsername().equals("guest")); + Assert.assertTrue(connectionurl.getPassword().equals("guest")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/temp")); + Assert.assertTrue(connectionurl.getClientName().equals("clientname")); + + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("tcp")); + Assert.assertTrue(service.getHost().equals("localhost")); + Assert.assertTrue(service.getPort() == 5672); + } + + @Test + public void singleTransport1OptionURL() throws URLSyntaxException + { + String url = "amqp://guest:guest@/temp?brokerlist='tcp://localhost:5672',routingkey='jim'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getFailoverMethod() == null); + Assert.assertTrue(connectionurl.getUsername().equals("guest")); + Assert.assertTrue(connectionurl.getPassword().equals("guest")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/temp")); + + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("tcp")); + + Assert.assertTrue(service.getHost().equals("localhost")); + Assert.assertTrue(service.getPort() == 5672); + Assert.assertTrue(connectionurl.getOption("routingkey").equals("jim")); + } + + @Test + public void singleTransportDefaultedBroker() throws URLSyntaxException + { + String url = "amqp://guest:guest@/temp?brokerlist='localhost'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getFailoverMethod() == null); + Assert.assertTrue(connectionurl.getUsername().equals("guest")); + Assert.assertTrue(connectionurl.getPassword().equals("guest")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/temp")); + + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("tcp")); + + Assert.assertTrue(service.getHost().equals("localhost")); + Assert.assertTrue(service.getPort() == 5672); + } + + + @Test + public void singleTransportMultiOptionURL() throws URLSyntaxException + { + String url = "amqp://guest:guest@/temp?brokerlist='tcp://localhost:5672',routingkey='jim',timeout='200',immediatedelivery='true'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getFailoverMethod() == null); + Assert.assertTrue(connectionurl.getUsername().equals("guest")); + Assert.assertTrue(connectionurl.getPassword().equals("guest")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/temp")); + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("tcp")); + + Assert.assertTrue(service.getHost().equals("localhost")); + Assert.assertTrue(service.getPort() == 5672); + + Assert.assertTrue(connectionurl.getOption("routingkey").equals("jim")); + Assert.assertTrue(connectionurl.getOption("timeout").equals("200")); + Assert.assertTrue(connectionurl.getOption("immediatedelivery").equals("true")); + } + + @Test + public void singlevmURL() throws URLSyntaxException + { + String url = "amqp://guest:guest@/messages?brokerlist='vm://:2'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getFailoverMethod() == null); + Assert.assertTrue(connectionurl.getUsername().equals("guest")); + Assert.assertTrue(connectionurl.getPassword().equals("guest")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/messages")); + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("vm")); + Assert.assertTrue(service.getHost().equals("")); + Assert.assertTrue(service.getPort() == 2); + + } + + @Test + public void failoverVMURL() throws URLSyntaxException + { + String url = "amqp://ritchiem:bob@/temp?brokerlist='vm://:2;vm://:3',failover='roundrobin'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getFailoverMethod().equals("roundrobin")); + Assert.assertTrue(connectionurl.getUsername().equals("ritchiem")); + Assert.assertTrue(connectionurl.getPassword().equals("bob")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/temp")); + + Assert.assertTrue(connectionurl.getBrokerCount() == 2); + + BrokerDetails service = connectionurl.getBrokerDetails(0); + + Assert.assertTrue(service.getTransport().equals("vm")); + Assert.assertTrue(service.getHost().equals("")); + Assert.assertTrue(service.getPort() == 2); + + service = connectionurl.getBrokerDetails(1); + Assert.assertTrue(service.getTransport().equals("vm")); + Assert.assertTrue(service.getHost().equals("")); + Assert.assertTrue(service.getPort() == 3); + } + + + @Test + public void noVirtualHostURL() + { + String url = "amqp://user@?brokerlist='tcp://localhost:5672'"; + + try + { + new AMQConnectionURL(url); + Assert.fail("URL has no virtual host should not parse"); + } + catch (URLSyntaxException e) + { + // This should occur. + } + } + + @Test + public void noClientID() throws URLSyntaxException + { + String url = "amqp://user:@/test?brokerlist='tcp://localhost:5672'"; + + ConnectionURL connectionurl = new AMQConnectionURL(url); + + Assert.assertTrue(connectionurl.getUsername().equals("user")); + Assert.assertTrue(connectionurl.getPassword().equals("")); + Assert.assertTrue(connectionurl.getVirtualHost().equals("/test")); + + Assert.assertTrue(connectionurl.getBrokerCount() == 1); + } + + @Test + public void wrongOptionSeperatorInBroker() + { + String url = "amqp://user:@/test?brokerlist='tcp://localhost:5672+option='value''"; + + try + { + new AMQConnectionURL(url); + + Float version = Float.parseFloat(System.getProperty("java.specification.version")); + if (version > 1.5) + { + Assert.fail("URL Should not parse on Java 1.6 or greater"); + } + } + catch (URLSyntaxException urise) + { + Assert.assertTrue(urise.getReason().equals("Illegal character in port number")); + } + + } + + @Test + public void wrongOptionSeperatorInOptions() + { + String url = "amqp://guest:guest@/test?brokerlist='tcp://localhost:5672;tcp://localhost:5673'+failover='roundrobin'"; + try + { + new AMQConnectionURL(url); + Assert.fail("URL Should not parse"); + } + catch (URLSyntaxException urise) + { + Assert.assertTrue(urise.getReason().equals("Unterminated option. Possible illegal option separator:'+'")); + } + + } + + @Test + public void transportsDefaultToTCP() throws URLSyntaxException + { + String url = "amqp://guest:guest@/test?brokerlist='localhost:5672;myhost:5673'&failover='roundrobin'"; + + AMQConnectionURL connection = new AMQConnectionURL(url); + + BrokerDetails broker = connection.getBrokerDetails(0); + Assert.assertTrue(broker.getTransport().equals("tcp")); + + broker = connection.getBrokerDetails(1); + Assert.assertTrue(broker.getTransport().equals("tcp")); + } + + @Test + public void noUserDetailsProvidedWithClientID() + + { + String url = "amqp://clientID/test?brokerlist='tcp://localhost:5672;tcp://localhost:5673'"; + try + { + new AMQConnectionURL(url); + Assert.fail("URL Should not parse"); + } + catch (URLSyntaxException urise) + { + Assert.assertTrue(urise.getMessage().startsWith("User information not found on url")); + } + + } + + @Test + public void noUserDetailsProvidedNOClientID() + + { + String url = "amqp:///test?brokerlist='tcp://localhost:5672;tcp://localhost:5673'"; + try + { + new AMQConnectionURL(url); + Assert.fail("URL Should not parse"); + } + catch (URLSyntaxException urise) + { + Assert.assertTrue(urise.getMessage().startsWith("User information not found on url")); + } + + } + + @Test + public void checkVirtualhostFormat() throws URLSyntaxException + { + String url = "amqp://guest:guest@/t.-_+!=:?brokerlist='tcp://localhost:5672'"; + + AMQConnectionURL connection = new AMQConnectionURL(url); + Assert.assertTrue(connection.getVirtualHost().equals("/t.-_+!=:")); + } + + @Test + public void checkDefaultPort() throws URLSyntaxException + { + String url = "amqp://guest:guest@/test=:?brokerlist='tcp://localhost'"; + + AMQConnectionURL connection = new AMQConnectionURL(url); + + BrokerDetails broker = connection.getBrokerDetails(0); + Assert.assertTrue(broker.getPort() == AMQBrokerDetails.DEFAULT_PORT); + + } + + @Test + public void checkMissingFinalQuote() throws URLSyntaxException + { + String url = "amqp://guest:guest@id/test" + "?brokerlist='tcp://localhost:5672"; + + try{ + new AMQConnectionURL(url); + }catch(URLSyntaxException e) + { + Assert.assertEquals(e.getMessage(),"Unterminated option at index 32: brokerlist='tcp://localhost:5672"); + } + + + + } + + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(ConnectionURLTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/connectionurl/UnitTests.java b/java/client/test/src/org/apache/qpid/connectionurl/UnitTests.java new file mode 100644 index 0000000000..f4f269330e --- /dev/null +++ b/java/client/test/src/org/apache/qpid/connectionurl/UnitTests.java @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.connectionurl; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.apache.qpid.ack.*; +import junit.framework.JUnit4TestAdapter; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ConnectionURLTest.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(org.apache.qpid.connectionurl.UnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/cts/bin/jmscts.sh b/java/client/test/src/org/apache/qpid/cts/bin/jmscts.sh new file mode 100755 index 0000000000..5786e0d689 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/bin/jmscts.sh @@ -0,0 +1,159 @@ +#!/bin/sh +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# ----------------------------------------------------------------------------- +# Start/Stop Script for the JMS compliance test suite +# +# Required Environment Variables +# +# JAVA_HOME Points to the Java Development Kit installation. +# +# Optional Environment Variables +# +# JMSCTS_HOME Points to the JMS CTS installation directory. +# +# JAVA_OPTS Java runtime options used when the command is executed. +# +# +# $Id: jmscts.sh,v 1.6 2003/09/27 09:50:49 tanderson Exp $ +# --------------------------------------------------------------------------- + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +case "`uname`" in +CYGWIN*) cygwin=true;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +if [ -z "$JAVA_HOME" ]; then + echo "The JAVA_HOME environment variable is not set." + echo "This is required to run jmscts" + exit 1 +fi +if [ ! -r "$JAVA_HOME"/bin/java ]; then + echo "The JAVA_HOME environment variable is not set correctly." + echo "This is required to run jmscts" + exit 1 +fi +_RUNJAVA="$JAVA_HOME"/bin/java + + +# Guess JMSCTS_HOME if it is not set +if [ -z "$JMSCTS_HOME" ]; then +# resolve links - $0 may be a softlink + PRG="$0" + while [ -h "$PRG" ]; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '.*/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi + done + + PRGDIR=`dirname "$PRG"` + JMSCTS_HOME=`cd "$PRGDIR/.." ; pwd` +elif [ ! -r "$JMSCTS_HOME"/bin/jmscts.sh ]; then + echo "The JMSCTS_HOME environment variable is not set correctly." + echo "This is required to run jmscts" + exit 1 +fi + +# Set CLASSPATH to empty by default. User jars can be added via the setenv.sh +# script +CLASSPATH= + +if [ -r "$JMSCTS_HOME"/bin/setenv.sh ]; then + . "$JMSCTS_HOME"/bin/setenv.sh +fi + +CLASSPATH="$CLASSPATH":"$JMSCTS_HOME"/lib/jmscts-0.5-b2.jar + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + JMSCTS_HOME=`cygpath --path --windows "$JMSCTS_HOME"` + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` +fi + +POLICY_FILE="$JMSCTS_HOME"/config/jmscts.policy + +# Configure TrAX +JAVAX_OPTS=-Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl + + +# Execute the requested command + +echo "Using JMSCTS_HOME: $JMSCTS_HOME" +echo "Using JAVA_HOME: $JAVA_HOME" +echo "Using CLASSPATH: $CLASSPATH" + +if [ "$1" = "run" ]; then + + shift + exec "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \ + -classpath "$CLASSPATH" \ + -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \ + org.exolab.jmscts.test.ComplianceTestSuite "$@" + +elif [ "$1" = "stress" ]; then + + shift + exec "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \ + -classpath "$CLASSPATH" \ + -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \ + org.exolab.jmscts.stress.StressTestSuite "$@" + +elif [ "$1" = "stop" ] ; then + + shift + "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \ + -classpath "$CLASSPATH" \ + -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \ + org.exolab.jmscts.core.Admin -stop + +elif [ "$1" = "abort" ] ; then + + shift + exec "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \ + -classpath "$CLASSPATH" \ + -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \ + org.exolab.jmscts.core.Admin -abort + +elif [ "$1" = "snapshot" ] ; then + + shift + exec "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \ + -classpath "$CLASSPATH" \ + -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \ + org.exolab.jmscts.core.Admin -snapshot "$@" + +else + echo "usage: jmscts.sh (commands)" + echo "commands:" + echo " run Run compliance tests" + echo " stress Run stress tests" + echo " stop Stop the JMS CTS" + echo " abort Abort the JMS CTS" + echo " snapshot Take a snapshot" + exit 1 +fi diff --git a/java/client/test/src/org/apache/qpid/cts/bin/setenv.sh b/java/client/test/src/org/apache/qpid/cts/bin/setenv.sh new file mode 100755 index 0000000000..17cbfb8d11 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/bin/setenv.sh @@ -0,0 +1,38 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# --------------------------------------------------------------------------- +# Sample environment script for JMS CTS +# +# This is invoked by jmscts.sh to configure: +# . the CLASSPATH, for JMS provider jars +# . JVM options +# +# The following configures the JMS CTS for OpenJMS 0.7.6 +# --------------------------------------------------------------------------- + +# Configure the CLASSPATH +# +DISTDIR="$IBASE/amqp/dist" +LIBDIR="$IBASE/amqp/lib" + +CLASSPATH="$LIBDIR/jakarta-commons/commons-collections-3.1.jar:$LIBDIR/util-concurrent/backport-util-concurrent.jar:$LIBDIR/mina/mina-0.7.3.jar:$LIBDIR/jms/jms.jar:$LIBDIR/logging-log4j/log4j-1.2.9.jar:$DISTDIR/amqp-common.jar:$DISTDIR/amqp-jms.jar" + +# Configure JVM options +# +JAVA_OPTS=-Xmx512m -Xms512m +JAVA_OPTS="$JAVA_OPTS \ + -Damqj.logging.level=WARN" diff --git a/java/client/test/src/org/apache/qpid/cts/config/jmscts.policy b/java/client/test/src/org/apache/qpid/cts/config/jmscts.policy new file mode 100644 index 0000000000..6acd889dc4 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/config/jmscts.policy @@ -0,0 +1,5 @@ +// grant all users all permissions. This is only for test cases +// and should be modified for deployment +grant { + permission java.security.AllPermission; +}; diff --git a/java/client/test/src/org/apache/qpid/cts/config/jmscts.properties b/java/client/test/src/org/apache/qpid/cts/config/jmscts.properties new file mode 100644 index 0000000000..eccb1fd411 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/config/jmscts.properties @@ -0,0 +1,52 @@ +# ============================================================================= +# General properties +# ----------------------------------------------------------------------------- + +# +# Username & password +# A user name and password for creating Connection instances via +# TopicConnectionFactory.createTopicConnection(...) etc +# +valid.username=guest +valid.password=guest + +# +# Invalid user name and password +# As above, but guaranteed to fail. +# +invalid.username=guest +invalid.password=guest + +# +# Message receipt timeout +# The default time to wait for messages, in milliseconds +# +org.exolab.jmscts.core.MessagingBehaviour.timeout=2000 + + +# ============================================================================= +# Compliance test properties +# ----------------------------------------------------------------------------- + +# +# Expiration interval +# Time in milliseconds to wait for the JMS provider to collect expired +# messages. +# This can be set for providers which collect expired messages periodically, +# rather than at the moment they expire. +# NOTE: for OpenJMS 0.7.6, this should be set to 5000 +org.exolab.jmscts.test.producer.ttl.ExpirationTest.expirationInterval=0 + + +# ============================================================================= +# Stress test properties +# ----------------------------------------------------------------------------- + +# +# Each of the following properties determines the no. of messages that +# will be sent by stress tests +# +org.exolab.jmscts.stress.Send0KTest.count=1000 +org.exolab.jmscts.stress.ReceiveSize0KTest.count=1000 +org.exolab.jmscts.stress.SendReceive0KTest.count=1000 +org.exolab.jmscts.stress.SendReceive2Size0KTest.count=1000 diff --git a/java/client/test/src/org/apache/qpid/cts/config/providers.xml b/java/client/test/src/org/apache/qpid/cts/config/providers.xml new file mode 100644 index 0000000000..eea1f334cc --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/config/providers.xml @@ -0,0 +1,38 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<!-- ====================================================================== --> +<!-- Sample provider configuration file --> +<!-- --> +<!-- This configures JMS CTS to test OpenJMS --> +<!-- ====================================================================== --> + +<configuration> + + <provider> + <name>AMQP</name> + <class>org.exolab.jmscts.amqp.AMQPProvider</class> + <paths> + <path>/home/guso/harness/jmscts-0.5-b2/lib/amqp-provider-0.0a1.jar</path> + </paths> + <config> + </config> + </provider> + +</configuration> diff --git a/java/client/test/src/org/apache/qpid/cts/readme.txt b/java/client/test/src/org/apache/qpid/cts/readme.txt new file mode 100644 index 0000000000..117e7d4954 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/readme.txt @@ -0,0 +1,5 @@ +The files present in the bin, config and src directories should be copied over a complete copy of jms-cts-0.5-b2. + +The path entries on the config/providers.xml and src/compile.sh files should be changed before attempting to run. + +The scripts expect a properly configured IBASE environment. Before attempting to run, the amqp provider classes must be packaged and installed. The src/compile.sh script will help to achieve that.
\ No newline at end of file diff --git a/java/client/test/src/org/apache/qpid/cts/src/compile.sh b/java/client/test/src/org/apache/qpid/cts/src/compile.sh new file mode 100755 index 0000000000..c5877e7927 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/src/compile.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +JMSCTS_PATH=/home/guso/harness/jmscts-0.5-b2 + +distjms="$IBASE/amqp/dist" +lib="$IBASE/amqp/lib" +lib2="$JMSCTS_PATH/lib/" +libs="$lib/jakarta-commons/commons-collections-3.1.jar:$lib/util-concurrent/backport-util-concurrent.jar:$lib/mina/mina-0.7.3.jar:$lib/jms/jms.jar:$lib/logging-log4j/log4j-1.2.9.jar:$distjms/amqp-common.jar:$distjms/amqp-jms.jar" +libs2="$lib2/ant-1.5.3-1.jar:$lib2/junit-3.8.1.jar:$lib2/ant-optional-1.5.3-1.jar:$lib2/log4j-1.2.7.jar:$lib2/castor-0.9.5.jar:$lib2/openjms-provider-0.5-b2.jar:$lib2/commons-cli-1.0.jar:$lib2/oro-2.0.7.jar:$lib2/commons-collections-2.1.jar:$lib2/xalan-2.5.1.jar:$lib2/commons-logging-1.0.2.jar:$lib2/xdoclet-1.2b2.jar:$lib2/concurrent-1.3.2.jar:$lib2/xdoclet-xdoclet-module-1.2b2.jar:$lib2/exolabcore-0.3.7.jar:$lib2/xdoclet-xjavadoc-uc-1.2b2.jar:$lib2/jms-1.0.2a.jar:$lib2/xerces-2.3.0.jar:$lib2/jmscts-0.5-b2.jar:$lib2/xml-apis-1.0.b2.jar" + +javac -classpath $libs:$libs2 $JMSCTS_PATH/src/providers/amqp/org/exolab/jmscts/amqp/*.java +cd $JMSCTS_PATH/src/providers/amqp +jar cvf amqp-provider-0.0a1.jar org/exolab/jmscts/amqp/*.class +mv amqp-provider-0.0a1.jar $lib2 + diff --git a/java/client/test/src/org/apache/qpid/cts/src/providers/amqp/org/exolab/jmscts/amqp/AMQPAdministrator.java b/java/client/test/src/org/apache/qpid/cts/src/providers/amqp/org/exolab/jmscts/amqp/AMQPAdministrator.java new file mode 100644 index 0000000000..21a6816af7 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/src/providers/amqp/org/exolab/jmscts/amqp/AMQPAdministrator.java @@ -0,0 +1,242 @@ +/** + * Redistribution and use of this software and associated documentation + * ("Software"), with or without modification, are permitted provided + * that the following conditions are met: + * + * 1. Redistributions of source code must retain copyright + * statements and notices. Redistributions must also contain a + * copy of this document. + * + * 2. Redistributions in binary form must reproduce the + * above copyright notice, this list of conditions and the + * following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * 3. The name "Exolab" must not be used to endorse or promote + * products derived from this Software without prior written + * permission of Exoffice Technologies. For written permission, + * please contact jima@intalio.com. + * + * 4. Products derived from this Software may not be called "Exolab" + * nor may "Exolab" appear in their names without prior written + * permission of Exoffice Technologies. Exolab is a registered + * trademark of Exoffice Technologies. + * + * 5. Due credit should be given to the Exolab Project + * (http://www.exolab.org/). + * + * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT + * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Copyright 2001, 2003 (C) Exoffice Technologies Inc. All Rights Reserved. + * + */ +package org.exolab.jmscts.amqp; + +import org.apache.qpid.client.*; +import org.exolab.jmscts.provider.Administrator; + +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.MessageConsumer; +import javax.jms.Session; +import javax.naming.NameNotFoundException; +import javax.naming.NamingException; +import java.net.InetAddress; +import java.util.HashMap; + +/** + * This class provides methods for obtaining and manipulating administered + * objects managed by the Sonicmq implementation of JMS + * + */ +class AMQPAdministrator implements Administrator { + // AMQ Connection configuration + private int port = 5672; + private String host = "localhost"; + private String user = "guest"; + private String pass = "guest"; + private String vhost = "/test"; + + // The cached broker connection & session + private AMQConnection _connection = null; + private Session _session = null; + + // Factory request names + private static final String QUEUE_CONNECTION_FACTORY = "QueueConnectionFactory"; + private static final String TOPIC_CONNECTION_FACTORY = "TopicConnectionFactory"; + + /** + * The cache of known administered objects + */ + private HashMap<String, Object> _directory = new HashMap<String, Object>(); + + /** + * Returns the name of the QueueConnectionFactory bound in JNDI + * + * @return the default QueueConnectionFactory name + */ + public String getQueueConnectionFactory() { + return QUEUE_CONNECTION_FACTORY; + } + + /** + * Returns the name of the TopicConnectionFactory bound in JNDI + * + * @return the default TopicConnectionFactory name + */ + public String getTopicConnectionFactory() { + return TOPIC_CONNECTION_FACTORY; + } + + /** + * Returns the name of the XAQueueConnectionFactory bound in JNDI + * + * @return the default XAQueueConnectionFactory name + */ + public String getXAQueueConnectionFactory() { + return null; + } + + /** + * Returns the name of the XATopicConnectionFactory bound in JNDI + * + * @return the default XATopicConnectionFactory name + */ + public String getXATopicConnectionFactory() { + return null; + } + + /** + * Look up the named administered object + * + * @param name the name that the administered object is bound to + * @return the administered object bound to name + * @throws NamingException if the object is not bound, or the lookup fails + */ + public Object lookup(String name) throws NamingException { + Object result = _directory.get(name); + if (result == null) { + if (name.equals(QUEUE_CONNECTION_FACTORY)) { + _directory.put(QUEUE_CONNECTION_FACTORY, new AMQConnectionFactory(host, port, user, pass, vhost)); + } else if (name.equals(TOPIC_CONNECTION_FACTORY)) { + _directory.put(TOPIC_CONNECTION_FACTORY, new AMQConnectionFactory(host, port, user, pass, vhost)); + } else { + throw new NameNotFoundException("Name not found: " + name); + } + } + return result; + } + + /** + * Create an administered destination + * + * @param name the destination name + * @param queue if true, create a queue, else create a topic + * @throws JMSException if the destination cannot be created + */ + public void createDestination(String name, boolean queue) + throws JMSException { + AMQDestination destination = null; + + try { + if (queue) { + destination = new AMQQueue(name); + createConsumer(destination); + } else { + destination = new AMQTopic(name); + createConsumer(destination); + } + + _directory.put(name, destination); + } catch (Exception exception) { + JMSException error = new JMSException(exception.getMessage()); + error.setLinkedException(exception); + throw error; + } + } + + /** + * Destroy an administered destination + * + * @param name the destination name + * @throws JMSException if the destination cannot be destroyed + */ + public void destroyDestination(String name) + throws JMSException { + + try { + Destination destination = (Destination) lookup(name); + _directory.remove(name); + } catch (NamingException exception) { + JMSException error = new JMSException(exception.getMessage()); + error.setLinkedException(exception); + throw error; + } catch (Exception exception) { + JMSException error = new JMSException(exception.getMessage()); + error.setLinkedException(exception); + throw error; + } + } + + /** + * Returns true if an administered destination exists + * + * @param name the destination name + * @throws JMSException for any internal JMS provider error + */ + public boolean destinationExists(String name) + throws JMSException { + + boolean exists = false; + try { + lookup(name); + exists = true; + } catch (NameNotFoundException ignore) { + } catch (Exception exception) { + JMSException error = new JMSException(exception.getMessage()); + error.setLinkedException(exception); + throw error; + } + return exists; + } + + public void initialise() throws JMSException { + try { + InetAddress address = InetAddress.getLocalHost(); + _connection = new AMQConnection(host, port, user, pass, + address.getHostName(), vhost); + _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + } catch (Exception exception) { + JMSException error = new JMSException(exception.getMessage()); + error.setLinkedException(exception); + throw error; + } + } + + public synchronized void cleanup() { + try { + _connection.close(); + } catch (JMSException e) { + e.printStackTrace(); + } + _connection = null; + _session = null; + _directory.clear(); + } + + MessageConsumer createConsumer(AMQDestination destination) throws JMSException + { + return ((AMQSession)_session).createConsumer(destination, /*pre-fetch*/0, false, /*exclusive*/false, null); + } +} //-- AMQPAdministrator diff --git a/java/client/test/src/org/apache/qpid/cts/src/providers/amqp/org/exolab/jmscts/amqp/AMQPProvider.java b/java/client/test/src/org/apache/qpid/cts/src/providers/amqp/org/exolab/jmscts/amqp/AMQPProvider.java new file mode 100644 index 0000000000..21610d39b2 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/cts/src/providers/amqp/org/exolab/jmscts/amqp/AMQPProvider.java @@ -0,0 +1,95 @@ +/** + * Redistribution and use of this software and associated documentation + * ("Software"), with or without modification, are permitted provided + * that the following conditions are met: + * + * 1. Redistributions of source code must retain copyright + * statements and notices. Redistributions must also contain a + * copy of this document. + * + * 2. Redistributions in binary form must reproduce the + * above copyright notice, this list of conditions and the + * following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * 3. The name "Exolab" must not be used to endorse or promote + * products derived from this Software without prior written + * permission of Exoffice Technologies. For written permission, + * please contact jima@intalio.com. + * + * 4. Products derived from this Software may not be called "Exolab" + * nor may "Exolab" appear in their names without prior written + * permission of Exoffice Technologies. Exolab is a registered + * trademark of Exoffice Technologies. + * + * 5. Due credit should be given to the Exolab Project + * (http://www.exolab.org/). + * + * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT + * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Copyright 2001, 2003 (C) Exoffice Technologies Inc. All Rights Reserved. + * + */ +package org.exolab.jmscts.amqp; + +import javax.jms.JMSException; + +import org.exolab.jmscts.provider.Administrator; +import org.exolab.jmscts.provider.Provider; + + +/** + * This class enables test cases to be run against the SonicMQ provider + * + * @see AMQPAdministrator + */ +public class AMQPProvider implements Provider { + + /** + * The administration interface + */ + private AMQPAdministrator _admin = new AMQPAdministrator(); + + /** + * Construct an instance of the interface to the AMQP provider + */ + public AMQPProvider() { + } + + /** + * Initialises the administation interface + * + * @throws JMSException if the administration interface can't be + * initialised + */ + public void initialise(boolean start) throws JMSException { + _admin.initialise(); + } + + /** + * Returns the administration interface + */ + public Administrator getAdministrator() { + return _admin; + } + + /** + * This method cleans up the administrator + */ + public void cleanup(boolean stop) { + _admin.cleanup(); + _admin = null; + } + +} //-- AMQPProvider diff --git a/java/client/test/src/org/apache/qpid/destinationurl/DestinationURLTest.java b/java/client/test/src/org/apache/qpid/destinationurl/DestinationURLTest.java new file mode 100644 index 0000000000..8369fa9e75 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/destinationurl/DestinationURLTest.java @@ -0,0 +1,150 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.destinationurl; + +import org.junit.Test; +import org.junit.Assert; +import org.apache.qpid.url.AMQBindingURL; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.exchange.ExchangeDefaults; +import junit.framework.JUnit4TestAdapter; + +public class DestinationURLTest +{ + @Test + public void fullURL() throws URLSyntaxException + { + + String url = "exchange.Class://exchangeName/Destination/Queue"; + + AMQBindingURL dest = new AMQBindingURL(url); + + Assert.assertTrue(url.equals(dest.toString())); + + Assert.assertTrue(dest.getExchangeClass().equals("exchange.Class")); + Assert.assertTrue(dest.getExchangeName().equals("exchangeName")); + Assert.assertTrue(dest.getDestinationName().equals("Destination")); + Assert.assertTrue(dest.getQueueName().equals("Queue")); + } + + @Test + public void queue() throws URLSyntaxException + { + + String url = "exchangeClass://exchangeName//Queue"; + + AMQBindingURL dest = new AMQBindingURL(url); + + Assert.assertTrue(url.equals(dest.toString())); + + Assert.assertTrue(dest.getExchangeClass().equals("exchangeClass")); + Assert.assertTrue(dest.getExchangeName().equals("exchangeName")); + Assert.assertTrue(dest.getDestinationName().equals("")); + Assert.assertTrue(dest.getQueueName().equals("Queue")); + } + + @Test + public void queueWithOption() throws URLSyntaxException + { + + String url = "exchangeClass://exchangeName//Queue?option='value'"; + + AMQBindingURL dest = new AMQBindingURL(url); + + Assert.assertTrue(url.equals(dest.toString())); + + Assert.assertTrue(dest.getExchangeClass().equals("exchangeClass")); + Assert.assertTrue(dest.getExchangeName().equals("exchangeName")); + Assert.assertTrue(dest.getDestinationName().equals("")); + Assert.assertTrue(dest.getQueueName().equals("Queue")); + Assert.assertTrue(dest.getOption("option").equals("value")); + } + + + @Test + public void destination() throws URLSyntaxException + { + + String url = "exchangeClass://exchangeName/Destination/"; + + AMQBindingURL dest = new AMQBindingURL(url); + + Assert.assertTrue(url.equals(dest.toString())); + + Assert.assertTrue(dest.getExchangeClass().equals("exchangeClass")); + Assert.assertTrue(dest.getExchangeName().equals("exchangeName")); + Assert.assertTrue(dest.getDestinationName().equals("Destination")); + Assert.assertTrue(dest.getQueueName().equals("")); + } + + @Test + public void destinationWithOption() throws URLSyntaxException + { + + String url = "exchangeClass://exchangeName/Destination/?option='value'"; + + AMQBindingURL dest = new AMQBindingURL(url); + + Assert.assertTrue(url.equals(dest.toString())); + + Assert.assertTrue(dest.getExchangeClass().equals("exchangeClass")); + Assert.assertTrue(dest.getExchangeName().equals("exchangeName")); + Assert.assertTrue(dest.getDestinationName().equals("Destination")); + Assert.assertTrue(dest.getQueueName().equals("")); + + Assert.assertTrue(dest.getOption("option").equals("value")); + } + + @Test + public void destinationWithMultiOption() throws URLSyntaxException + { + + String url = "exchangeClass://exchangeName/Destination/?option='value',option2='value2'"; + + AMQBindingURL dest = new AMQBindingURL(url); + + Assert.assertTrue(dest.getExchangeClass().equals("exchangeClass")); + Assert.assertTrue(dest.getExchangeName().equals("exchangeName")); + Assert.assertTrue(dest.getDestinationName().equals("Destination")); + Assert.assertTrue(dest.getQueueName().equals("")); + + Assert.assertTrue(dest.getOption("option").equals("value")); + Assert.assertTrue(dest.getOption("option2").equals("value2")); + } + + @Test + public void destinationWithNoExchangeDefaultsToDirect() throws URLSyntaxException + { + + String url = "IBMPerfQueue1?durable='true'"; + + AMQBindingURL dest = new AMQBindingURL(url); + + Assert.assertTrue(dest.getExchangeClass().equals(ExchangeDefaults.DIRECT_EXCHANGE_CLASS)); + Assert.assertTrue(dest.getExchangeName().equals(ExchangeDefaults.DIRECT_EXCHANGE_NAME)); + Assert.assertTrue(dest.getDestinationName().equals("")); + Assert.assertTrue(dest.getQueueName().equals("IBMPerfQueue1")); + + Assert.assertTrue(dest.getOption("durable").equals("true")); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(DestinationURLTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/destinationurl/UnitTests.java b/java/client/test/src/org/apache/qpid/destinationurl/UnitTests.java new file mode 100644 index 0000000000..12760aef94 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/destinationurl/UnitTests.java @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.destinationurl; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.apache.qpid.ack.*; +import junit.framework.JUnit4TestAdapter; + +@RunWith(Suite.class) +@Suite.SuiteClasses({DestinationURLTest.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(org.apache.qpid.destinationurl.UnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/example/log4j.xml b/java/client/test/src/org/apache/qpid/example/log4j.xml new file mode 100644 index 0000000000..e537b1796d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/log4j.xml @@ -0,0 +1,42 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + <appender name="FileAppender" class="org.apache.log4j.FileAppender"> + <param name="File" value="ams_messaging.log"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/> + </layout> + </appender> + + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + <root> + <priority value="debug"/> + <appender-ref ref="STDOUT"/> + <appender-ref ref="FileAppender"/> + </root> +</log4j:configuration>
\ No newline at end of file diff --git a/java/client/test/src/org/apache/qpid/example/publisher/FileMessageDispatcher.java b/java/client/test/src/org/apache/qpid/example/publisher/FileMessageDispatcher.java new file mode 100644 index 0000000000..4dd58cf4a1 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/publisher/FileMessageDispatcher.java @@ -0,0 +1,142 @@ +package org.apache.qpid.example.publisher; + +import org.apache.log4j.Logger; +import java.util.Properties; +import java.io.File; + +import org.apache.qpid.example.shared.FileUtils; +import org.apache.qpid.example.shared.Statics; + +import javax.jms.JMSException; + +/** + * Class that sends message files to the Publisher to distribute + * using files as input + * Must set system properties for host etc or amend and use config props + * Author: Marnie McCormack + * Date: 20-Jul-2006 + * Time: 09:56:56 + * Copyright JPMorgan Chase 2006 + */ +public class FileMessageDispatcher { + + private static final Logger _logger = Logger.getLogger(FileMessageDispatcher.class); + + private static Publisher _publisher = null; + + private static final String DEFAULT_PUB_NAME = "Publisher"; + + public static void main(String[] args) + { + + //Check command line args ok - must provide a path or file for us to run + if (args.length == 0) + { + System.err.println("Usage: FileMessageDispatcher <filesToDispatch>" + ""); + } + else + { + try + { + //publish message(s) from file(s) and send message to monitor queue + publish(args[0]); + + //Move payload file(s) to archive location as no error + FileUtils.moveFileToNewDir(args[0], System.getProperties().getProperty(Statics.ARCHIVE_PATH)); + } + catch(Exception e) + { + System.err.println("Error trying to dispatch message: " + e); + System.exit(1); + } + finally + { + //clean up before exiting + if (getPublisher() != null) + { + getPublisher().cleanup(); + } + } + } + + if (_logger.isDebugEnabled()) + { + _logger.debug("Finished dispatching message"); + } + + System.exit(0); + } + + + //Publish files or file as message + public static void publish(String path) throws JMSException, MessageFactoryException + { + File tempFile = new File(path); + if (tempFile.isDirectory()) + { + //while more files in dir publish them + File[] files = tempFile.listFiles(); + + if (files == null || files.length == 0) + { + _logger.info("FileMessageDispatcher - No files to publish in input directory: " + tempFile); + } + else + { + for (File file : files) + { + //Create message factory passing in payload path + MessageFactory factory = new MessageFactory(getPublisher().getSession(), file.toString()); + + //Send the message generated from the payload using the _publisher + getPublisher().sendMessage(factory.createEventMessage()); + + } + } + } + else + { + //handle as single file + //Create message factory passing in payload path + MessageFactory factory = new MessageFactory(getPublisher().getSession(),tempFile.toString()); + + //Send the message generated from the payload using the _publisher + getPublisher().sendMessage(factory.createEventMessage()); + } + } + + //cleanup publishers + public static void cleanup() + { + if (getPublisher() != null) + { + getPublisher().cleanup(); + } + } + + /* + * Returns a _publisher for a queue + * Using system properties to get connection info for now + * Must set using -D the host, client, queue, user, pwd, virtual path, archive path + */ + private static Publisher getPublisher() + { + if (_publisher != null) + { + return _publisher; + } + + //Create _publisher using system properties + Properties props = System.getProperties(); + + //Create a _publisher using failover details + _publisher = new Publisher(props.getProperty(Statics.HOST_PROPERTY), + props.getProperty(Statics.CLIENT_PROPERTY), props.getProperty(Statics.QUEUE_PROPERTY), + props.getProperty(Statics.USER_PROPERTY), props.getProperty(Statics.PWD_PROPERTY), + props.getProperty(Statics.VIRTUAL_PATH_PROPERTY), props.getProperty(Statics.ARCHIVE_PATH)); + + _publisher.setName(DEFAULT_PUB_NAME); + return _publisher; + } + +} diff --git a/java/client/test/src/org/apache/qpid/example/publisher/MessageFactory.java b/java/client/test/src/org/apache/qpid/example/publisher/MessageFactory.java new file mode 100644 index 0000000000..ff40eddb03 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/publisher/MessageFactory.java @@ -0,0 +1,109 @@ +/** + * Class that creates messages from file payload + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 10:48:38 + * Copyright JPMorgan Chase 2006 + */ + +package org.apache.qpid.example.publisher; + +import org.apache.qpid.example.shared.FileUtils; +import org.apache.qpid.example.shared.Statics; + +import java.io.*; +import javax.jms.*; + +public class MessageFactory +{ + private final Session _session; + private final String _payload; + private final String _filename; + + public MessageFactory(Session session, String filename) throws MessageFactoryException + { + try + { + _filename = filename; + _payload = FileUtils.getFileContent(filename); + _session = session; + } + catch (IOException e) + { + throw new MessageFactoryException(e.toString()); + } + } + + /* + * Creates message and sets filename property on it + */ + public Message createEventMessage() throws JMSException + { + TextMessage msg = _session.createTextMessage(); + msg.setText(_payload); + msg.setStringProperty(Statics.FILENAME_PROPERTY,new File(_filename).getName()); + return msg; + } + + /* + * Creates message from a string for use by the monitor + */ + public static Message createSimpleEventMessage(Session session, String textMsg) throws JMSException + { + TextMessage msg = session.createTextMessage(); + msg.setText(textMsg); + return msg; + } + + public Message createShutdownMessage() throws JMSException + { + return _session.createTextMessage("SHUTDOWN"); + } + + public Message createReportRequestMessage() throws JMSException + { + return _session.createTextMessage("REPORT"); + } + + public Message createReportResponseMessage(String msg) throws JMSException + { + return _session.createTextMessage(msg); + } + + public boolean isShutdown(Message m) + { + return checkText(m, "SHUTDOWN"); + } + + public boolean isReport(Message m) + { + return checkText(m, "REPORT"); + } + + public Object getReport(Message m) + { + try + { + return ((TextMessage) m).getText(); + } + catch (JMSException e) + { + e.printStackTrace(System.out); + return e.toString(); + } + } + + private static boolean checkText(Message m, String s) + { + try + { + return m instanceof TextMessage && ((TextMessage) m).getText().equals(s); + } + catch (JMSException e) + { + e.printStackTrace(System.out); + return false; + } + } +} + diff --git a/java/client/test/src/org/apache/qpid/example/publisher/MessageFactoryException.java b/java/client/test/src/org/apache/qpid/example/publisher/MessageFactoryException.java new file mode 100644 index 0000000000..d0fb821700 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/publisher/MessageFactoryException.java @@ -0,0 +1,60 @@ +package org.apache.qpid.example.publisher; + +import org.apache.log4j.Logger; + +/** + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 11:13:23 + * Copyright JPMorgan Chase 2006 + */ +public class MessageFactoryException extends Exception { + + private int _errorCode; + + public MessageFactoryException(String message) + { + super(message); + } + + public MessageFactoryException(String msg, Throwable t) + { + super(msg, t); + } + + public MessageFactoryException(int errorCode, String msg, Throwable t) + { + super(msg + " [error code " + errorCode + ']', t); + _errorCode = errorCode; + } + + public MessageFactoryException(int errorCode, String msg) + { + super(msg + " [error code " + errorCode + ']'); + _errorCode = errorCode; + } + + public MessageFactoryException(Logger logger, String msg, Throwable t) + { + this(msg, t); + logger.error(getMessage(), this); + } + + public MessageFactoryException(Logger logger, String msg) + { + this(msg); + logger.error(getMessage(), this); + } + + public MessageFactoryException(Logger logger, int errorCode, String msg) + { + this(errorCode, msg); + logger.error(getMessage(), this); + } + + public int getErrorCode() + { + return _errorCode; + } +} + diff --git a/java/client/test/src/org/apache/qpid/example/publisher/MonitorMessageDispatcher.java b/java/client/test/src/org/apache/qpid/example/publisher/MonitorMessageDispatcher.java new file mode 100644 index 0000000000..9d56403cda --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/publisher/MonitorMessageDispatcher.java @@ -0,0 +1,116 @@ +package org.apache.qpid.example.publisher; + +import org.apache.log4j.Logger; +import org.apache.log4j.BasicConfigurator; +import org.apache.qpid.example.shared.Statics; +import javax.jms.*; +import java.util.Properties; + +/** + * Class that sends heartbeat messages to allow monitoring of message consumption + * Sends regular (currently 20 seconds apart) heartbeat message + * Author: Marnie McCormack + * Date: 20-Jul-2006 + * Time: 09:56:56 + * Copyright JPMorgan Chase 2006 + */ +public class MonitorMessageDispatcher { + + private static final Logger _logger = Logger.getLogger(MonitorMessageDispatcher.class); + + private static MonitorPublisher _monitorPublisher = null; + + private static final String DEFAULT_MONITOR_PUB_NAME = "MonitorPublisher"; + + public static void main(String[] args) + { + + //@TODO switch on logging appropriately at your app level + BasicConfigurator.configure(); + + try + { + while(true) + { + try + { + //endlessly publish messages to monitor queue + publish(); + + if (_logger.isDebugEnabled()) + { + _logger.debug("Dispatched monitor message"); + } + + //sleep for twenty seconds and then publish again - change if appropriate + Thread.sleep(20000); + } + catch(UndeliveredMessageException a) + { + //@TODO trigger application specific failure handling here + _logger.error("Problem delivering monitor message"); + break; + } + } + } + catch(Exception e) + { + + System.err.println("Error trying to dispatch AMS monitor message: " + e); + System.exit(1); + } + finally + { + if (getMonitorPublisher() != null) + { + getMonitorPublisher().cleanup(); + } + } + + System.exit(1); + } + + //Publish heartbeat message + public static void publish() throws JMSException, UndeliveredMessageException + { + //Send the message generated from the payload using the _publisher + getMonitorPublisher().sendImmediateMessage + (MessageFactory.createSimpleEventMessage(getMonitorPublisher().getSession(),"monitor:" +System.currentTimeMillis())); + } + + //cleanup publishers + public static void cleanup() + { + if (getMonitorPublisher() != null) + { + getMonitorPublisher().cleanup(); + } + + if (getMonitorPublisher() != null) + { + getMonitorPublisher().cleanup(); + } + } + + //Returns a _publisher for the monitor queue + private static MonitorPublisher getMonitorPublisher() + { + if (_monitorPublisher != null) + { + return _monitorPublisher; + } + + //Create _publisher using system properties + Properties props = System.getProperties(); + + //Create a _publisher using failover details and constant for monitor queue + _monitorPublisher = new MonitorPublisher(props.getProperty(Statics.HOST_PROPERTY), + props.getProperty(Statics.CLIENT_PROPERTY), Statics.MONITOR_QUEUE, + props.getProperty(Statics.USER_PROPERTY), props.getProperty(Statics.PWD_PROPERTY), + props.getProperty(Statics.VIRTUAL_PATH_PROPERTY), props.getProperty(Statics.ARCHIVE_PATH)); + + _monitorPublisher.setName(MonitorMessageDispatcher.DEFAULT_MONITOR_PUB_NAME); + return _monitorPublisher; + } + +} diff --git a/java/client/test/src/org/apache/qpid/example/publisher/MonitorPublisher.java b/java/client/test/src/org/apache/qpid/example/publisher/MonitorPublisher.java new file mode 100644 index 0000000000..4c1d884f5d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/publisher/MonitorPublisher.java @@ -0,0 +1,64 @@ +package org.apache.qpid.example.publisher; + +import javax.jms.Message; +import javax.jms.DeliveryMode; +import javax.jms.JMSException; +import org.apache.qpid.client.BasicMessageProducer; +import org.apache.log4j.Logger; + +/** + * Subclass of Publisher which uses QPID functionality to send a heartbeat message + * Note immediate flag not available via JMS MessageProducer + * Author: Marnie McCormack + * Date: 12-Sep-2006 + * Time: 09:41:07 + * Copyright JPMorgan Chase 2006 + */ +public class MonitorPublisher extends Publisher +{ + + private static final Logger _log = Logger.getLogger(Publisher.class); + + BasicMessageProducer _producer; + + public MonitorPublisher(String host, int port, String clientID, String queueName, + String user, String password, String virtualPath, String destinationDir) + { + super(host,port,clientID,queueName,user,password,virtualPath,destinationDir); + } + + public MonitorPublisher(String hostdetails, String clientID, String queueName, + String user, String password, String virtualPath, String destinationDir) + { + super(hostdetails,clientID,queueName,user,password,virtualPath,destinationDir); + } + + /* + * Publishes a non-persistent message using transacted session + */ + public boolean sendImmediateMessage(Message message) throws UndeliveredMessageException + { + try + { + _producer = (BasicMessageProducer)_session.createProducer(_destination); + + //Send message via our producer which is not persistent and is immediate + //NB: not available via jms interface MessageProducer + _producer.send(message, DeliveryMode.NON_PERSISTENT, true); + + //commit the message send and close the transaction + _session.commit(); + + } + catch (JMSException e) + { + //Have to assume our commit failed but do not rollback here as channel closed + _log.error(e); + e.printStackTrace(); + throw new UndeliveredMessageException("Cannot deliver immediate message",e); + } + + _log.info(_name + " finished sending message: " + message); + return true; + } +} diff --git a/java/client/test/src/org/apache/qpid/example/publisher/Publisher.java b/java/client/test/src/org/apache/qpid/example/publisher/Publisher.java new file mode 100644 index 0000000000..a2d9e5bdf6 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/publisher/Publisher.java @@ -0,0 +1,213 @@ +/* + * Class that publishes to an AMQ message queue + * Author: Marnie McCormack + * + */ +package org.apache.qpid.example.publisher; + +import org.apache.log4j.Logger; + +import org.apache.qpid.client.AMQConnection; + +import org.apache.qpid.jms.Session; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.DeliveryMode; +import javax.jms.Queue; +import javax.jms.MessageProducer; +import javax.jms.Connection; + + +import org.apache.qpid.example.shared.ConnectionException; +import org.apache.qpid.example.shared.Statics; + +public class Publisher +{ + private static final Logger _log = Logger.getLogger(Publisher.class); + + protected Connection _connection; + + protected Session _session; + + private MessageProducer _producer; + + protected String _destinationDir; + + protected String _name = "Publisher"; + + protected Queue _destination; + + //constructor for use with a single host + public Publisher(String host, int port, String clientID, String queueName, + String user, String password, String virtualPath, String destinationDir) + { + try + { + createConnection(host, port, clientID, user, password, virtualPath); + + //create a transactional session + _session = (Session) _connection.createSession(true, Session.AUTO_ACKNOWLEDGE); + + //now using a queue rather than a topic + //AMQTopic destination = new AMQTopic(topicName); + //Queue is non-exclusive and not deleted when last consumer detaches + _destination = _session.createQueue(queueName); + + //create a message producer + _producer = _session.createProducer(_destination); + + //set destination dir for files that have been processed + _destinationDir = destinationDir; + + _connection.start(); + } + catch (Exception e) + { + e.printStackTrace(); + _log.error(e); + } + } + + //constructor that allows for multiple host details to be provided for failover + public Publisher(String hostdetails, String clientID, String queueName, + String user, String password, String virtualPath, String destinationDir) + { + try + { + if (queueName==null||queueName.length()==0) + { + queueName = Statics.QUEUE_NAME; + } + createConnectionWithFailover(hostdetails, clientID, user, password, virtualPath); + + //create a transactional session + _session = (Session) _connection.createSession(true, Session.AUTO_ACKNOWLEDGE); + + //now using a queue rather than a topic + //AMQTopic destination = new AMQTopic(topicName); + //Queue is non-exclusive and not deleted when last consumer detaches + _destination = _session.createQueue(queueName); + + //create a message producer + _producer = _session.createProducer(_destination); + + //set destination dir for files that have been processed + _destinationDir = destinationDir; + + _connection.start(); + } + catch (Exception e) + { + e.printStackTrace(); + _log.error(e); + } + } + + /* + * Publishes a non-persistent message using transacted session + */ + public boolean sendMessage(Message message) + { + try + { + //Send message via our producer which is not persistent + _producer.send(message, DeliveryMode.NON_PERSISTENT, _producer.getPriority(), _producer.getTimeToLive()); + + //commit the message send and close the transaction + _session.commit(); + + } + catch (JMSException e) + { + //Have to assume our commit failed and rollback here + try + { + _session.rollback(); + _log.error(e); + e.printStackTrace(); + return false; + } + catch (JMSException j) + { + _log.error("Unable to rollback publish transaction ",e); + return false; + } + } + + _log.info(_name + " finished sending message: " + message); + return true; + } + + public void cleanup() + { + try + { + if (_connection != null) + { + _connection.stop(); + _connection.close(); + } + _connection = null; + _producer = null; + } + catch(Exception e) + { + System.err.println("Error trying to cleanup publisher " + e); + System.exit(1); + } + } + + public Session getSession() + { + return _session; + } + + public String getDestinationDir() + { + return _destinationDir; + } + + public void setDestinationDir(String destinationDir) + { + _destinationDir = destinationDir; + } + + //ONly using one set of host details + private void createConnection(String host, int port, String clientID, String user, String password, String virtualPath) + throws ConnectionException + { + try + { + _connection = new AMQConnection(host, port, user, password, clientID, virtualPath); + } + catch (Exception e) + { + throw new ConnectionException(e.toString()); + } + } + + //Create connection with more than one set of host details for failover + private void createConnectionWithFailover(String hostdetails, String clientID, String user, String password, String virtualPath) + throws ConnectionException + { + try + { + _connection = new AMQConnection(hostdetails, user, password, clientID, virtualPath); + } + catch (Exception e) + { + throw new ConnectionException(e.toString()); + } + } + + public String getName() + { + return _name; + } + + public void setName(String _name) { + this._name = _name; + } +} + diff --git a/java/client/test/src/org/apache/qpid/example/publisher/UndeliveredMessageException.java b/java/client/test/src/org/apache/qpid/example/publisher/UndeliveredMessageException.java new file mode 100644 index 0000000000..921e5f4855 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/publisher/UndeliveredMessageException.java @@ -0,0 +1,60 @@ +package org.apache.qpid.example.publisher; + +import org.apache.log4j.Logger; + +/** + * Exception thrown by monitor when cannot send a message marked for immediate delivery + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 11:13:23 + * Copyright JPMorgan Chase 2006 + */ +public class UndeliveredMessageException extends Exception { + + private int _errorCode; + + public UndeliveredMessageException(String message) + { + super(message); + } + + public UndeliveredMessageException(String msg, Throwable t) + { + super(msg, t); + } + + public UndeliveredMessageException(int errorCode, String msg, Throwable t) + { + super(msg + " [error code " + errorCode + ']', t); + _errorCode = errorCode; + } + + public UndeliveredMessageException(int errorCode, String msg) + { + super(msg + " [error code " + errorCode + ']'); + _errorCode = errorCode; + } + + public UndeliveredMessageException(Logger logger, String msg, Throwable t) + { + this(msg, t); + logger.error(getMessage(), this); + } + + public UndeliveredMessageException(Logger logger, String msg) + { + this(msg); + logger.error(getMessage(), this); + } + + public UndeliveredMessageException(Logger logger, int errorCode, String msg) + { + this(errorCode, msg); + logger.error(getMessage(), this); + } + + public int getErrorCode() + { + return _errorCode; + } +} diff --git a/java/client/test/src/org/apache/qpid/example/shared/ConnectionException.java b/java/client/test/src/org/apache/qpid/example/shared/ConnectionException.java new file mode 100644 index 0000000000..0ce08fd59d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/shared/ConnectionException.java @@ -0,0 +1,59 @@ +package org.apache.qpid.example.shared; + +import org.apache.log4j.Logger; + +/** + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 11:13:23 + * Copyright JPMorgan Chase 2006 + */ +public class ConnectionException extends Exception { + + private int _errorCode; + + public ConnectionException(String message) + { + super(message); + } + + public ConnectionException(String msg, Throwable t) + { + super(msg, t); + } + + public ConnectionException(int errorCode, String msg, Throwable t) + { + super(msg + " [error code " + errorCode + ']', t); + _errorCode = errorCode; + } + + public ConnectionException(int errorCode, String msg) + { + super(msg + " [error code " + errorCode + ']'); + _errorCode = errorCode; + } + + public ConnectionException(Logger logger, String msg, Throwable t) + { + this(msg, t); + logger.error(getMessage(), this); + } + + public ConnectionException(Logger logger, String msg) + { + this(msg); + logger.error(getMessage(), this); + } + + public ConnectionException(Logger logger, int errorCode, String msg) + { + this(errorCode, msg); + logger.error(getMessage(), this); + } + + public int getErrorCode() + { + return _errorCode; + } +} diff --git a/java/client/test/src/org/apache/qpid/example/shared/FileUtils.java b/java/client/test/src/org/apache/qpid/example/shared/FileUtils.java new file mode 100644 index 0000000000..6f33727194 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/shared/FileUtils.java @@ -0,0 +1,154 @@ +package org.apache.qpid.example.shared; + +import java.io.*; + +/** + * Class that provides file related utility methods for utility use + * Author: Marnie McCormack + * Date: 20-Jul-2006 + * Time: 08:17:16 + * Copyright JPMorgan Chase 2006 + */ +public class FileUtils { + + + //Reads file content into String + public static String getFileContent(String filePath) throws IOException + { + + BufferedReader reader = null; + String tempData = ""; + String eol = "\n\r"; + + try + { + String line; + reader = new BufferedReader(new FileReader(filePath)); + while ((line = reader.readLine()) != null) + { + if (!tempData.equals("")) + { + tempData = tempData + eol + line; + } + else + { + tempData = line; + } + } + } + finally + { + if (reader != null) + { + reader.close(); + } + } + return tempData; + } + + /* + * Reads xml from a file and returns it as an array of chars + */ + public static char[] getFileAsCharArray(String filePath) throws IOException + { + BufferedReader reader = null; + char[] tempChars = null; + String tempData = ""; + + try + { + String line; + reader = new BufferedReader(new FileReader(filePath)); + while ((line = reader.readLine()) != null) + { + tempData = tempData + line; + } + tempChars = tempData.toCharArray(); + } + finally + { + if (reader != null) + { + reader.close(); + } + } + return tempChars; + } + + /* + * Write String content to filename provided + */ + public static void writeStringToFile(String content, String path) throws IOException + { + + BufferedWriter writer = new BufferedWriter(new FileWriter(new File(path))); + writer.write(content); + writer.flush(); + writer.close(); + } + + /* + * Allows moving of files to a new dir and preserves the last bit of the name only + */ + public static void moveFileToNewDir(String path, String newDir) throws IOException + { + //get file name from current path + //while more files in dir publish them + File pathFile = new File(path); + if (pathFile.isDirectory()) + { + File[] files = pathFile.listFiles(); + for (File file : files) + { + moveFileToNewDir(file,newDir); + } + } + } + + /* + * Allows moving of a file to a new dir and preserves the last bit of the name only + */ + public static void moveFileToNewDir(File fileToMove, String newDir) throws IOException + { + moveFile(fileToMove,getArchiveFileName(fileToMove,newDir)); + } + + /* + * Moves file from a given path to a new path with String params + */ + public static void moveFile(String fromPath, String dest) throws IOException + { + moveFile(new File(fromPath),new File(dest)); + } + + /* + * Moves file from a given path to a new path with mixed params + */ + public static void moveFile(File fileToMove, String dest) throws IOException + { + moveFile(fileToMove,new File(dest)); + } + + /* + * Moves file from a given path to a new path with File params + */ + public static void moveFile(File fileToMove, File dest) throws IOException + { + fileToMove.renameTo(dest); + } + + /* + * Deletes a given file + */ + public static void deleteFile(String filePath) throws IOException + { + new File(filePath).delete(); + } + + private static String getArchiveFileName(File fileToMove, String archiveDir) + { + //get file name from current path + String fileName = fileToMove.getName(); + return archiveDir + File.separator + fileName; + } +} diff --git a/java/client/test/src/org/apache/qpid/example/shared/Statics.java b/java/client/test/src/org/apache/qpid/example/shared/Statics.java new file mode 100644 index 0000000000..e945c743be --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/shared/Statics.java @@ -0,0 +1,42 @@ +package org.apache.qpid.example.shared; + +/** + * Constants used by AMS Publisher/Subscriber classes + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 09:19:33 + */ +public class Statics { + + public static final String TOPIC_NAME = "EXAMPLE_TOPIC"; + + public static final String QUEUE_NAME = "EXAMPLE_QUEUE"; + + public static final String MONITOR_QUEUE = "MONITOR_QUEUE"; + + public static final String HOST_PROPERTY = "host"; + + public static final String PORT_PROPERTY = "port"; + + public static final String USER_PROPERTY = "user"; + + public static final String PWD_PROPERTY = "pwd"; + + public static final String TOPIC_PROPERTY = "topic"; + + public static final String QUEUE_PROPERTY = "queue"; + + public static final String VIRTUAL_PATH_PROPERTY = "virtualpath"; + + public static final String ARCHIVE_PATH = "archivepath"; + + public static final String CLIENT_PROPERTY = "client"; + + public static final String FILENAME_PROPERTY = "filename"; + + public static final String DEFAULT_USER = "guest"; + + public static final String DEFAULT_PWD = "guest"; + + +} diff --git a/java/client/test/src/org/apache/qpid/example/subscriber/MonitoredSubscriber.java b/java/client/test/src/org/apache/qpid/example/subscriber/MonitoredSubscriber.java new file mode 100644 index 0000000000..37a8dbeca8 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/subscriber/MonitoredSubscriber.java @@ -0,0 +1,120 @@ +package org.apache.qpid.example.subscriber; + +import org.apache.log4j.Logger; +import org.apache.qpid.example.shared.Statics; + +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.JMSException; +import javax.jms.Queue; + +/** + * Subclass of Subscriber which consumes a heartbeat message + * Author: Marnie McCormack + * Date: 12-Sep-2006 + * Time: 09:41:07 + * Copyright JPMorgan Chase 2006 + */ + +public class MonitoredSubscriber extends Subscriber +{ + private static final Logger _logger = Logger.getLogger(MonitoredSubscriber.class); + + private static MessageConsumer _monitorConsumer; + + public static class MonitorMessageListener implements MessageListener + { + private String _name; + + public MonitorMessageListener(String name) + { + _name = name; + + } + + /* + * Listens for heartbeat messages and acknowledges them + */ + public void onMessage(javax.jms.Message message) + { + _logger.info(_name + " monitor got message '" + message + "'"); + + try + { + _logger.debug("Monitor acknowledging recieved message"); + + //Now acknowledge the message to clear it from our queue + message.acknowledge(); + } + catch(JMSException j) + { + _logger.error("Monitor caught JMSException trying to acknowledge message receipt"); + j.printStackTrace(); + } + catch(Exception e) + { + _logger.error("Monitor caught unexpected exception trying to handle message"); + e.printStackTrace(); + } + } + } + + /* + * Subscribes to Queue and attaches additional monitor listener + * @param hostdetails - for broker connection in host1:port1;host2:port2 format + * @param username - for connection to the broker + * @password - for connection to the broker + * @virtualpath + */ + public void subscribeAndMonitor(String hostdetails, String username, String password, + String virtualPath, String queueName) + { + Queue queue; + + try + { + //Create monitor comsumer for failover purposes + if (queueName==null||queueName.length()==0) + { + queue = getSession(_connection).createQueue(Statics.QUEUE_NAME); + } + else + { + queue = getSession(_connection).createQueue(queueName); + } + + _monitorConsumer = getSession(_connection).createConsumer(queue); + + //give the monitor message listener a name of it's own + _monitorConsumer.setMessageListener(new MonitoredSubscriber.MonitorMessageListener("MonitorListener " + System.currentTimeMillis())); + + MonitoredSubscriber._logger.info("Starting monitored subscription ..."); + + MonitoredSubscriber._connection.start(); + + //and now start ordinary consumption too + subscribe(hostdetails,username,password,virtualPath,queueName); + } + catch (Throwable t) + { + _logger.error("Fatal error: " + t); + t.printStackTrace(); + } + } + + //stop consuming + public void stopMonitor() + { + try + { + _monitorConsumer.close(); + _monitorConsumer = null; + stop(); + } + catch(JMSException j) + { + _logger.error("JMSException trying to Subscriber.stop: " + j.getStackTrace()); + } + } + +} diff --git a/java/client/test/src/org/apache/qpid/example/subscriber/MonitoredSubscriptionWrapper.java b/java/client/test/src/org/apache/qpid/example/subscriber/MonitoredSubscriptionWrapper.java new file mode 100644 index 0000000000..719e7441cc --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/subscriber/MonitoredSubscriptionWrapper.java @@ -0,0 +1,41 @@ +package org.apache.qpid.example.subscriber; + +import org.apache.log4j.BasicConfigurator; +import org.apache.qpid.example.shared.Statics; + +import java.util.Properties; + +/** + * Allows you to simply start a monitored subscriber + * Author: Marnie McCormack + * Date: 08-Aug-2006 + * Time: 12:05:52 + * Copyright JPMorgan Chase 2006 + */ +public class MonitoredSubscriptionWrapper { + + private static MonitoredSubscriber _subscriber; + + public static void main(String args[]) + { + //switch on logging + BasicConfigurator.configure(); + + _subscriber = new MonitoredSubscriber(); + + //using system props but can replace with app appropriate config here + Properties props = System.getProperties(); + + //note that for failover should set -Dhost=host1:port1;host2:port2 + //Client will then failover in order i.e. connect to first host and failover to second and so on + _subscriber.subscribe(props.getProperty(Statics.HOST_PROPERTY), + props.getProperty(Statics.USER_PROPERTY), props.getProperty(Statics.PWD_PROPERTY), + props.getProperty(Statics.VIRTUAL_PATH_PROPERTY), props.getProperty(Statics.QUEUE_NAME)); + } + + //Stop subscribing now ... + public static void stop() + { + _subscriber.stop(); + } +} diff --git a/java/client/test/src/org/apache/qpid/example/subscriber/Subscriber.java b/java/client/test/src/org/apache/qpid/example/subscriber/Subscriber.java new file mode 100644 index 0000000000..710192f291 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/subscriber/Subscriber.java @@ -0,0 +1,210 @@ +package org.apache.qpid.example.subscriber; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; + +import javax.jms.*; + +import org.apache.qpid.example.shared.Statics; +import org.apache.qpid.example.shared.ConnectionException; + +import java.net.InetAddress; + +/** + * Subscriber which consumes messages from a queue + * Author: Marnie McCormack + * Date: 12-Sep-2006 + * Time: 09:41:07 + * Copyright JPMorgan Chase 2006 + */ + +public class Subscriber +{ + private static final Logger _logger = Logger.getLogger(Subscriber.class); + + protected static Connection _connection; + + protected static MessageConsumer _consumer; + + protected static Session _session; + + + + /* + * Listener class that handles messages + */ + public static class AMSMessageListener implements MessageListener + { + private String _name; + + public AMSMessageListener(String name) + { + _name = name; + + } + + /* + * Listens for message callbacks, handles and then acknowledges them + * @param message - the message received + */ + public void onMessage(javax.jms.Message message) + { + _logger.info(_name + " got message '" + message + "'"); + + try + { + //@TODO handle your message appropriately for your application here ? + + _logger.debug("Acknowledging recieved message"); + + //Now acknowledge the message to clear it from our queue + message.acknowledge(); + } + catch(JMSException j) + { + _logger.error("JMSException trying to acknowledge message receipt"); + j.printStackTrace(); + } + catch(Exception e) + { + _logger.error("Unexpected exception trying to handle message"); + e.printStackTrace(); + } + } + } + + /* + * Subscribes to AMS Queue and attaches listener + * @param hostdetails - for broker connection in host1:port1;host2:port2 format + * @param username - for connection to the broker + * @password - for connection to the broker + * @virtualpath + */ + public void subscribe(String hostdetails, String username, String password, + String virtualPath, String queue) + { + Queue q; + + _logger.info("Starting subscription ..."); + + + try + { + //To enable failover simply specify more than one host:port combination for hostdetails + //Format is host1:port1;host2:port2 + _connection = getConnectionWithFailover(hostdetails,username,password,virtualPath); + + //Default to a queue with a default name if queue is null - replace with your own name from config etc + if (queue==null || queue.length()==0) + { + q = getSession(_connection).createQueue(Statics.QUEUE_NAME); + } + else + { + q = getSession(_connection).createQueue(queue); + } + + //Create a consumer with a destination of our queue which will use defaults for prefetch etc + _consumer = getSession(_connection).createConsumer(q); + + //give the message listener a name of it's own + _consumer.setMessageListener(new AMSMessageListener("MessageListener " + System.currentTimeMillis())); + + _connection.start(); + } + catch (Throwable t) + { + _logger.error("Fatal error: " + t); + t.printStackTrace(); + } + + _logger.info("Waiting for messages ..."); + + //wait for messages and sleep to survive failover + try + { + while(true) + { + Thread.sleep(Long.MAX_VALUE); + } + } + catch (Exception e) + { + _logger.warn("Exception while Subscriber sleeping",e); + } + } + + /* + * stop consuming and close connection + */ + public void stop() + { + try + { + _consumer.close(); + _consumer = null; + _connection.stop(); + _connection.close(); + } + catch(JMSException j) + { + _logger.error("JMSException trying to Subscriber.stop: " + j.getStackTrace()); + } + } + + /* + * Get a connection for our broker with failover by providing an array of hostdetails + * @param hostdetails - a delimited string of host1:port1;host2:port2 style connection details + * @param username - for connection to the broker + * @password - for connection to the broker + * @virtualpath + */ + protected Connection getConnectionWithFailover(String hostdetails, String username, String password, + String virtualPath) throws ConnectionException + { + if (_connection == null) + { + try + { + _connection = new AMQConnection(hostdetails,username,password,InetAddress.getLocalHost().getHostName(),virtualPath); + + //To use a url to get your connection create a string in this format and then get a connection with it + //String myurl = "amqp://guest:guest@/temp?brokerlist='tcp://localhost:5672',failover='roundrobin'"; + //_connection = new AMQConnectionFactory(url).createConnection(); + + return _connection; + } + catch (Exception e) + { + throw new ConnectionException(e.toString()); + } + } + else + { + return _connection; + } + } + + /* + * Creates a non-transacted session for consuming messages + * Using client acknowledge mode means messages removed from queue only once ack'd + * @param connection - to the broker + */ + protected Session getSession(Connection connection) throws JMSException + { + if (_session == null) + { + _session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE); + return _session; + } + else + { + return _session; + } + } + +} + + + + diff --git a/java/client/test/src/org/apache/qpid/example/subscriber/SubscriptionWrapper.java b/java/client/test/src/org/apache/qpid/example/subscriber/SubscriptionWrapper.java new file mode 100644 index 0000000000..bc0363be2a --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/subscriber/SubscriptionWrapper.java @@ -0,0 +1,42 @@ +package org.apache.qpid.example.subscriber; + +import org.apache.qpid.example.shared.Statics; + +import java.util.Properties; + +import org.apache.log4j.BasicConfigurator; + +/** + * Allows you to simply start a subscriber + * Author: Marnie McCormack + * Date: 08-Aug-2006 + * Time: 12:05:52 + * Copyright JPMorgan Chase 2006 + */ +public class SubscriptionWrapper { + + private static Subscriber _subscriber; + + public static void main(String args[]) + { + //switch on logging + BasicConfigurator.configure(); + + _subscriber = new Subscriber(); + + //using system props but can replace with app appropriate config here + Properties props = System.getProperties(); + + //note that for failover should set -Dhost=host1:port1;host2:port2 + //Client will then failover in order i.e. connect to first host and failover to second and so on + _subscriber.subscribe(props.getProperty(Statics.HOST_PROPERTY), + props.getProperty(Statics.USER_PROPERTY), props.getProperty(Statics.PWD_PROPERTY), + props.getProperty(Statics.VIRTUAL_PATH_PROPERTY), props.getProperty(Statics.QUEUE_PROPERTY)); + } + + //Stop subscribing now ... + public static void stop() + { + _subscriber.stop(); + } +} diff --git a/java/client/test/src/org/apache/qpid/example/test/TestAMSPubSub.java b/java/client/test/src/org/apache/qpid/example/test/TestAMSPubSub.java new file mode 100644 index 0000000000..1364c7b849 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/test/TestAMSPubSub.java @@ -0,0 +1,95 @@ +/** + * Class that uses an input file for message content and doesn't archive it up after passing + * to the AMS publisher + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 14:54:31 + * Copyright JPMorgan Chase 2006 + */ +package org.apache.qpid.example.test; + +import org.apache.qpid.example.subscriber.Subscriber; +import org.apache.qpid.example.publisher.FileMessageDispatcher; +import org.apache.qpid.example.shared.Statics; + +import java.net.InetAddress; +import java.util.Properties; + +import org.apache.log4j.Logger; +import org.apache.log4j.BasicConfigurator; + + +public class TestAMSPubSub { + + private static final Logger _logger = Logger.getLogger(TestAMSPubSub.class); + private static final String _defaultPayloadPath = "C:/Requirements/examplexml/test.xml"; + + private static Subscriber subscriber; + + private static final String DEFAULT_LOG_CONFIG_FILENAME = "log4j.xml"; + + /** + * Test main for class using default of local file for message payload + */ + public static void main(String[] args) + { + + //switch on logging + BasicConfigurator.configure(); + + InetAddress _address; + TestAMSPubSub testPubSub = new TestAMSPubSub(); + + //create publisher and subscriber + subscriber = new Subscriber(); + + //subscribe to the topic + testPubSub.subscribe(args); + + //publish a message + if (args.length == 1) + { + testPubSub.publish(args[0]); + } + else + { + testPubSub.publish(null); + } + + //Should be able to see message publication and receipt in logs now + + //Disconnect and end test run + FileMessageDispatcher.cleanup(); + + //and exit as we're all done + System.exit(0); + + } + + private void subscribe(String[] args) + { + Properties props = System.getProperties(); + subscriber.subscribe(props.getProperty(Statics.HOST_PROPERTY), + props.getProperty(Statics.USER_PROPERTY), props.getProperty(Statics.PWD_PROPERTY), + props.getProperty(Statics.VIRTUAL_PATH_PROPERTY),props.getProperty(Statics.QUEUE_PROPERTY)); + } + + private void publish(String payloadPath) + { + + try + { + if (payloadPath == null|| payloadPath.length() == 0) + { + payloadPath = _defaultPayloadPath; + } + + FileMessageDispatcher.publish(payloadPath); + + } + catch (Exception e) + { + e.printStackTrace(); + } + } +} diff --git a/java/client/test/src/org/apache/qpid/example/test/TestMultSubscribers.java b/java/client/test/src/org/apache/qpid/example/test/TestMultSubscribers.java new file mode 100644 index 0000000000..a1af923e12 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/test/TestMultSubscribers.java @@ -0,0 +1,105 @@ +/** + * Class that uses an input file for message content and doesn't archive it up after passing + * to the AMS publisher + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 14:54:31 + * Copyright JPMorgan Chase 2006 + */ +package org.apache.qpid.example.test; + +import org.apache.qpid.example.subscriber.Subscriber; +import org.apache.qpid.example.publisher.FileMessageDispatcher; +import org.apache.qpid.example.shared.Statics; + +import java.net.InetAddress; +import java.util.Properties; + +import org.apache.log4j.Logger; +import org.apache.log4j.BasicConfigurator; + + +public class TestMultSubscribers { + + private static final Logger _logger = Logger.getLogger(TestMultSubscribers.class); + private static final String _defaultPayloadPath = "C:/Requirements/examplexml/test.xml"; + + private static Subscriber subscriber1; + private static Subscriber subscriber2; + + private static final String DEFAULT_LOG_CONFIG_FILENAME = "log4j.xml"; + + /** + * Test main for class using default of local file for message payload + */ + public static void main(String[] args) + { + + //switch on logging + BasicConfigurator.configure(); + + InetAddress _address; + TestMultSubscribers testMultSub = new TestMultSubscribers(); + + //create publisher and subscriber + subscriber1 = new Subscriber(); + subscriber2 = new Subscriber(); + + //subscribe to the topic + testMultSub.subscribe(args); + + //publish a message + if (args.length == 1) + { + testMultSub.publish(args[0]); + } + else + { + testMultSub.publish(null); + } + + //Should be able to see message publication and receipt in logs now + + //Disconnect and end test run + FileMessageDispatcher.cleanup(); + + //and exit as we're all done + System.exit(0); + + } + + /* + * Point both of our subscribers at one queue + */ + private void subscribe(String[] args) + { + Properties props = System.getProperties(); + subscriber1.subscribe(props.getProperty(Statics.HOST_PROPERTY), + props.getProperty(Statics.USER_PROPERTY), props.getProperty(Statics.PWD_PROPERTY), + props.getProperty(Statics.VIRTUAL_PATH_PROPERTY),props.getProperty(Statics.QUEUE_PROPERTY)); + subscriber2.subscribe(props.getProperty(Statics.HOST_PROPERTY), + props.getProperty(Statics.USER_PROPERTY), props.getProperty(Statics.PWD_PROPERTY), + props.getProperty(Statics.VIRTUAL_PATH_PROPERTY),props.getProperty(Statics.QUEUE_PROPERTY)); + + } + + private void publish(String payloadPath) + { + + try + { + if (payloadPath == null|| payloadPath.length() == 0) + { + payloadPath = _defaultPayloadPath; + } + + FileMessageDispatcher.publish(payloadPath); + + } + catch (Exception e) + { + e.printStackTrace(); + } + } +} + diff --git a/java/client/test/src/org/apache/qpid/example/test/TestPublisher.java b/java/client/test/src/org/apache/qpid/example/test/TestPublisher.java new file mode 100644 index 0000000000..aa6a54cb0e --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/test/TestPublisher.java @@ -0,0 +1,76 @@ +/** + * Class that uses an input file for message content to publish and doesn't archive it + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 14:54:31 + * Copyright JPMorgan Chase 2006 + */ +package org.apache.qpid.example.test; + +import org.apache.qpid.example.publisher.FileMessageDispatcher; + +import java.net.InetAddress; + +import org.apache.log4j.Logger; +import org.apache.log4j.BasicConfigurator; + + +public class TestPublisher { + + private static final Logger _logger = Logger.getLogger(TestAMSPubSub.class); + private static final String _defaultPayloadPath = "C:/Requirements/examplexml/test.xml"; + + private static final String DEFAULT_LOG_CONFIG_FILENAME = "log4j.xml"; + + /** + * Test main for class using default of local file for message payload + */ + public static void main(String[] args) + { + + //switch on logging + BasicConfigurator.configure(); + + InetAddress _address; + TestPublisher testPub = new TestPublisher(); + + //publish a message + if (args.length == 1) + { + testPub.publish(args[0]); + } + else + { + testPub.publish(null); + } + + //Should be able to see message publication and receipt in logs now + + //Disconnect and end test run + FileMessageDispatcher.cleanup(); + + //and exit as we're all done + System.exit(0); + + } + + private void publish(String payloadPath) + { + + try + { + if (payloadPath == null|| payloadPath.length() == 0) + { + payloadPath = _defaultPayloadPath; + } + + FileMessageDispatcher.publish(payloadPath); + + } + catch (Exception e) + { + e.printStackTrace(); + } + } +} + diff --git a/java/client/test/src/org/apache/qpid/example/test/TestSubscriber.java b/java/client/test/src/org/apache/qpid/example/test/TestSubscriber.java new file mode 100644 index 0000000000..01c02fe5e4 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/example/test/TestSubscriber.java @@ -0,0 +1,60 @@ +/** + * Class that uses an input file for message content and doesn't archive it up after passing + * to the AMS publisher + * Author: Marnie McCormack + * Date: 18-Jul-2006 + * Time: 14:54:31 + * Copyright JPMorgan Chase 2006 + */ +package org.apache.qpid.example.test; + +import org.apache.qpid.example.subscriber.Subscriber; +import org.apache.qpid.example.shared.Statics; + +import java.util.Properties; + +import org.apache.log4j.Logger; +import org.apache.log4j.BasicConfigurator; + + +public class TestSubscriber { + + private static final Logger _logger = Logger.getLogger(TestSubscriber.class); + private static final String _defaultPayloadPath = "C:/Requirements/examplexml/test.xml"; + + private static Subscriber subscriber; + + private static final String DEFAULT_LOG_CONFIG_FILENAME = "log4j.xml"; + + /** + * Test main for class using default of local file for message payload + */ + public static void main(String[] args) + { + + //switch on logging + BasicConfigurator.configure(); + + TestSubscriber testSub = new TestSubscriber(); + + //create publisher and subscriber + subscriber = new Subscriber(); + + //subscribe to the topic + testSub.subscribe(args); + + //and exit as we're all done + //System.exit(0); + + } + + private void subscribe(String[] args) + { + Properties props = System.getProperties(); + subscriber.subscribe(props.getProperty(Statics.HOST_PROPERTY), + props.getProperty(Statics.USER_PROPERTY), props.getProperty(Statics.PWD_PROPERTY), + props.getProperty(Statics.VIRTUAL_PATH_PROPERTY), props.getProperty(Statics.QUEUE_PROPERTY)); + } + +} + diff --git a/java/client/test/src/org/apache/qpid/failover/FailoverMultiMethodTest.java b/java/client/test/src/org/apache/qpid/failover/FailoverMultiMethodTest.java new file mode 100644 index 0000000000..b9f4c1c0dc --- /dev/null +++ b/java/client/test/src/org/apache/qpid/failover/FailoverMultiMethodTest.java @@ -0,0 +1,258 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.failover; + +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQConnectionURL; +import org.apache.qpid.jms.ConnectionListener; +import org.apache.qpid.jms.ConnectionURL; + +import javax.jms.*; +import java.util.Timer; +import java.util.TimerTask; + +public class FailoverMultiMethodTest implements MessageListener, ConnectionListener +{ + private static final long TIMEOUT = 10000; + private static final long INTERVAL = 5000; + private final Timer _timer = new Timer(true); + private final Connection _connection; + private final Session _session; + private final MessageProducer _producer; + private Timeout _timeout; + private int _count; + + FailoverMultiMethodTest(String connectionString) throws JMSException, AMQException, URLSyntaxException + { + // Parse the incomming broker strings + + ConnectionURL connection = new AMQConnectionURL(connectionString); + + /* + if (!(connection.getBrokerCount() > 0)) + { + throw new IllegalArgumentException("BrokerDetails details must specify at least one broker"); + } + + // Create a FailoverMethod. In this case a SingleServer Method + // This Method will retry the given server once before failing. + FailoverMethod singleMethod = new FailoverSingleServer(connection); + + // Create the policy with the Failover Method + FailoverPolicy policy = new FailoverPolicy(singleMethod); + + // Create a new method that will Cycle through all servers using the default values. + FailoverMethod cycleMethod = new FailoverRoundRobinServers(connection); + + // Set the retry per server to 1 + cycleMethod.setRetries(1); + + // Add the failover method to the policy. + policy.addMethod(cycleMethod); + + policy.setMethodRetries(1); + */ + + _connection = new AMQConnection(connection); + + + ((AMQConnection) _connection).setConnectionListener(this); + + _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + Topic topic = _session.createTopic("BLZ-24"); + Queue queue = _session.createTemporaryQueue(); + _producer = _session.createProducer(topic); + _session.createConsumer(queue).setMessageListener(this); + //new TopicListener(_session, topic); + new TopicListener(_connection.createSession(false, Session.AUTO_ACKNOWLEDGE), topic); + + _connection.start(); + + Message msg = _session.createTextMessage("Init"); + msg.setJMSReplyTo(queue); + send(msg); + } + + public synchronized void onMessage(Message message) + { + try + { + //cancel timeout: + _timeout.clear(); + new DelayedSend(_session.createTextMessage("Message" + (++_count)), INTERVAL); + } + catch (JMSException e) + { + error(e); + } + } + + private synchronized void send(Message msg) throws JMSException + { + _producer.send(msg); + //start timeout: + _timeout = new Timeout(TIMEOUT); + } + + private void error(Exception e) + { + e.printStackTrace(); + stop(); + } + + private void stop() + { + System.out.println("Stopping..."); + try + { + _connection.close(); + } + catch (JMSException e) + { + System.out.println("Failed to shutdown: " + e); + e.printStackTrace(); + } + } + + private void timeout() + { + error(new RuntimeException("Timed out: count = " + _count)); + } + + public void bytesSent(long count) + { + } + + public void bytesReceived(long count) + { + } + + public boolean preFailover(boolean redirect) + { + System.out.println("preFailover(" + redirect + ") called"); + return true; + } + + public boolean preResubscribe() + { + System.out.println("preResubscribe() called"); + return true; + } + + public void failoverComplete() + { + System.out.println("failoverComplete() called"); + } + + private class TopicListener implements MessageListener + { + private final Session _session; + private MessageProducer _producer; + private int _received; + + TopicListener(Session session, Topic topic) throws JMSException + { + _session = session; + _session.createConsumer(topic).setMessageListener(this); + } + + public void onMessage(Message message) + { + try + { + //if(_received++ % 100 == 0) + { + System.out.println("Received: " + ((TextMessage) message).getText()); + } + if (_producer == null) + { + _producer = init(message); + } + reply(message); + } + catch (JMSException e) + { + error(e); + } + } + + private void reply(Message message) throws JMSException + { + _producer.send(_session.createTextMessage(((TextMessage) message).getText())); + } + + private MessageProducer init(Message message) throws JMSException + { + return _session.createProducer(message.getJMSReplyTo()); + } + } + + private class Timeout extends TimerTask + { + private volatile boolean _cancelled; + + Timeout(long time) + { + _timer.schedule(this, time); + } + + void clear() + { + _cancelled = true; + } + + public void run() + { + if (!_cancelled) + { + timeout(); + } + } + } + + private class DelayedSend extends TimerTask + { + private final Message _msg; + + DelayedSend(Message msg, long delay) + { + _msg = msg; + _timer.schedule(this, delay); + } + + public void run() + { + try + { + send(_msg); + } + catch (JMSException e) + { + error(e); + } + } + } + + public static void main(final String[] argv) throws Exception + { + final String connection = argv.length == 0 ? "amqp://guest:guest@/test?brokerlist='tcp://localhost:5672;tcp://localhost:5673'" : argv[0]; + new FailoverMultiMethodTest(connection); + } +} diff --git a/java/client/test/src/org/apache/qpid/failover/FailoverRoundRobinTest.java b/java/client/test/src/org/apache/qpid/failover/FailoverRoundRobinTest.java new file mode 100644 index 0000000000..23119f2394 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/failover/FailoverRoundRobinTest.java @@ -0,0 +1,233 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.failover; + +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.jms.ConnectionURL; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQConnectionURL; +import org.apache.qpid.jms.ConnectionListener; + +import javax.jms.*; +import java.util.Timer; +import java.util.TimerTask; + +public class FailoverRoundRobinTest implements MessageListener, ConnectionListener +{ + private static final long TIMEOUT = 10000; + private static final long INTERVAL = 5000; + private final Timer _timer = new Timer(true); + private final Connection _connection; + private final Session _session; + private final MessageProducer _producer; + private Timeout _timeout; + private int _count; + + + FailoverRoundRobinTest(String connectionString) throws JMSException, AMQException, URLSyntaxException + { + ConnectionURL connection = new AMQConnectionURL(connectionString); + _connection = new AMQConnection(connection); + + ((AMQConnection) _connection).setConnectionListener(this); + + _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + Topic topic = _session.createTopic("BLZ-24"); + Queue queue = _session.createTemporaryQueue(); + _producer = _session.createProducer(topic); + _session.createConsumer(queue).setMessageListener(this); + //new TopicListener(_session, topic); + new TopicListener(_connection.createSession(false, Session.AUTO_ACKNOWLEDGE), topic); + _connection.start(); + + Message msg = _session.createTextMessage("Init"); + msg.setJMSReplyTo(queue); + send(msg); + } + + public synchronized void onMessage(Message message) + { + try + { + //cancel timeout: + _timeout.clear(); + new DelayedSend(_session.createTextMessage("Message" + (++_count)), INTERVAL); + } + catch (JMSException e) + { + error(e); + } + } + + private synchronized void send(Message msg) throws JMSException + { + _producer.send(msg); + //start timeout: + _timeout = new Timeout(TIMEOUT); + } + + private void error(Exception e) + { + e.printStackTrace(); + stop(); + } + + private void stop() + { + System.out.println("Stopping..."); + try + { + _connection.close(); + } + catch (JMSException e) + { + System.out.println("Failed to shutdown: " + e); + e.printStackTrace(); + } + } + + private void timeout() + { + error(new RuntimeException("Timed out: count = " + _count)); + } + + public void bytesSent(long count) + { + } + + public void bytesReceived(long count) + { + } + + public boolean preFailover(boolean redirect) + { + System.out.println("preFailover(" + redirect + ") called"); + return true; + } + + public boolean preResubscribe() + { + System.out.println("preResubscribe() called"); + return true; + } + + public void failoverComplete() + { + System.out.println("failoverComplete() called"); + } + + private class TopicListener implements MessageListener + { + private final Session _session; + private MessageProducer _producer; + private int _received; + + TopicListener(Session session, Topic topic) throws JMSException + { + _session = session; + _session.createConsumer(topic).setMessageListener(this); + } + + public void onMessage(Message message) + { + try + { + //if(_received++ % 100 == 0) + { + System.out.println("Received: " + ((TextMessage) message).getText()); + } + if (_producer == null) + { + _producer = init(message); + } + reply(message); + } + catch (JMSException e) + { + error(e); + } + } + + private void reply(Message message) throws JMSException + { + _producer.send(_session.createTextMessage(((TextMessage) message).getText())); + } + + private MessageProducer init(Message message) throws JMSException + { + return _session.createProducer(message.getJMSReplyTo()); + } + } + + private class Timeout extends TimerTask + { + private volatile boolean _cancelled; + + Timeout(long time) + { + _timer.schedule(this, time); + } + + void clear() + { + _cancelled = true; + } + + public void run() + { + if (!_cancelled) + { + timeout(); + } + } + } + + private class DelayedSend extends TimerTask + { + private final Message _msg; + + DelayedSend(Message msg, long delay) + { + _msg = msg; + _timer.schedule(this, delay); + } + + public void run() + { + try + { + send(_msg); + } + catch (JMSException e) + { + error(e); + } + } + } + + public static void main(final String[] argv) throws Exception + { + //Default failover is to use single server + String url = "amqp://guest:guest@test/clientID?"+ + "brokerlist='tcp://localhost:5672?retries='2';"+ + "tcp://localhost:5673''&failover='roundrobin'"; + final String broker = argv.length == 0? url : argv[0]; + new FailoverRoundRobinTest(broker); + } +} diff --git a/java/client/test/src/org/apache/qpid/failover/FailoverSingleServerTest.java b/java/client/test/src/org/apache/qpid/failover/FailoverSingleServerTest.java new file mode 100644 index 0000000000..7f3b058438 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/failover/FailoverSingleServerTest.java @@ -0,0 +1,257 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.failover; + +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.jms.ConnectionURL; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQConnectionURL; +import org.apache.qpid.jms.*; + +import javax.jms.*; +import javax.jms.Connection; +import javax.jms.MessageProducer; +import javax.jms.Session; +import java.util.Timer; +import java.util.TimerTask; + +public class FailoverSingleServerTest implements MessageListener, ConnectionListener +{ + private static final long TIMEOUT = 10000; + private static final long INTERVAL = 5000; + private final Timer _timer = new Timer(true); + private final Connection _connection; + private final Session _session; + private final MessageProducer _producer; + private Timeout _timeout; + private int _count; + + private + + + FailoverSingleServerTest(String connectionString) throws JMSException, AMQException, URLSyntaxException + { + + + ConnectionURL connection = new AMQConnectionURL(connectionString); + +/* + BrokerDetails[] details = BrokerDetails.parseBrokerDetails(brokers); + + + + if (!(details.length > 0)) + { + throw new IllegalArgumentException("BrokerDetails details must specify at least one broker"); + } + + // Create a cycling Server Failover that tries twice for the server + FailoverMethod singleMethod = new FailoverSingleServer(details[0]); + + singleMethod.setRetries(2); + + FailoverPolicy policy = new FailoverPolicy(singleMethod); +*/ + + + _connection = new AMQConnection(connection); + + ((AMQConnection) _connection).setConnectionListener(this); + _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + Topic topic = _session.createTopic("BLZ-24"); + Queue queue = _session.createTemporaryQueue(); + _producer = _session.createProducer(topic); + _session.createConsumer(queue).setMessageListener(this); + //new TopicListener(_session, topic); + new TopicListener(_connection.createSession(false, Session.AUTO_ACKNOWLEDGE), topic); + _connection.start(); + + Message msg = _session.createTextMessage("Init"); + msg.setJMSReplyTo(queue); + send(msg); + } + + public synchronized void onMessage(Message message) + { + try + { + //cancel timeout: + _timeout.clear(); + new DelayedSend(_session.createTextMessage("Message" + (++_count)), INTERVAL); + } + catch (JMSException e) + { + error(e); + } + } + + private synchronized void send(Message msg) throws JMSException + { + _producer.send(msg); + //start timeout: + _timeout = new Timeout(TIMEOUT); + } + + private void error(Exception e) + { + e.printStackTrace(); + stop(); + } + + private void stop() + { + System.out.println("Stopping..."); + try + { + _connection.close(); + } + catch (JMSException e) + { + System.out.println("Failed to shutdown: " + e); + e.printStackTrace(); + } + } + + private void timeout() + { + error(new RuntimeException("Timed out: count = " + _count)); + } + + public void bytesSent(long count) + { + } + + public void bytesReceived(long count) + { + } + + public boolean preFailover(boolean redirect) + { + System.out.println("preFailover(" + redirect + ") called"); + return true; + } + + public boolean preResubscribe() + { + System.out.println("preResubscribe() called"); + return true; + } + + public void failoverComplete() + { + System.out.println("failoverComplete() called"); + } + + private class TopicListener implements MessageListener + { + private final Session _session; + private MessageProducer _producer; + private int _received; + + TopicListener(Session session, Topic topic) throws JMSException + { + _session = session; + _session.createConsumer(topic).setMessageListener(this); + } + + public void onMessage(Message message) + { + try + { + //if(_received++ % 100 == 0) + { + System.out.println("Received: " + ((TextMessage) message).getText()); + } + if(_producer == null) + { + _producer = init(message); + } + reply(message); + } + catch (JMSException e) + { + error(e); + } + } + + private void reply(Message message) throws JMSException + { + _producer.send(_session.createTextMessage(((TextMessage) message).getText())); + } + + private MessageProducer init(Message message) throws JMSException + { + return _session.createProducer(message.getJMSReplyTo()); + } + } + + private class Timeout extends TimerTask + { + private volatile boolean _cancelled; + + Timeout(long time) + { + _timer.schedule(this, time); + } + + void clear() + { + _cancelled = true; + } + + public void run() + { + if(!_cancelled) + { + timeout(); + } + } + } + + private class DelayedSend extends TimerTask + { + private final Message _msg; + + DelayedSend(Message msg, long delay) + { + _msg = msg; + _timer.schedule(this, delay); + } + + public void run() + { + try + { + send(_msg); + } + catch (JMSException e) + { + error(e); + } + } + } + + public static void main(final String[] argv) throws Exception + { + //Default failover is to use single server + String url = "amqp://guest:guest@/test?brokerlist='tcp://localhost:5672?retries='2''"; + final String broker = argv.length == 0? url : argv[0]; + new FailoverSingleServerTest(broker); + } +} diff --git a/java/client/test/src/org/apache/qpid/failover/FailoverTest.java b/java/client/test/src/org/apache/qpid/failover/FailoverTest.java new file mode 100644 index 0000000000..4905bf5614 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/failover/FailoverTest.java @@ -0,0 +1,249 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.failover; + +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQConnectionURL; +import org.apache.qpid.jms.ConnectionListener; + +import javax.jms.*; +import java.util.Timer; +import java.util.TimerTask; + +public class FailoverTest implements MessageListener, ConnectionListener +{ + private static final long TIMEOUT = 10 * 1000; + private static final long INTERVAL = 500; + private final Timer _timer = new Timer(true); + private final Connection _connection; + private final Session _session; + private final MessageProducer _producer; + private Timeout _timeout; + private int _count; + private Queue _tempQueue; + + FailoverTest(String connectionUrl) throws JMSException, AMQException, URLSyntaxException + { + this(new AMQConnection(connectionUrl)); + ((AMQConnection) _connection).setConnectionListener(this); + } + + FailoverTest(Connection connection) throws JMSException + { + AMQConnection amqConnection = (AMQConnection) connection; + System.out.println("connection.url = " + amqConnection.toURL()); + _connection = connection; + _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + Topic topic = _session.createTopic("topic1"); + _tempQueue = _session.createTemporaryQueue(); + _producer = _session.createProducer(topic); + _session.createConsumer(_tempQueue).setMessageListener(this); + //new TopicListener(_session, topic); + new TopicListener(_connection.createSession(false, Session.AUTO_ACKNOWLEDGE), topic); + _connection.start(); + + Message msg = _session.createTextMessage("Init"); + msg.setJMSReplyTo(_tempQueue); + send(msg); + } + + public synchronized void onMessage(Message message) + { + try + { + //cancel timeout: + _timeout.clear(); + new DelayedSend(_session.createTextMessage("Message" + (++_count)), INTERVAL); + } + catch (JMSException e) + { + error(e); + } + } + + private synchronized void send(Message msg) throws JMSException + { + _producer.send(msg); + //start timeout: + _timeout = new Timeout(TIMEOUT); + } + + private void error(Exception e) + { + e.printStackTrace(); + stop(); + } + + private void stop() + { + System.out.println("Stopping..."); + try + { + _connection.close(); + } + catch (JMSException e) + { + System.out.println("Failed to shutdown: " + e); + e.printStackTrace(); + } + } + + private void timeout() + { + try { + System.out.println("timed out. Resending init message"); + Message msg = _session.createTextMessage("Init"); + msg.setJMSReplyTo(_tempQueue); + send(msg); + } catch (JMSException e) { + throw new RuntimeException("Got JMSException", e); + } +// error(new RuntimeException("Timed out: count = " + _count)); + } + + public void bytesSent(long count) + { + } + + public void bytesReceived(long count) + { + } + + public boolean preFailover(boolean redirect) + { + System.out.println("preFailover(" + redirect + ") called"); + return true; + } + + public boolean preResubscribe() + { + System.out.println("preResubscribe() called"); + return true; + } + + public void failoverComplete() + { + System.out.println("failoverComplete() called"); + } + + private class TopicListener implements MessageListener + { + private final Session _session; + private MessageProducer _producer; + private int _received; + + TopicListener(Session session, Topic topic) throws JMSException + { + _session = session; + _session.createConsumer(topic).setMessageListener(this); + } + + public void onMessage(Message message) + { + try + { + //if(_received++ % 100 == 0) + { + System.out.println("Received: " + ((TextMessage) message).getText()); + } + if(_producer == null) + { + _producer = init(message); + } + reply(message); + } + catch (JMSException e) + { + error(e); + } + } + + private void reply(Message message) throws JMSException + { + _producer.send(_session.createTextMessage(((TextMessage) message).getText())); + } + + private MessageProducer init(Message message) throws JMSException + { + return _session.createProducer(message.getJMSReplyTo()); + } + } + + private class Timeout extends TimerTask + { + private volatile boolean _cancelled; + + Timeout(long time) + { + _timer.schedule(this, time); + } + + void clear() + { + _cancelled = true; + } + + public void run() + { + if(!_cancelled) + { + timeout(); + System.out.println("would have timed out!"); + } + } + } + + private class DelayedSend extends TimerTask + { + private final Message _msg; + + DelayedSend(Message msg, long delay) + { + _msg = msg; + _timer.schedule(this, delay); + } + + public void run() + { + try + { + send(_msg); + } + catch (JMSException e) + { + error(e); + } + } + } + + public static void main(final String[] argv) throws Exception + { + final String clientId = "failover" + System.currentTimeMillis(); + final String defaultUrl = "amqp://guest:guest@" + clientId + "/test" + + "?brokerlist='tcp://localhost:5672;tcp://localhost:5673'&failover='roundrobin'"; + + System.out.println("url = [" + defaultUrl + "]"); + + System.out.println("connection url = [" + new AMQConnectionURL(defaultUrl) + "]"); + + final String broker = argv.length == 0? defaultUrl : argv[0]; + new FailoverTest(broker); + } +} diff --git a/java/client/test/src/org/apache/qpid/failover/FailoverTxTest.java b/java/client/test/src/org/apache/qpid/failover/FailoverTxTest.java new file mode 100644 index 0000000000..573bd2af0a --- /dev/null +++ b/java/client/test/src/org/apache/qpid/failover/FailoverTxTest.java @@ -0,0 +1,146 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.failover; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQConnectionURL; +import org.apache.qpid.jms.ConnectionListener; + +import javax.jms.*; + +public class FailoverTxTest implements ConnectionListener +{ + private static Logger _log = Logger.getLogger(FailoverTxTest.class); + + AMQConnection _connection; + + FailoverTxTest(String connectionUrl) throws Exception + { + _connection = new AMQConnection(connectionUrl); + _connection.setConnectionListener(this); + System.out.println("connection.url = " + _connection.toURL()); + Session session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + Destination queue = session.createTemporaryQueue(); + + session.createConsumer(queue).setMessageListener(new MessageListener() { + public void onMessage(Message message) + { + try + { + _log.info("Received: " + ((TextMessage) message).getText()); + } + catch (JMSException e) + { + error(e); + } + } + }); + + _connection.start(); + + sendInTx(queue); + + _connection.close(); + _log.info("FailoverTxText complete"); + } + + private void sendInTx(Destination queue) throws JMSException + { + Session session = _connection.createSession(true, Session.AUTO_ACKNOWLEDGE); + MessageProducer producer = session.createProducer(queue); + for (int i = 1; i <= 10; ++i) + { + for (int j = 1; j <= 10; ++j) + { + TextMessage msg = session.createTextMessage("Tx=" + i + " msg=" + j); + _log.info("sending message = " + msg.getText()); + producer.send(msg); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException("Someone interrupted me!", e); + } + } + session.commit(); + } + } + + private void error(Exception e) + { + _log.fatal("Exception received. About to stop.", e); + stop(); + } + + private void stop() + { + System.out.println("Stopping..."); + try + { + _connection.close(); + } + catch (JMSException e) + { + System.out.println("Failed to shutdown: " + e); + e.printStackTrace(); + } + } + + public void bytesSent(long count) + { + } + + public void bytesReceived(long count) + { + } + + public boolean preFailover(boolean redirect) + { + System.out.println("preFailover(" + redirect + ") called"); + return true; + } + + public boolean preResubscribe() + { + System.out.println("preResubscribe() called"); + return true; + } + + public void failoverComplete() + { + System.out.println("failoverComplete() called"); + } + + public static void main(final String[] argv) throws Exception + { + try { + final String clientId = "failover" + System.currentTimeMillis(); + final String defaultUrl = "amqp://guest:guest@" + clientId + "/test" + + "?brokerlist='tcp://localhost:5672;tcp://localhost:5673'&failover='roundrobin'"; + + System.out.println("url = [" + defaultUrl + "]"); + + System.out.println("connection url = [" + new AMQConnectionURL(defaultUrl) + "]"); + + final String url = argv.length == 0? defaultUrl : argv[0]; + new FailoverTxTest(url); + } catch (Throwable t) { + _log.error("test failed", t); + } + } +} diff --git a/java/client/test/src/org/apache/qpid/flow/ChannelFlowTest.java b/java/client/test/src/org/apache/qpid/flow/ChannelFlowTest.java new file mode 100644 index 0000000000..3445b37317 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/flow/ChannelFlowTest.java @@ -0,0 +1,107 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.flow; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; + +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; + +public class ChannelFlowTest implements MessageListener +{ + private int sent; + private int received; + + ChannelFlowTest(String broker) throws Exception + { + this(new AMQConnection(broker, "guest", "guest", randomize("Client"), "/test_path")); + } + + ChannelFlowTest(AMQConnection connection) throws Exception + { + this(connection, new AMQQueue(randomize("ChannelFlowTest"), true)); + } + + ChannelFlowTest(AMQConnection connection, AMQDestination destination) throws Exception + { + AMQSession session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE, 50); + + //set up a slow consumer + session.createConsumer(destination).setMessageListener(this); + connection.start(); + + //create a publisher + MessageProducer producer = session.createProducer(destination); + Message msg = session.createTextMessage("Message"); + + //publish in bursts that are fast enough to cause channel flow control + for(int i = 0; i < 10; i++) + { + for(int j = 0; j < 100; j++) + { + producer.send(msg); + sent++; + } + waitUntilReceived(sent - 40); + } + + waitUntilReceived(sent); + + session.close(); + connection.close(); + } + + + private synchronized void waitUntilReceived(int count) throws InterruptedException + { + while(received <count) + { + wait(); + } + } + + public synchronized void onMessage(Message message) + { + try + { + Thread.sleep(50); + + received++; + notify(); + } + catch (InterruptedException e) + { + e.printStackTrace(); + } + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + public static void main(String[] argv) throws Exception + { + new ChannelFlowTest(argv.length == 0 ? "localhost:5672" : argv[0]); + } + +} diff --git a/java/client/test/src/org/apache/qpid/forwardall/Client.java b/java/client/test/src/org/apache/qpid/forwardall/Client.java new file mode 100644 index 0000000000..4ad8587ae0 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/forwardall/Client.java @@ -0,0 +1,106 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.forwardall; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; + +import javax.jms.Message; +import javax.jms.MessageListener; + +/** + * Declare a private temporary response queue, + * send a message to amq.direct with a well known routing key with the + * private response queue as the reply-to destination + * consume responses. + */ +public class Client implements MessageListener +{ + private final AMQConnection _connection; + private final AMQSession _session; + private final int _expected; + private int _count; + + Client(String broker, int expected) throws Exception + { + this(connect(broker), expected); + } + + Client(AMQConnection connection, int expected) throws Exception + { + _connection = connection; + _expected = expected; + _session = (AMQSession) _connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + AMQQueue response = new AMQQueue("ResponseQueue", true); + _session.createConsumer(response).setMessageListener(this); + _connection.start(); + AMQQueue service = new SpecialQueue("ServiceQueue"); + Message request = _session.createTextMessage("Request!"); + request.setJMSReplyTo(response); + _session.createProducer(service).send(request); + } + + void shutdownWhenComplete() throws Exception + { + waitUntilComplete(); + _connection.close(); + } + + public void onMessage(Message response) + { + System.out.println("Received " + (++_count) + " of " + _expected + " responses."); + if(_count == _expected) + { + synchronized(this) + { + notifyAll(); + } + } + } + + synchronized void waitUntilComplete() throws InterruptedException + { + while(_count < _expected) + { + wait(); + } + } + + static AMQConnection connect(String broker) throws Exception + { + return new AMQConnection(broker, "guest", "guest", "Client" + System.currentTimeMillis(), "/test_path"); + } + + public static void main(String[] argv) throws Exception + { + final String connectionString; + final int expected; + if (argv.length == 0) { + connectionString = "localhost:5672"; + expected = 100; + } + else + { + connectionString = argv[0]; + expected = Integer.parseInt(argv[1]); + } + + new Client(connect(connectionString), expected).shutdownWhenComplete(); + } +} diff --git a/java/client/test/src/org/apache/qpid/forwardall/Combined.java b/java/client/test/src/org/apache/qpid/forwardall/Combined.java new file mode 100644 index 0000000000..7f32a4a837 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/forwardall/Combined.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.forwardall; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.junit.Test; + +/** + * Runs the Service's and Client parts of the test in the same process + * as the broker + */ +public class Combined extends VmOrRemoteTestCase +{ + @Test + public void forwardAll() throws Exception + { + int services = 2; + ServiceCreator.start("tcp://ignore:1234", services); + + //give them time to get registered etc. + System.out.println("Services started, waiting for them to initialise..."); + Thread.sleep(5 * 1000); + System.out.println("Starting client..."); + + new Client("tcp://ignore:1234", services).waitUntilComplete(); + + System.out.println("Completed successfully!"); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(Combined.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/forwardall/Service.java b/java/client/test/src/org/apache/qpid/forwardall/Service.java new file mode 100644 index 0000000000..bc3cc4c1f4 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/forwardall/Service.java @@ -0,0 +1,75 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.forwardall; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; + +import javax.jms.Destination; +import javax.jms.Message; +import javax.jms.MessageListener; + +/** + * Declare a queue and bind it to amq.direct with a 'well known' routing key, + * register a consumer for this queue and send a response to every message received. + */ +public class Service implements MessageListener +{ + private final AMQConnection _connection; + private final AMQSession _session; + + Service(String broker) throws Exception + { + this(connect(broker)); + } + + Service(AMQConnection connection) throws Exception + { + _connection = connection; + AMQQueue queue = new SpecialQueue("ServiceQueue"); + _session = (AMQSession) _connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + _session.createConsumer(queue).setMessageListener(this); + _connection.start(); + } + + public void onMessage(Message request) + { + try + { + Message response = _session.createTextMessage("Response!"); + Destination replyTo = request.getJMSReplyTo(); + _session.createProducer(replyTo).send(response); + } + catch(Exception e) + { + e.printStackTrace(System.out); + } + } + + static AMQConnection connect(String broker) throws Exception + { + return new AMQConnection(broker, "guest", "guest", "Client" + System.currentTimeMillis(), "/test_path"); + } + +// public static void main(String[] argv) throws Exception +// { +// String broker = argv.length == 0? "localhost:5672" : argv[0]; +// new Service(broker); +// } +} diff --git a/java/client/test/src/org/apache/qpid/forwardall/ServiceCreator.java b/java/client/test/src/org/apache/qpid/forwardall/ServiceCreator.java new file mode 100644 index 0000000000..6d43f85cf2 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/forwardall/ServiceCreator.java @@ -0,0 +1,74 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.forwardall; + +public class ServiceCreator implements Runnable +{ + private final String broker; + + ServiceCreator(String broker) + { + this.broker = broker; + } + + public void run() + { + try + { + new Service(broker); + } + catch (Exception e) + { + e.printStackTrace(System.out); + } + } + + static void start(String broker, int services) throws InterruptedException + { + Thread[] threads = new Thread[services]; + ServiceCreator runner = new ServiceCreator(broker); + //start services + System.out.println("Starting " + services + " services..."); + for (int i = 0; i < services; i++) + { + threads[i] = new Thread(runner); + threads[i].start(); + } + + for (int i = 0; i < threads.length; i++) + { + threads[i].join(); + } + } + + public static void main(String[] argv) throws Exception + { + final String connectionString; + final int services; + if (argv.length == 0) { + connectionString = "localhost:5672"; + services = 100; + } + else + { + connectionString = argv[0]; + services = Integer.parseInt(argv[1]); + } + start(connectionString, services); + } +} diff --git a/java/client/test/src/org/apache/qpid/forwardall/SpecialQueue.java b/java/client/test/src/org/apache/qpid/forwardall/SpecialQueue.java new file mode 100644 index 0000000000..efa633033f --- /dev/null +++ b/java/client/test/src/org/apache/qpid/forwardall/SpecialQueue.java @@ -0,0 +1,41 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.forwardall; + +import org.apache.qpid.client.AMQQueue; + +/** + * Queue that allows several private queues to be registered and bound + * to an exchange with the same routing key. + * + */ +class SpecialQueue extends AMQQueue +{ + private final String name; + + SpecialQueue(String name) + { + super(name, true); + this.name = name; + } + + public String getRoutingKey() + { + return name; + } +} diff --git a/java/client/test/src/org/apache/qpid/forwardall/UnitTests.java b/java/client/test/src/org/apache/qpid/forwardall/UnitTests.java new file mode 100644 index 0000000000..c62acce11d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/forwardall/UnitTests.java @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.forwardall; + +import junit.framework.JUnit4TestAdapter; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + Combined.class +}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(UnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/fragmentation/TestLargePublisher.java b/java/client/test/src/org/apache/qpid/fragmentation/TestLargePublisher.java new file mode 100644 index 0000000000..161f225d08 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/fragmentation/TestLargePublisher.java @@ -0,0 +1,190 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.fragmentation; + +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.jms.MessageProducer; +import org.apache.qpid.jms.Session; +import org.apache.log4j.Logger; + +import javax.jms.BytesMessage; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * A client that behaves as follows: + * <ul><li>Connects to a queue, whose name is specified as a cmd-line argument</li> + * <li>Creates a temporary queue</li> + * <li>Creates messages containing a property that is the name of the temporary queue</li> + * <li>Fires off a message on the original queue and waits for a response on the temporary queue</li> + * </ul> + */ +public class TestLargePublisher +{ + private static final Logger _log = Logger.getLogger(TestLargePublisher.class); + + private AMQConnection _connection; + + private Session _session; + + private class CallbackHandler implements MessageListener + { + private int _expectedMessageCount; + + private int _actualMessageCount; + + private long _startTime; + + public CallbackHandler(int expectedMessageCount, long startTime) + { + _expectedMessageCount = expectedMessageCount; + _startTime = startTime; + } + + public void onMessage(Message m) + { + if (_log.isDebugEnabled()) + { + _log.debug("Message received: " + m); + } + _actualMessageCount++; + if (_actualMessageCount%1000 == 0) + { + _log.info("Received message count: " + _actualMessageCount); + } + /*if (!"henson".equals(m.toString())) + { + _log.error("AbstractJMSMessage response not correct: expected 'henson' but got " + m.toString()); + } + else + { + if (_log.isDebugEnabled()) + { + _log.debug("AbstractJMSMessage " + m + " received"); + } + else + { + _log.info("AbstractJMSMessage received"); + } + } */ + + if (_actualMessageCount == _expectedMessageCount) + { + long timeTaken = System.currentTimeMillis() - _startTime; + System.out.println("Total time taken to receive " + _expectedMessageCount+ " messages was " + + timeTaken + "ms, equivalent to " + + (_expectedMessageCount/(timeTaken/1000.0)) + " messages per second"); + } + } + } + + public TestLargePublisher(String host, int port, String clientID, + final int messageCount) throws AMQException,URLSyntaxException + { + try + { + createConnection(host, port, clientID); + + _session = (Session) _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + AMQTopic destination = new AMQTopic("large"); + MessageProducer producer = (MessageProducer) _session.createProducer(destination); + + _connection.start(); + //TextMessage msg = _session.createTextMessage(tempDestination.getQueueName() + "/Presented to in conjunction with Mahnah Mahnah and the Snowths"); + final long startTime = System.currentTimeMillis(); + + for (int i = 0; i < messageCount; i++) + { + BytesMessage msg = _session.createBytesMessage(); + populateMessage(msg); + producer.send(msg); + } + _log.info("Finished sending " + messageCount + " messages"); + } + catch (JMSException e) + { + e.printStackTrace(); + } + } + + private void createConnection(String host, int port, String clientID) throws AMQException , URLSyntaxException + { + _connection = new AMQConnection(host, port, "guest", "guest", + clientID, "/test"); + } + + private void populateMessage(BytesMessage msg) throws JMSException + { + int size = 1024 * 187; // 187k + byte[] data = new byte[size]; + for (int i = 0; i < data.length; i++) + { + data[i] = (byte)(i%25); + } + msg.writeBytes(data); + } + + /** + * + * @param args argument 1 if present specifies the name of the temporary queue to create. Leaving it blank + * means the server will allocate a name. + */ + public static void main(String[] args) throws URLSyntaxException + { + final String host; + final int port; + final int numMessages; + if (args.length == 0) + { + host = "localhost"; + port = 5672; + numMessages = 100; +// System.err.println("Usage: TestLargePublisher <host> <port> <number of messages>"); + } + else + { + host = args[0]; + port = Integer.parseInt(args[1]); + numMessages = Integer.parseInt(args[2]); + } + + try + { + InetAddress address = InetAddress.getLocalHost(); + String clientID = address.getHostName() + System.currentTimeMillis(); + TestLargePublisher client = new TestLargePublisher(host, port, clientID, numMessages); + } + catch (UnknownHostException e) + { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + catch (AMQException e) + { + System.err.println("Error in client: " + e); + e.printStackTrace(); + } + + //System.exit(0); + } +} diff --git a/java/client/test/src/org/apache/qpid/fragmentation/TestLargeSubscriber.java b/java/client/test/src/org/apache/qpid/fragmentation/TestLargeSubscriber.java new file mode 100644 index 0000000000..5268884b93 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/fragmentation/TestLargeSubscriber.java @@ -0,0 +1,160 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.fragmentation; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.jms.Session; +import org.apache.log4j.Logger; + +import javax.jms.*; +import java.net.InetAddress; + +public class TestLargeSubscriber +{ + private static final Logger _logger = Logger.getLogger(TestLargeSubscriber.class); + + private static MessageProducer _destinationProducer; + + private static String _destinationName; + + public static void main(String[] args) + { + _logger.info("Starting..."); + + final String host; + final int port; + final String username; + final String password; + final String virtualPath; + final int numExpectedMessages; + if (args.length == 0) + { + host = "localhost"; + port = 5672; + username = "guest"; + password = "guest"; + virtualPath = "/test"; + numExpectedMessages = 100; + } + else if (args.length == 6) + { + host = args[0]; + port = Integer.parseInt(args[1]); + username = args[2]; + password = args[3]; + virtualPath = args[4]; + numExpectedMessages = Integer.parseInt(args[5]); + } + else + { + System.out.println("Usage: host port username password virtual-path expectedMessageCount"); + System.exit(1); + throw new RuntimeException("cannot be reached"); + } + + try + { + InetAddress address = InetAddress.getLocalHost(); + AMQConnection con = new AMQConnection(host, port, username, password, + address.getHostName(), virtualPath); + final Session session = (Session) con.createSession(false, Session.AUTO_ACKNOWLEDGE); + + final int expectedMessageCount = numExpectedMessages; + + MessageConsumer consumer = session.createConsumer(new AMQTopic("large"), + 100, true, false, null); + + consumer.setMessageListener(new MessageListener() + { + private int _messageCount; + + private long _startTime = 0; + + public void onMessage(Message message) + { + validateMessage(message); + if (_messageCount++ == 0) + { + _startTime = System.currentTimeMillis(); + } + if (_logger.isInfoEnabled()) + { + _logger.info("Got message '" + message + "'"); + } + if (_messageCount == expectedMessageCount) + { + long totalTime = System.currentTimeMillis() - _startTime; + _logger.error("Total time to receive " + _messageCount + " messages was " + + totalTime + "ms. Rate is " + (_messageCount/(totalTime/1000.0))); + } + } + + private void validateMessage(Message message) + { + if (!(message instanceof BytesMessage)) + { + _logger.error("Message is not of correct type - should be BytesMessage and is " + + message.getClass()); + } + BytesMessage bm = (BytesMessage) message; + final int expectedSize = 1024 * 187; // 187k + try + { + if (bm.getBodyLength() != expectedSize) + { + _logger.error("Message is not correct length - should be " + expectedSize + " and is " + + bm.getBodyLength()); + } + } + catch (JMSException e) + { + _logger.error("Failed to validate message: " + e, e); + } + try + { + byte[] data = new byte[(int)bm.getBodyLength()]; + bm.readBytes(data); + for (int i = 0; i < data.length; i++) + { + if (data[i] != (byte)(i%25)) + { + _logger.error("byte " + i + " of message is wrong - should be " + i%25 + " but is " + + data[i]); + } + } + _logger.info("***** Validated message successfully"); + } + catch (JMSException e) + { + _logger.error("Failed to validate message: " + e, e); + } + } + }); + con.start(); + } + catch (Throwable t) + { + System.err.println("Fatal error: " + t); + t.printStackTrace(); + } + + System.out.println("Waiting..."); + } +} + diff --git a/java/client/test/src/org/apache/qpid/framing/FieldTableTest.java b/java/client/test/src/org/apache/qpid/framing/FieldTableTest.java new file mode 100644 index 0000000000..dc92a1a97b --- /dev/null +++ b/java/client/test/src/org/apache/qpid/framing/FieldTableTest.java @@ -0,0 +1,159 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; +import junit.framework.JUnit4TestAdapter; +import org.apache.mina.common.ByteBuffer; +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.Enumeration; +import java.util.Properties; + +public class FieldTableTest +{ + @Test + public void dataDump() throws IOException, AMQFrameDecodingException + { + byte[] data = readBase64("content.txt"); + System.out.println("Got " + data.length + " bytes of data"); + for (int i = 0; i < 100; i++) + { + System.out.print((char) data[i]); + } + System.out.println(); + int size = 4194304; + ByteBuffer buffer = ByteBuffer.allocate(data.length); + buffer.put(data); + buffer.flip(); + FieldTable table = new FieldTable(buffer, size); + } + + /* + @Test + public void case1() throws AMQFrameDecodingException, IOException + { + testEncoding(load("FieldTableTest.properties")); + } + + @Test + public void case2() throws AMQFrameDecodingException, IOException + { + testEncoding(load("FieldTableTest2.properties")); + } + */ + void testEncoding(FieldTable table) throws AMQFrameDecodingException + { + assertEquivalent(table, encodeThenDecode(table)); + } + + public void assertEquivalent(FieldTable table1, FieldTable table2) + { + for (Object o : table1.keySet()) + { + String key = (String) o; + assertEquals("Values for " + key + " did not match", table1.get(key), table2.get(key)); + //System.out.println("Values for " + key + " matched (" + table1.get(key) + ")"); + } + } + + FieldTable encodeThenDecode(FieldTable table) throws AMQFrameDecodingException + { + ContentHeaderBody header = new ContentHeaderBody(); + header.classId = 6; + BasicContentHeaderProperties properties = new BasicContentHeaderProperties(); + header.properties = properties; + + properties.setHeaders(table); + int size = header.getSize(); + + //encode + ByteBuffer buffer = ByteBuffer.allocate(size); + header.writePayload(buffer); + + //decode + buffer.flip(); + + header = new ContentHeaderBody(); + header.populateFromBuffer(buffer, size); + + return ((BasicContentHeaderProperties) header.properties).getHeaders(); + } + + byte[] readBase64(String name) throws IOException + { + String content = read(new InputStreamReader(getClass().getResourceAsStream(name))); + return Base64.decode(content); + } + + FieldTable load(String name) throws IOException + { + return populate(new FieldTable(), read(name)); + } + + Properties read(String name) throws IOException + { + Properties p = new Properties(); + p.load(getClass().getResourceAsStream(name)); + return p; + } + + FieldTable populate(FieldTable table, Properties properties) + { + for (Enumeration i = properties.propertyNames(); i.hasMoreElements();) + { + String key = (String) i.nextElement(); + String value = properties.getProperty(key); + try{ + int ival = Integer.parseInt(value); + table.put(key, (long) ival); + } + catch(NumberFormatException e) + { + table.put(key, value); + } + } + return table; + } + + static String read(Reader in) throws IOException + { + return read(in instanceof BufferedReader ? (BufferedReader) in : new BufferedReader(in)); + } + + static String read(BufferedReader in) throws IOException + { + StringBuffer buffer = new StringBuffer(); + String line = in.readLine(); + while (line != null){ + buffer.append(line).append(" "); + line = in.readLine(); + } + return buffer.toString(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(FieldTableTest.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/framing/content.txt b/java/client/test/src/org/apache/qpid/framing/content.txt new file mode 100644 index 0000000000..fd3fb28590 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/framing/content.txt @@ -0,0 +1,73585 @@ +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQt +bHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVz +c2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9y +Z2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAA +B2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDcz +NzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMy +NzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3 +UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +OTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhj +YzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2Fn +ZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2Fu +X2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2Vu +Z2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3 +NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODky +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYx +UwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAA +AAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAw +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAx +X3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZG +MzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2Nv +bV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xp +c2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODky +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0 +XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAA +ACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAti +aWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3Vr +X2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3 +NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8x +MTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jO +ODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAG +RjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACpl +cWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdf +bWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pw +bW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVT +AAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0 +MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgz +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODky +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoG +RjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMy +NzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQt +bHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVz +c2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9y +Z2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAA +B2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDcz +NzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMy +NzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3 +UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +OTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhj +YzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2Fn +ZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2Fu +X2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2Vu +Z2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3 +NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODky +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYx +UwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAA +AAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAw +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAx +X3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZG +MzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2Nv +bV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xp +c2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODky +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0 +XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAA +ACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAti +aWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3Vr +X2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3 +NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8x +MTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jO +ODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAG +RjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACpl +cWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdf +bWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pw +bW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVT +AAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0 +MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgz +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODky +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoG +RjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMy +NzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQt +bHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVz +c2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9y +Z2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAA +B2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDcz +NzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMy +NzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3 +UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +OTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhj +YzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2Fn +ZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2Fu +X2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2Vu +Z2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Mjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgw +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3 +NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODky +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzcz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Nzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYx +UwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAA +AAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAw +MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAx +X3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZG +MzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3Nzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkx +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2Nv +bV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xp +c2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODky +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgz +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Mjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0 +XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3Njcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgx +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAA +ACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAti +aWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYy +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcz +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzgy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4Mjky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3Vr +X2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3 +NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4Mzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcx +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Nzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8x +MTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jO +ODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgw +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTEx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTky +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAG +RjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODM2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgz +NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODgzNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODgzNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +MzgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4Mzg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Mzg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQx +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODUwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODUwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODUxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUz +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1Njky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODYxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njkz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcw +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODcwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODcwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODczMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODczNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODczOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4Nzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgx +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODgyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODkwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODkwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODkxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkz +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5Njgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTAxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDky +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEw +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTEwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTEwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxMTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxMTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTEzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTEzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTEzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxNDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxNDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxOTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyMDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIx +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTIxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyNTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyNTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTMwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTMwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMz +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUw +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTUwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTUwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1Mzgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYx +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTYxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTcwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTcwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTcwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcy +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTczMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTczNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5Nzc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTgxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTgxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkw +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTkwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5Mzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswOTAwMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACpl +cWQtbHhjYzAxX3VrX2pwbW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdf +bWVzc2FnZQZGMzI3NjVTAAAAB2VuZ2xpc2jOODgzNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4MzY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM2NzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNjgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4MzY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODM3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODM3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODM3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzNzcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzc4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODM3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODgzODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4MzgxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODgzODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODgzODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Mzg3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM4ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODgzODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4MzkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4MzkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Mzk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODM5 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODgzOTgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Mzk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDA4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDExMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDE0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxNTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQxODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyMTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQyNDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0MzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDM4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg0NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDQ0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg0NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ0ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ1 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODQ1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODQ2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NjEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDYyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODQ2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0 +NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg0NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDY4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg0NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDcxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg0NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ3ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ4MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODQ4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODQ4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0ODgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODQ5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg0OTEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDkyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODQ5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg0OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg0OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NDk4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODQ5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTAx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwMjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwNTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUwODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUx +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODUxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODUxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTE5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODUyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTIyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTI4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUyOTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODUzODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1MzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODU0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODU0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NDgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTQ5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODU1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg1NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTUyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg1NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg1NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTU4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU1OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg1NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2MjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2NTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU2 +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NjkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODU3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODU3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1NzUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODU3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1 +NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTc5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg1ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTgyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg1ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NTg1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg1ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU4OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODU5NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODU5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg1OTkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODYwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODYwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODYwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjA5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjEyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjE1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxNjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYxOTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYyMjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYy +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODYyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODYzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2MzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjMzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODYzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODYzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjM5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjQyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg2NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY0OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY1MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODY1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODY1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODY2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NjIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjYzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODY2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg2NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg2NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjY5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg2NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njcy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg2NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Njc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4Njc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY3OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY4 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Njg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODY4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODY4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2ODkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODY5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg2 +OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NjkzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg2OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODY5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg2OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Njk5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwMzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwNjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcwOTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODcxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODcxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODcxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODcyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzIzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzI5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4NzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODczNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4NzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODcz +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4NzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODc0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NDYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODc0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3 +NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg3NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzUzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg3NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzU2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc1NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg3NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +NzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4NzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2MzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4NzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc2NjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NjcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4NzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODc2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODc3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODc3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3NzYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzc3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODc3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg3NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg3ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4NzgzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg3ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4Nzg2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc4NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg3ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4Nzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4NzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4Nzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODc5 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg3OTcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4Nzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODc5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODgwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODgwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODA3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODEzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgxNzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgyMzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODgyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODgyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODgzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4MzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODgzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODM3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODgzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODQz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg4NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4ODQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg0NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4ODQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4ODUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg1 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4ODU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODg1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODg1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NjAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODYxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODg2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4 +NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg4NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODY3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg4NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODcwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg4NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +ODczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4ODc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg3NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4ODc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg4MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4ODgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODg4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODg4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4ODcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODg4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg4OTAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODkxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODg5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg4OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg4OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4ODk3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODg5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg4OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTAw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwMTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkwNzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkx +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODkxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODkxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MTcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTE4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODkxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTIxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTI3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkyODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODkzNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5MzgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4ODk0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4ODk0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NDcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTQ4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4ODk0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODg5NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTUxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODg5NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODg5NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTU3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk1ODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODg5NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg4OTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2MTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg4OTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2NDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg4OTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk2 +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NjgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg4OTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4ODk3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4ODk3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5NzQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4ODk3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5 +NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTc4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODg5ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTgxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODg5ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTg0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODg5ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4 +OTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk4ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODg5ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg4OTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg4OTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4ODk5NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg4OTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +ODk5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODg5OTgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg4OTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTAwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTAwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMDQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTAwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDA4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwMTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDExMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwMTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDE0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxNTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwMTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAxODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAyMTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAy +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTAyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMjgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTAzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwMzEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDMyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTAzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwMzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDM4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTAzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwNDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDQxMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0MjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkwNDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MDQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0NTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MDQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA0ODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MDUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA1MTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MDUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTA1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTA1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNTgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTA2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNjEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDYyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTA2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkwNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkwNjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDY4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkwNzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDcx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkwNzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MDc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MDc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA3ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MDgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA4 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MDgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTA4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTA4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkwODgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDg5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTA5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkw +OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDkyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkwOTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkwOTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MDk4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTA5OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxMDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwMjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwNTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEwODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMDkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTExMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTExNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTExNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMTgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTE5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTEyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxMjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTIyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxMjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxMjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTI4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEyOTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxMzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEzNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTEz +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxMzkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTE0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNDUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTE0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkx +NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTQ5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkxNTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTUyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkxNTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTU1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1NjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkxNTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MTU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE1OTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MTYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2MjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MTY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE2NTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MTY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTE2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNjkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTE3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTE3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxNzUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTE3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkxNzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTc5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkxODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTgyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkxODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MTg1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkxODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MTg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE4OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MTkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MTk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTE5 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MTk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTE5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkxOTkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTIwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMDIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjAzMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTIwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyMDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjA5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyMTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjEyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxMzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyMTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxNjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MjE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIxOTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MjIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIyMjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTIyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTIyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMjkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTIzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyMzIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjMzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTIzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyMzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTIzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyMzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjM5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyNDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjQy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0MzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkyNDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MjQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0NjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MjQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI0OTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MjUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI1 +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MjU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTI1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTI1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNTkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTI2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODky +NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjYzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkyNjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkyNjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjY5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkyNzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MjcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mjc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyNzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Mjc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI3OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MjgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTI4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTI4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTI4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkyODky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTI5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkyOTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MjkzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkyOTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTI5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkyOTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mjk5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzMDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwMzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMwNjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMDcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMw +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTMxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTMxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMTYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzE3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTMxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzMjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzIzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzMjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzI2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMyNzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzMjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +MzI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5MzMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTMzNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzMzcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5MzM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTMzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTM0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNDYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzQ3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTM0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODkzNDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODkzNTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzUzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODkzNTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzU2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM1NzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODkzNTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5MzU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5MzYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2MzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5MzY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM2 +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNjcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5MzY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTM2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTM3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzNzMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTM3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkz +NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzc3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODkzNzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODkzODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5MzgzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODkzODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Mzg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM4NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODkzODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Mzg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5MzkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTM5MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Mzk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTM5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODkzOTcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Mzk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTM5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQwMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MDMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQwNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDA3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQwODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0MDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0MTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDEz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0MTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDE2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQxNzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDE5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQyMDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDIyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQy +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDI1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQyNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MjcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQyOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0MzAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDMxMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQzMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM0MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0MzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDM3MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQzODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0MzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDQwMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0MTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0NDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NDQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NDQ2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ0NzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NDQ5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ1MDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTEyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NDUyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTQ1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTQyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTQ1NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NTcyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTQ1OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NjAy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDYxMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTQ2MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk0NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY0MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk0NjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDY3MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk0NjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDcw +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3MTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk0NzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NDczMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NDc2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ3NzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NDc5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ4 +MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODEyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NDgyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTQ4MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODQyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTQ4NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0ODcyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDg4MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTQ4OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk0 +OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDkxMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk0OTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk0MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk0OTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NDk3MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTQ5ODIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk0OTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwMTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTAzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTA2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUwNzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MDgyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTA5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTUxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTEyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTEyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTUxMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTQyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTUxNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MTcy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTE4MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTUxOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTIxMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1MjMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI0MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1MjYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTI3 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUyODIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1MjkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTMwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzMTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTMzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUzNDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTM2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTUz +NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1MzgyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTM5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU0MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDEyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTU0MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NDQyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTU0NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1 +NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTQ4MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU0OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk1NTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTUxMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk1NTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTU0MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1NTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk1NTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NTU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU1ODIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NTYwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2MTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NTYzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU2NDIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjUyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NTY2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTU2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NjgyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTY5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTU3MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzEyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTU3MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1NzQy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc1MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTU3NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk1NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTc4MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU3OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk1ODAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTgxMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk1ODMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTg0 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4NTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk1ODYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NTg3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU4ODIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NTkwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5MTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NTkzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTU5 +NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTUyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NTk2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTU5NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk1OTgyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NTk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTYwMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MDEyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjAyMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTYwMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA1MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2MDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjA4MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2MTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjExMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxMjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2MTMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxNTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NjE3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYxODIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NjIwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYyMTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjIyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjIzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTYyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjUyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTYyNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MjgyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTYzMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2MzEy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjMyMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTYzMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM1MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzNjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2MzcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjM4MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTYzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2NDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjQx +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0MjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk2NDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NjQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0NTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NjQ3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY0ODIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NjUwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY1 +MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTIyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NjUzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTY1NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTUyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTY1NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NTgyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjU5MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTY2MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2 +NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjYyMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk2NjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY1MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk2NjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjY4MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY2OTIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk2NzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NjcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3MjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Njc0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3NTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5Njc3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY3ODIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2NzkyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NjgwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTY4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODIyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjgzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTY4NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODUyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTY4NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk2ODgy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njg5MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTY5MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk2OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NjkyMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk2OTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk1MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk2OTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Njk4 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTY5OTIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3MDAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzAxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwMjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzA0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcwNTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDYyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzA3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcw +ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MDkyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzEwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTcxMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTIyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzEzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTcxNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MTUyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE2MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTcxNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +MTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzE5MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3MjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzIyMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyMzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3MjQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzI1MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyNjIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3MjcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +NzI4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTcyOTIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5NzMxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczMjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzMyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzM0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTczNTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzYyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5NzM3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTczODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3MzkyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc0MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDIyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQzMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTc0NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NDUy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ2MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTc0NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk3NDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzQ5MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk3NTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzUyMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1MzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk3NTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzU1 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1NjIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk3NTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5NzU4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc1OTIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5NzYxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2MjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjMyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5NzY0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc2 +NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjYyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5NzY3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTc2ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NjkyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzcwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTc3MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3NzIyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzczMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTc3NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3 +NzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc2MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc3NzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk3NzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzc5MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk3ODEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5NzgyMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4MzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk3ODQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +Nzg1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4NjIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk3ODcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5Nzg4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc4OTIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTAyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5NzkxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTc5MjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTMyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5Nzk0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTc5NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTYyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5Nzk3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTc5ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk3OTkyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAwMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTgwMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MDIy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODAzMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTgwNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4MDUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA2MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgwNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4MDgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODA5MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4MTEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODEy +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxMzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4MTQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODE1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxNjIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MTcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODE4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgxOTIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjAyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODIxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgy +MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjMyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODI0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTgyNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjYyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODI3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTgyODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4MjkyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMwMjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTgzMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +MzIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODMzMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4MzUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM2MjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTgzNzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4MzgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODM5MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4NDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODQyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0MzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5ODQ1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0NjIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NDcyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5ODQ4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg0OTIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTAyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5ODUxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTg1MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTMyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTg1NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTYyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODU3MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTg1ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NTky +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYwMjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTg2MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk4NjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODYzMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk4NjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY2MjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg2NzIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk4NjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODY5 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk4NzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5ODcyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3MzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5ODc1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3NjIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4NzcyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5ODc4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg3 +OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODAyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5ODgxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTg4MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODMyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTg4NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4ODYyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODg3MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTg4ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk4 +ODkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkwMjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk4OTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODkzMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NDIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk4OTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5ODk2MjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTg5NzIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk4OTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +ODk5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMDIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTAyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwMzIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDQyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTA1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkwNjIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MDcyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTA4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTkwOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTAyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTExMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTkxMjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTMyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE0MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTkxNTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MTYy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTE3MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTkxODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5MTkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIwMjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyMTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5MjIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTIzMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNDIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5MjUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTI2 +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkyNzIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5MjgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTI5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMDIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTMyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkzMzIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzQyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTM1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTkz +NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5MzcyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTM4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTkzOTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDAyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk0MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NDMyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ0MjAwMDhTAAAAF1JlcGx5IEJhY2sg +YmlnX21lc3NhZ2UKCzA4OTk0NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5 +NDYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTQ3MjAwMDhTAAAAF1JlcGx5 +IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk0ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdl +CgswODk5NDkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUwMjAwMDhTAAAA +F1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1MTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19t +ZXNzYWdlCgswODk5NTIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTUzMjAw +MDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NDIwMDA4UwAAABdSZXBseSBCYWNr +IGJpZ19tZXNzYWdlCgswODk5NTUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5 +OTU2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk1NzIwMDA4UwAAABdSZXBs +eSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NTgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2Fn +ZQoLMDg5OTU5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MDIwMDA4UwAA +ABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjEyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdf +bWVzc2FnZQoLMDg5OTYyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk2MzIw +MDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjQyMDAwOFMAAAAXUmVwbHkgQmFj +ayBiaWdfbWVzc2FnZQoLMDg5OTY1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4 +OTk2NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NjcyMDAwOFMAAAAXUmVw +bHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTY4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3Nh +Z2UKCzA4OTk2OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzAyMDAwOFMA +AAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTcxMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmln +X21lc3NhZ2UKCzA4OTk3MjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5NzMy +MDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc0MjAwMDhTAAAAF1JlcGx5IEJh +Y2sgYmlnX21lc3NhZ2UKCzA4OTk3NTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgsw +ODk5NzYyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTc3MjAwMDhTAAAAF1Jl +cGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk3ODIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNz +YWdlCgswODk5NzkyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgwMjAwMDhT +AAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4MTIwMDA4UwAAABdSZXBseSBCYWNrIGJp +Z19tZXNzYWdlCgswODk5ODIyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTgz +MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NDIwMDA4UwAAABdSZXBseSBC +YWNrIGJpZ19tZXNzYWdlCgswODk5ODUyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoL +MDg5OTg2MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk4NzIwMDA4UwAAABdS +ZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5ODgyMDAwOFMAAAAXUmVwbHkgQmFjayBiaWdfbWVz +c2FnZQoLMDg5OTg5MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5MDIwMDA4 +UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTEyMDAwOFMAAAAXUmVwbHkgQmFjayBi +aWdfbWVzc2FnZQoLMDg5OTkyMjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UKCzA4OTk5 +MzIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTQyMDAwOFMAAAAXUmVwbHkg +QmFjayBiaWdfbWVzc2FnZQoLMDg5OTk1MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21lc3NhZ2UK +CzA4OTk5NjIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswODk5OTcyMDAwOFMAAAAX +UmVwbHkgQmFjayBiaWdfbWVzc2FnZQoLMDg5OTk4MjAwMDhTAAAAF1JlcGx5IEJhY2sgYmlnX21l +c3NhZ2UKCzA4OTk5OTIwMDA4UwAAABdSZXBseSBCYWNrIGJpZ19tZXNzYWdlCgswOTAwMDAyMDAw +OFMAAAAXUmVwbHkgQmFjayBiaWdfbWVzc2FnZQoGRjMyNzYxUwAAACplcWQtbHhjYzAxX3VrX2pw +bW9yZ2FuX2NvbV8xMTQ0MDczNzI3NjM0XzAGRjMyNzY3UwAAAAtiaWdfbWVzc2FnZQZGMzI3NjVT +AAAAB2VuZ2xpc2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAA== diff --git a/java/client/test/src/org/apache/qpid/headers/Listener.java b/java/client/test/src/org/apache/qpid/headers/Listener.java new file mode 100644 index 0000000000..480596b022 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/headers/Listener.java @@ -0,0 +1,114 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.headers; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.jms.Session; +import org.apache.qpid.testutil.Config; + +import javax.jms.MessageListener; +import javax.jms.Message; +import javax.jms.Destination; +import javax.jms.MessageProducer; +import javax.jms.JMSException; + +public class Listener implements MessageListener +{ + private final AMQConnection _connection; + private final MessageProducer _controller; + private final AMQSession _session; + private final MessageFactory _factory; + private int count; + private long start; + + Listener(AMQConnection connection, Destination exchange) throws Exception + { + _connection = connection; + _session = (AMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + _factory = new MessageFactory(_session, 0, 19); + + //register for events + _factory.createConsumer(exchange).setMessageListener(this); + _connection.start(); + + _controller = _session.createProducer(exchange); + } + + private void shutdown() + { + try + { + _session.close(); + _connection.stop(); + _connection.close(); + } + catch(Exception e) + { + e.printStackTrace(System.out); + } + } + + private void report() + { + try + { + String msg = getReport(); + _controller.send(_factory.createReportResponseMessage(msg)); + System.out.println("Sent report: " + msg); + } + catch(Exception e) + { + e.printStackTrace(System.out); + } + } + + private String getReport() throws JMSException + { + long time = (System.currentTimeMillis() - start); + return "Received " + count + " in " + time + "ms"; + } + + public void onMessage(Message message) + { + if(count == 0) start = System.currentTimeMillis(); + + if(_factory.isShutdown(message)) + { + shutdown(); + } + else if(_factory.isReport(message)) + { + //send a report: + report(); + } + else if (++count % 100 == 0) + { + System.out.println("Received " + count + " messages."); + } + } + + public static void main(String[] argv) throws Exception + { + Config config = new Config(); + config.setType(Config.HEADERS); + config.setName("test_headers_exchange"); + config.setOptions(argv); + new Listener((AMQConnection) config.getConnection(), config.getDestination()); + } +} diff --git a/java/client/test/src/org/apache/qpid/headers/MessageFactory.java b/java/client/test/src/org/apache/qpid/headers/MessageFactory.java new file mode 100644 index 0000000000..fcbfe8abf2 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/headers/MessageFactory.java @@ -0,0 +1,166 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.headers; + +import org.apache.qpid.framing.FieldTable; +import org.apache.qpid.client.AMQSession; + +import javax.jms.*; + +/** + */ +class MessageFactory +{ + private static final char[] DATA = "abcdefghijklmnopqrstuvwxyz".toCharArray(); + + private final AMQSession _session; + private final byte[] _payload; + + private String[] _headerNames; + + MessageFactory(AMQSession session) + { + this(session, Integer.getInteger("amqj.test.message_size", 256).intValue(), 5); + } + + MessageFactory(AMQSession session, int payloadSize, int headerCount) + { + if (headerCount < 1) + { + throw new IllegalArgumentException("Header count must be positive"); + } + _session = session; + _payload = new byte[payloadSize]; + for(int i = 0; i < _payload.length; i++) + { + _payload[i] = (byte) DATA[i % DATA.length]; + } + _headerNames = new String[headerCount]; + // note that with the standard encoding the headers get prefixed with an S to indicate their type + for (int i = 0; i < _headerNames.length; i++) + { + if (i < 10) + { + _headerNames[i] = "F000" + i; + } + else if (i >= 10 && i < 100) + { + _headerNames[i] = "F00" + i; + } + else + { + _headerNames[i] = "F0" + i; + } + } + } + + Message createEventMessage() throws JMSException + { + BytesMessage msg = _session.createBytesMessage(); + if (_payload.length != 0) + { + msg.writeBytes(_payload); + } + return setHeaders(msg, _headerNames); + } + + Message createShutdownMessage() throws JMSException + { + return setHeaders(_session.createMessage(), new String[]{"F0000", "SHUTDOWN"}); + } + + Message createReportRequestMessage() throws JMSException + { + return setHeaders(_session.createMessage(), new String[]{"F0000", "REPORT"}); + } + + Message createReportResponseMessage(String msg) throws JMSException + { + return setHeaders(_session.createTextMessage(msg), new String[]{"CONTROL", "REPORT"}); + } + + boolean isShutdown(Message m) + { + return checkPresent(m, "SHUTDOWN"); + } + + boolean isReport(Message m) + { + return checkPresent(m, "REPORT"); + } + + Object getReport(Message m) + { + try + { + return ((TextMessage) m).getText(); + } + catch (JMSException e) + { + e.printStackTrace(System.out); + return e.toString(); + } + } + + FieldTable getConsumerBinding() + { + FieldTable binding = new FieldTable(); + binding.put("SF0000", "value"); + return binding; + } + + FieldTable getControllerBinding() + { + FieldTable binding = new FieldTable(); + binding.put("SCONTROL", "value"); + return binding; + } + + MessageConsumer createConsumer(Destination source) throws Exception + { + return _session.createConsumer(source, 0, false, true, null, getConsumerBinding()); + } + + MessageConsumer createController(Destination source) throws Exception + { + return _session.createConsumer(source, 0, false, true, null, getControllerBinding()); + } + + private static boolean checkPresent(Message m, String s) + { + try + { + return m.getStringProperty(s) != null; + } + catch (JMSException e) + { + e.printStackTrace(System.out); + return false; + } + } + + private static Message setHeaders(Message m, String[] headers) throws JMSException + { + for(int i = 0; i < headers.length; i++) + { + // the value in GRM is 5 bytes + m.setStringProperty(headers[i], "value"); + } + return m; + } +} diff --git a/java/client/test/src/org/apache/qpid/headers/Publisher.java b/java/client/test/src/org/apache/qpid/headers/Publisher.java new file mode 100644 index 0000000000..16113037d1 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/headers/Publisher.java @@ -0,0 +1,130 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.headers; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.testutil.Config; + +import javax.jms.*; + +public class Publisher implements MessageListener +{ + private final Object _lock = new Object(); + private final AMQConnection _connection; + private final AMQSession _session; + private final Destination _exchange; + private final MessageFactory _factory; + private final MessageProducer _publisher; + private int _count; + + Publisher(AMQConnection connection, Destination exchange) throws Exception + { + _connection = connection; + _exchange = exchange; + _session = (AMQSession) _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + _factory = new MessageFactory(_session, 0, 19); + _publisher = _session.createProducer(_exchange); + } + + Publisher(Config config) throws Exception + { + this((AMQConnection) config.getConnection(), config.getDestination()); + } + + private void test(int msgCount, int consumerCount) throws Exception + { + _count = consumerCount; + _factory.createController(_exchange).setMessageListener(this); + _connection.start(); + long start = System.currentTimeMillis(); + publish(msgCount); + waitForCompletion(consumerCount); + long end = System.currentTimeMillis(); + + System.out.println("Completed in " + (end - start) + " ms."); + + //request shutdown + _publisher.send(_factory.createShutdownMessage()); + + _connection.stop(); + _connection.close(); + } + + private void publish(int count) throws Exception + { + + //send events + for (int i = 0; i < count; i++) + { + _publisher.send(_factory.createEventMessage()); + if ((i + 1) % 100 == 0) + { + System.out.println("Sent " + (i + 1) + " messages"); + } + } + + //request report + _publisher.send(_factory.createReportRequestMessage()); + } + + private void waitForCompletion(int consumers) throws Exception + { + System.out.println("Waiting for completion..."); + synchronized (_lock) + { + while (_count > 0) + { + _lock.wait(); + } + } + } + + + public void onMessage(Message message) + { + System.out.println("Received report " + _factory.getReport(message) + " " + --_count + " remaining"); + if (_count == 0) + { + synchronized (_lock) + { + _lock.notify(); + } + } + } + + + public static void main(String[] argv) throws Exception + { + if (argv.length >= 2) + { + int msgCount = Integer.parseInt(argv[argv.length - 2]); + int consumerCount = Integer.parseInt(argv[argv.length - 1]); + + Config config = new Config(); + config.setType(Config.HEADERS); + config.setName("test_headers_exchange"); + String[] options = new String[argv.length - 2]; + System.arraycopy(argv, 0, options, 0, options.length); + config.setOptions(options); + + new Publisher(config).test(msgCount, consumerCount); + } + + } +} diff --git a/java/client/test/src/org/apache/qpid/jndi/referenceable/Bind.java b/java/client/test/src/org/apache/qpid/jndi/referenceable/Bind.java new file mode 100644 index 0000000000..0829de0e82 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/jndi/referenceable/Bind.java @@ -0,0 +1,270 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jndi.referenceable; + +import org.apache.qpid.client.*; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; + +import javax.jms.*; +import javax.naming.*; + +import java.util.Properties; +import java.io.InputStream; +import java.io.FileInputStream; +import java.io.IOException; + +/** + * Binds a reference from a JNDI source. + * Given a properties file with the JNDI information and a binding string. + */ +class Bind +{ + private static final String USAGE="USAGE: java bind <JNDI Properties file> -cf <url> <binding> | -c <url> <binding> [-t <topic Name> <binding>] [-q <queue Name> <binding>]"; + public Bind(String propertiesFile, String bindingURL, Referenceable reference) throws NameAlreadyBoundException, NoInitialContextException + { + // Set up the environment for creating the initial context + String qpid_home = System.getProperty("QPID_HOME"); + + if (qpid_home == null || qpid_home.equals("")) + { + System.out.println("QPID_HOME is not set"); + System.exit(1); + } + + if (qpid_home.charAt(qpid_home.length() - 1) != '/') + { + qpid_home += "/"; + } + + try + { + InputStream inputStream = new FileInputStream(qpid_home + propertiesFile); + Properties properties = new Properties(); + properties.load(inputStream); + + // Create the initial context + Context ctx = new InitialContext(properties); + + // Perform the binds + ctx.bind(bindingURL, reference); + + // Close the context when we're done + ctx.close(); + } + catch (IOException ioe) + { + System.out.println("Unable to access properties file:" + propertiesFile + " Due to:" + ioe); + } + catch (NamingException e) + { + System.out.println("Operation failed: " + e); + if (e instanceof NameAlreadyBoundException) + { + throw (NameAlreadyBoundException) e; + } + + if (e instanceof NoInitialContextException) + { + throw (NoInitialContextException) e; + } + } + + } + + private static String parse(String[] args, int index, String what, String type) + { + try + { + return args[index]; + } + catch (IndexOutOfBoundsException ioobe) + { + System.out.println("ERROR: No " + what + " specified for " + type + "."); + System.out.println(USAGE); + System.exit(1); + } + + // The path is either return normally or exception.. which calls system exit so keep the compiler happy + return "Never going to happen"; + } + + + public static void main(String[] args) throws NameAlreadyBoundException, NoInitialContextException, URLSyntaxException, AMQException, JMSException + { + + + org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF); + +// org.apache.log4j.Logger _logger = org.apache.log4j.Logger.getLogger(AMQConnection.class); +// _logger.setLevel(org.apache.log4j.Level.OFF); + + boolean exit = false; + + String qpid_home = System.getProperty("QPID_HOME"); + + if (qpid_home == null || qpid_home.equals("")) + { + System.out.println("QPID_HOME is not set"); + exit = true; + } + + if (args.length <= 2) + { + System.out.println("At least a connection or connection factory must be requested to be bound."); + exit = true; + } + else + { + if ((args.length - 1) % 3 != 0) + { + System.out.println("Not all values have full details"); + exit = true; + } + } + if (exit) + { + System.out.println(USAGE); + System.exit(1); + } + + if (qpid_home.charAt(qpid_home.length() - 1) != '/') + + { + qpid_home += "/"; + } + + AMQConnectionFactory cf = null; + AMQConnection c = null; + AMQSession session = null; + Referenceable reference = null; + + for (int index = 1; index < args.length; index ++) + { + String obj = args[index]; + + String what = "Invalid"; + String binding; + + if (obj.startsWith("-c")) + { + boolean isFactory = obj.contains("f"); + + + if (isFactory) + { + what = "ConnectionFactory"; + } + else + { + what = "Factory"; + } + + String url = parse(args, ++index, "url", what); + + if (isFactory) + { + + cf = new AMQConnectionFactory(url); + reference = cf; + } + else + { + c = new AMQConnection(url); + reference = c; + } + + } + + if (obj.equals("-t") || obj.equals("-q")) + { + if (c == null) + { + c = (AMQConnection) cf.createConnection(); + } + + if (session == null) + { + session = (AMQSession) c.createSession(false, Session.AUTO_ACKNOWLEDGE); + } + + } + + if (obj.equals("-t")) + { + + String topicName = parse(args, ++index, "Topic Name", "Topic"); + reference = (AMQTopic) session.createTopic(topicName); + what = "Topic"; + } + else + { + if (obj.equals("-q")) + { + String topicName = parse(args, ++index, "Queue Name", "Queue"); + reference = (AMQQueue) session.createQueue(topicName); + what = "Queue"; + } + } + + binding = parse(args, ++index, "binding", what); + if (binding == null) + { + System.out.println(obj + " is not a known Object to bind."); + System.exit(1); + } + else + { + System.out.print("Binding:" + reference + " to " + binding); + try + { + new Bind(args[0], binding, reference); + System.out.println(" ..Successful"); + + } + catch (NameAlreadyBoundException nabe) + { + System.out.println(""); + if (!obj.startsWith("-c") || index == args.length - 1) + { + throw nabe; + } + else + { + System.out.println("Continuing with other bindings using the same connection details"); + } + } + finally + { + if (!obj.startsWith("-c") || index == args.length - 1) + { + if (c != null) + { + c.close(); + } + } + } + } + } + + if (c != null) + { + c.close(); + } + } +} diff --git a/java/client/test/src/org/apache/qpid/jndi/referenceable/Lookup.java b/java/client/test/src/org/apache/qpid/jndi/referenceable/Lookup.java new file mode 100644 index 0000000000..ed31539f8d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/jndi/referenceable/Lookup.java @@ -0,0 +1,176 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jndi.referenceable; + +import javax.naming.*; +import javax.jms.Connection; +import javax.jms.JMSException; + +import java.util.Properties; +import java.io.InputStream; +import java.io.FileInputStream; +import java.io.IOException; + +/** + * Looksup a reference from a JNDI source. + * Given a properties file with the JNDI information and a binding string. + */ +class Lookup +{ + private static final String USAGE = "USAGE: java lookup <JNDI Properties file> -b <binding>"; + + public Lookup(String propertiesFile, String bindingValue) throws NamingException + { + // Set up the environment for creating the initial context + String qpid_home = System.getProperty("QPID_HOME"); + + if (qpid_home == null || qpid_home.equals("")) + { + System.out.println("QPID_HOME is not set"); + System.exit(1); + } + + if (qpid_home.charAt(qpid_home.length() - 1) != '/') + { + qpid_home += "/"; + } + + try + { + InputStream inputStream = new FileInputStream(qpid_home + propertiesFile); + Properties properties = new Properties(); + properties.load(inputStream); + + // Create the initial context + Context ctx = new InitialContext(properties); + + // Perform the binds + Object obj = ctx.lookup(bindingValue); + + if (obj instanceof Connection) + { + try + { + ((Connection) obj).close(); + } + catch (JMSException jmse) + { + ; + } + } + + System.out.println(bindingValue + " bound to " + obj); + + // Close the context when we're done + ctx.close(); + } + catch (IOException ioe) + { + System.out.println("Unable to access properties file:" + propertiesFile + " Due to:" + ioe); + } + } + + private static String parse(String[] args, int index, String what) + { + try + { + return args[index]; + } + catch (IndexOutOfBoundsException ioobe) + { + System.out.println("ERROR: No " + what + " specified."); + System.out.println(USAGE); + System.exit(1); + } + + // The path is either return normally or exception.. which calls system exit so keep the compiler happy + return "Never going to happen"; + } + + + public static void main(String[] args) throws NamingException + { + boolean exit = false; + + String qpid_home = System.getProperty("QPID_HOME"); + + if (qpid_home == null || qpid_home.equals("")) + { + System.out.println("QPID_HOME is not set"); + exit = true; + } + + if (args.length <= 2) + { + System.out.println("At least a connection or connection factory must be requested to be bound."); + exit = true; + } + else + { + if ((args.length - 1) % 2 != 0) + { + System.out.println("Not all values have full details"); + exit = true; + } + } + if (exit) + { + System.out.println(USAGE); + System.exit(1); + } + + if (qpid_home.charAt(qpid_home.length() - 1) != '/') + + { + qpid_home += "/"; + } + + for (int index = 1; index < args.length; index ++) + { + String obj = args[index]; + + + if (obj.equals("-b")) + { + String binding = parse(args, ++index, "binding"); + + if (binding == null) + { + System.out.println("Binding not specified."); + System.exit(1); + } + else + { + System.out.print("Looking up:" + binding); + try + { + new Lookup(args[0], binding); + } + catch (NamingException nabe) + { + System.out.println("Problem unbinding " + binding + " continuing with other values."); + } + } + }// if -b + else + { + System.out.println("Continuing with other bindings option not known:" + obj); + } + }//for + }//main +}//class diff --git a/java/client/test/src/org/apache/qpid/jndi/referenceable/Unbind.java b/java/client/test/src/org/apache/qpid/jndi/referenceable/Unbind.java new file mode 100644 index 0000000000..90e5918e5c --- /dev/null +++ b/java/client/test/src/org/apache/qpid/jndi/referenceable/Unbind.java @@ -0,0 +1,163 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jndi.referenceable; + +import javax.naming.*; + +import java.util.Properties; +import java.io.InputStream; +import java.io.FileInputStream; +import java.io.IOException; + +/** + * Unbinds a reference from a JNDI source. + * Given a properties file with the JNDI information and a binding string. + */ +class UnBind +{ + private static final String USAGE = "USAGE: java unbind <JNDI Properties file> -b <binding>"; + + public UnBind(String propertiesFile, String bindingValue) throws NamingException + { + // Set up the environment for creating the initial context + String qpid_home = System.getProperty("QPID_HOME"); + + if (qpid_home == null || qpid_home.equals("")) + { + System.out.println("QPID_HOME is not set"); + System.exit(1); + } + + if (qpid_home.charAt(qpid_home.length() - 1) != '/') + { + qpid_home += "/"; + } + + try + { + InputStream inputStream = new FileInputStream(qpid_home + propertiesFile); + Properties properties = new Properties(); + properties.load(inputStream); + + // Create the initial context + Context ctx = new InitialContext(properties); + + // Perform the binds + ctx.unbind(bindingValue); + + // Close the context when we're done + ctx.close(); + } + catch (IOException ioe) + { + System.out.println("Unable to access properties file:" + propertiesFile + " Due to:" + ioe); + } + } + + private static String parse(String[] args, int index, String what) + { + try + { + return args[index]; + } + catch (IndexOutOfBoundsException ioobe) + { + System.out.println("ERROR: No " + what + " specified."); + System.out.println(USAGE); + System.exit(1); + } + + // The path is either return normally or exception.. which calls system exit so keep the compiler happy + return "Never going to happen"; + } + + + public static void main(String[] args) throws NamingException + { + boolean exit = false; + + String qpid_home = System.getProperty("QPID_HOME"); + + if (qpid_home == null || qpid_home.equals("")) + { + System.out.println("QPID_HOME is not set"); + exit = true; + } + + if (args.length <= 2) + { + System.out.println("At least a connection or connection factory must be requested to be bound."); + exit = true; + } + else + { + if ((args.length - 1) % 2 != 0) + { + System.out.println("Not all values have full details"); + exit = true; + } + } + if (exit) + { + System.out.println(USAGE); + System.exit(1); + } + + if (qpid_home.charAt(qpid_home.length() - 1) != '/') + + { + qpid_home += "/"; + } + + for (int index = 1; index < args.length; index ++) + { + String obj = args[index]; + + + if (obj.equals("-b")) + { + String binding = parse(args, ++index, "binding"); + + if (binding == null) + { + System.out.println("Binding not specified."); + System.exit(1); + } + else + { + System.out.print("UnBinding:" + binding); + try + { + new UnBind(args[0], binding); + System.out.println(" ..Successful"); + } + catch (NamingException nabe) + { + System.out.println(""); + + System.out.println("Problem unbinding " + binding + " continuing with other values."); + } + } + }// if -b + else + { + System.out.println("Continuing with other bindings option not known:" + obj); + } + }//for + }//main +}//class diff --git a/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Bind.java b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Bind.java new file mode 100644 index 0000000000..d5840d9600 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Bind.java @@ -0,0 +1,168 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jndi.referenceabletest; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.client.AMQConnectionFactory; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.junit.Assert; + +import javax.jms.*; +import javax.naming.*; + +import java.util.Hashtable; + +/** + * Usage: To run these you need to have the sun JNDI SPI for the FileSystem. + * This can be downloaded from sun here: + * http://java.sun.com/products/jndi/downloads/index.html + * Click : Download JNDI 1.2.1 & More button + * Download: File System Service Provider, 1.2 Beta 3 + * and add the two jars in the lib dir to your class path. + * <p/> + * Also you need to create the directory /temp/qpid-jndi-test + */ +class Bind +{ + + String _connectionFactoryString = ""; + + String _connectionString = "amqp://guest:guest@clientid/testpath?brokerlist='tcp://localhost:5672'"; + + Topic _topic = null; + + boolean _bound = false; + + public Bind() throws NameAlreadyBoundException, NoInitialContextException + { + this(false); + } + public Bind(boolean output) throws NameAlreadyBoundException, NoInitialContextException + { + // Set up the environment for creating the initial context + Hashtable env = new Hashtable(11); + env.put(Context.INITIAL_CONTEXT_FACTORY, + "com.sun.jndi.fscontext.RefFSContextFactory"); + env.put(Context.PROVIDER_URL, "file:/temp/qpid-jndi-test"); + + try + { + // Create the initial context + Context ctx = new InitialContext(env); + + // Create the connection factory to be bound + ConnectionFactory connectionFactory = null; + // Create the Connection to be bound + Connection connection = null; + + try + { + connectionFactory = new AMQConnectionFactory(_connectionString); + connection = connectionFactory.createConnection(); + + _connectionFactoryString = ((AMQConnectionFactory) connectionFactory).getConnectionURL().getURL(); + } + catch (JMSException jmsqe) + { + Assert.fail("Unable to create Connection:" + jmsqe); + } + catch (URLSyntaxException urlse) + { + Assert.fail("Unable to create Connection:" + urlse); + } + + try + { + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + _topic = session.createTopic("Fruity"); + + } + catch (JMSException jmse) + { + + } + // Perform the binds + ctx.bind("ConnectionFactory", connectionFactory); + if (output) + { + System.out.println("Bound factory\n" + ((AMQConnectionFactory) connectionFactory).getConnectionURL()); + } + ctx.bind("Connection", connection); + if (output) + { + System.out.println("Bound Connection\n" + ((AMQConnection) connection).toURL()); + } + ctx.bind("Topic", _topic); + if (output) + { + System.out.println("Bound Topic:\n" + ((AMQTopic) _topic).toURL()); + } + _bound = true; + + // Check that it is bound + //Object obj = ctx.lookup("Connection"); + //System.out.println(((AMQConnection)obj).toURL()); + + // Close the context when we're done + ctx.close(); + } + catch (NamingException e) + { + System.out.println("Operation failed: " + e); + if (e instanceof NameAlreadyBoundException) + { + throw (NameAlreadyBoundException) e; + } + + if (e instanceof NoInitialContextException) + { + throw (NoInitialContextException) e; + } + } + + } + + public String connectionFactoryValue() + { + return _connectionFactoryString; + } + + public String connectionValue() + { + return _connectionString; + } + + public String topicValue() + { + return ((AMQTopic) _topic).toURL(); + } + + public boolean bound() + { + return _bound; + } + + public static void main(String[] args) throws NameAlreadyBoundException, NoInitialContextException + { + new Bind(true); + } +} + diff --git a/java/client/test/src/org/apache/qpid/jndi/referenceabletest/JNDIReferenceableTest.java b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/JNDIReferenceableTest.java new file mode 100644 index 0000000000..c167442783 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/JNDIReferenceableTest.java @@ -0,0 +1,108 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jndi.referenceabletest; + +import org.junit.Test; +import org.junit.Assert; +import junit.framework.JUnit4TestAdapter; + +import javax.naming.NamingException; +import javax.naming.NameAlreadyBoundException; +import javax.naming.NoInitialContextException; + + +/** + * Usage: To run these you need to have the sun JNDI SPI for the FileSystem. + * This can be downloaded from sun here: + * http://java.sun.com/products/jndi/downloads/index.html + * Click : Download JNDI 1.2.1 & More button + * Download: File System Service Provider, 1.2 Beta 3 + * and add the two jars in the lib dir to your class path. + * <p/> + * Also you need to create the directory /temp/qpid-jndi-test + */ +public class JNDIReferenceableTest +{ + + @Test + public void referenceable() + { + Bind b = null; + try + { + + + try + { + b = new Bind(); + + } + catch (NameAlreadyBoundException e) + { + if (new Unbind().unbound()) + { + try + { + b = new Bind(); + } + catch (NameAlreadyBoundException ee) + { + Assert.fail("Unable to clear bound objects for test."); + } + } + else + { + Assert.fail("Unable to clear bound objects for test."); + } + + } + } + catch (NoInitialContextException e) + { + Assert.fail("You don't have the File System SPI on you class path.\n" + + "This can be downloaded from sun here:\n" + + "http://java.sun.com/products/jndi/downloads/index.html\n" + + "Click : Download JNDI 1.2.1 & More button\n" + + "Download: File System Service Provider, 1.2 Beta 3\n" + + "and add the two jars in the lib dir to your class path."); + } + + Assert.assertTrue(b.bound()); + + Lookup l = new Lookup(); + + Assert.assertTrue(l.connectionFactoryValue().equals(b.connectionFactoryValue())); + + Assert.assertTrue(l.connectionValue().equals(b.connectionValue())); + + Assert.assertTrue(l.topicValue().equals(b.topicValue())); + + + Unbind u = new Unbind(); + + Assert.assertTrue(u.unbound()); + + } + + public static junit.framework.Test suite + () + { + return new JUnit4TestAdapter(JNDIReferenceableTest.class); + } + +} diff --git a/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Lookup.java b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Lookup.java new file mode 100644 index 0000000000..f5bebeec6b --- /dev/null +++ b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Lookup.java @@ -0,0 +1,95 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jndi.referenceabletest; + +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQConnectionFactory; + +import javax.naming.*; +import java.util.Hashtable; + + +/** + * Usage: To run these you need to have the sun JNDI SPI for the FileSystem. + * This can be downloaded from sun here: + * http://java.sun.com/products/jndi/downloads/index.html + * Click : Download JNDI 1.2.1 & More button + * Download: File System Service Provider, 1.2 Beta 3 + * and add the two jars in the lib dir to your class path. + * <p/> + * Also you need to create the directory /temp/qpid-jndi-test + */ +class Lookup +{ + AMQTopic _topic = null; + AMQConnection _connection = null; + AMQConnectionFactory _connectionFactory = null; + + public Lookup() + { + // Set up the environment for creating the initial context + Hashtable env = new Hashtable(11); + env.put(Context.INITIAL_CONTEXT_FACTORY, + "com.sun.jndi.fscontext.RefFSContextFactory"); + env.put(Context.PROVIDER_URL, "file:/temp/qpid-jndi-test"); + + try + { + // Create the initial context + Context ctx = new InitialContext(env); + + _topic = (AMQTopic) ctx.lookup("Topic"); + + _connection = (AMQConnection) ctx.lookup("Connection"); + + _connectionFactory = (AMQConnectionFactory) ctx.lookup("ConnectionFactory"); + //System.out.println(topic); + + // Close the context when we're done + ctx.close(); + } + catch (NamingException e) + { + System.out.println("Operation failed: " + e); + } + } + + + public String connectionFactoryValue() + { + return ((AMQConnection) _connectionFactory.getConnectionURL()).toURL(); + } + + public String connectionValue() + { + return _connection.toURL(); + } + + public String topicValue() + { + return _topic.toURL(); + } + + + public static void main(String[] args) + { + new Lookup(); + } +} + diff --git a/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Unbind.java b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Unbind.java new file mode 100644 index 0000000000..d2787f6dd0 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/Unbind.java @@ -0,0 +1,124 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jndi.referenceabletest; + +import javax.naming.*; +import java.io.File; +import java.util.Hashtable; + +/** + * Usage: To run these you need to have the sun JNDI SPI for the FileSystem. + * This can be downloaded from sun here: + * http://java.sun.com/products/jndi/downloads/index.html + * Click : Download JNDI 1.2.1 & More button + * Download: File System Service Provider, 1.2 Beta 3 + * and add the two jars in the lib dir to your class path. + * <p/> + * Also you need to create the directory /temp/qpid-jndi-test + */ +class Unbind +{ + + + boolean _unbound = false; + + public Unbind() + { + this(false); + } + + public Unbind(boolean output) + { + + // Set up the environment for creating the initial context + Hashtable env = new Hashtable(11); + env.put(Context.INITIAL_CONTEXT_FACTORY, + "com.sun.jndi.fscontext.RefFSContextFactory"); + env.put(Context.PROVIDER_URL, "file:/temp/qpid-jndi-test"); + + try + { + // Create the initial context + Context ctx = new InitialContext(env); + + // Remove the binding + ctx.unbind("ConnectionFactory"); + ctx.unbind("Connection"); + ctx.unbind("Topic"); + + // Check that it is gone + Object obj = null; + try + { + obj = ctx.lookup("ConnectionFactory"); + } + catch (NameNotFoundException ne) + { + if (output) + { + System.out.println("unbind ConnectionFactory successful"); + } + try + { + obj = ctx.lookup("Connection"); + } + catch (NameNotFoundException ne2) + { + if (output) + { + System.out.println("unbind Connection successful"); + } + + try + { + obj = ctx.lookup("Topic"); + } + catch (NameNotFoundException ne3) + { + if (output) + { + System.out.println("unbind Topic successful"); + } + _unbound = true; + } + } + } + + //System.out.println("unbind failed; object still there: " + obj); + + // Close the context when we're done + ctx.close(); + } + catch (NamingException e) + { + System.out.println("Operation failed: " + e); + } + } + + public boolean unbound() + { + return _unbound; + } + + public static void main(String[] args) + { + + new Unbind(true); + } +} + diff --git a/java/client/test/src/org/apache/qpid/jndi/referenceabletest/UnitTests.java b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/UnitTests.java new file mode 100644 index 0000000000..f7b3889d22 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/jndi/referenceabletest/UnitTests.java @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.jndi.referenceabletest; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.apache.qpid.ack.*; +import junit.framework.JUnit4TestAdapter; + +@RunWith(Suite.class) +@Suite.SuiteClasses({JNDIReferenceableTest.class}) +public class UnitTests +{ + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(org.apache.qpid.destinationurl.UnitTests.class); + } +} diff --git a/java/client/test/src/org/apache/qpid/latency/LatencyTest.java b/java/client/test/src/org/apache/qpid/latency/LatencyTest.java new file mode 100644 index 0000000000..981bfdc3a6 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/latency/LatencyTest.java @@ -0,0 +1,148 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.latency; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.client.AMQSession; + +import javax.jms.MessageProducer; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.JMSException; +import javax.jms.TextMessage; +import javax.jms.BytesMessage; + +public class LatencyTest implements MessageListener +{ + private volatile boolean waiting; + private int sent; + private int received; + + private final byte[] data; + + private long min = Long.MAX_VALUE; + private long max = 0; + private long total = 0; + + LatencyTest(String broker, int count, int delay, int length) throws Exception + { + this(new AMQConnection(broker, "guest", "guest", randomize("Client"), "/test_path"), count, delay, length); + } + + LatencyTest(AMQConnection connection, int count, int delay, int length) throws Exception + { + this(connection, new AMQQueue(randomize("LatencyTest"), true), count, delay, length); + } + + LatencyTest(AMQConnection connection, AMQDestination destination, int count, int delay, int length) throws Exception + { + AMQSession session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE); + + data = new byte[length]; + for(int i = 0; i < data.length; i++) + { + data[i] = (byte) (i % 100); + } + + //set up a consumer + session.createConsumer(destination).setMessageListener(this); + connection.start(); + + //create a publisher + MessageProducer producer = session.createProducer(destination, false, false, true); + + //publish at a low volume + for(int i = 0; i < count; i++) + { + BytesMessage msg = session.createBytesMessage(); + msg.writeBytes(data); + msg.setStringProperty("sent-at", Long.toString(System.nanoTime())); + producer.send(msg); + Thread.sleep(delay); + if(++sent % 100 == 0) + { + System.out.println("Sent " + sent + " of " + count); + } + } + + waitUntilReceived(sent); + + session.close(); + connection.close(); + + System.out.println("Latency (in nanoseconds): avg=" + (total/sent) + ", min=" + min + ", max=" + max + + ", avg(discarding min and max)=" + ((total - min - max) / (sent - 2))); + } + + + private synchronized void waitUntilReceived(int count) throws InterruptedException + { + waiting = true; + while(received < count) + { + wait(); + } + waiting = false; + } + + public void onMessage(Message message) + { + received++; + try + { + long sent = Long.parseLong(message.getStringProperty("sent-at")); + long time = System.nanoTime() - sent; + total += time; + min = Math.min(min, time); + max = Math.max(max, time); + } + catch (JMSException e) + { + e.printStackTrace(); + } + + if(waiting){ + synchronized(this) + { + notify(); + } + } + } + + private static String randomize(String in) + { + return in + System.currentTimeMillis(); + } + + public static void main(String[] argv) throws Exception + { + String host = argv.length > 0 ? argv[0] : "localhost:5672"; + if("-help".equals(host)) + { + System.out.println("Usage: <broker> <message count> <delay between messages> <message size>"); + } + int count = argv.length > 1 ? Integer.parseInt(argv[1]) : 1000; + int delay = argv.length > 2 ? Integer.parseInt(argv[2]) : 1000; + int size = argv.length > 3 ? Integer.parseInt(argv[3]) : 512; + new LatencyTest(host, count, delay, size); + } + + +} diff --git a/java/client/test/src/org/apache/qpid/mina/AcceptorTest.java b/java/client/test/src/org/apache/qpid/mina/AcceptorTest.java new file mode 100644 index 0000000000..711bd3053d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/mina/AcceptorTest.java @@ -0,0 +1,107 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.mina; + +import junit.framework.JUnit4TestAdapter; +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoAcceptor; +import org.apache.mina.common.IoHandlerAdapter; +import org.apache.mina.common.IoSession; +import org.apache.mina.transport.socket.nio.SocketAcceptor; +import org.apache.mina.transport.socket.nio.SocketAcceptorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; +import org.junit.Test; +import org.apache.qpid.pool.ReadWriteThreadModel; + +import java.io.IOException; +import java.net.InetSocketAddress; + +/** + * Tests MINA socket performance. This acceptor simply reads data from the network and writes it back again. + * + */ +public class AcceptorTest +{ + private static final Logger _logger = Logger.getLogger(AcceptorTest.class); + + public static int PORT = 9999; + + private static class TestHandler extends IoHandlerAdapter + { + private int _sentCount; + + private int _bytesSent; + + public void messageReceived(IoSession session, Object message) throws Exception + { + ((ByteBuffer) message).acquire(); + session.write(message); + _logger.debug("Sent response " + ++_sentCount); + _bytesSent += ((ByteBuffer)message).remaining(); + _logger.debug("Bytes sent: " + _bytesSent); + } + + public void messageSent(IoSession session, Object message) throws Exception + { + //((ByteBuffer) message).release(); + } + + public void exceptionCaught(IoSession session, Throwable cause) throws Exception + { + _logger.error("Error: " + cause, cause); + } + } + + @Test + public void startAcceptor() throws IOException + { + boolean useMultithreadedIoProcessor = Boolean.getBoolean("qpid.io.multithreaded"); + IoAcceptor acceptor = null; + if (useMultithreadedIoProcessor) + { + acceptor = new org.apache.qpid.nio.SocketAcceptor(); + } + else + { + acceptor = new SocketAcceptor(); + } + SocketAcceptorConfig config = (SocketAcceptorConfig) acceptor.getDefaultConfig(); + SocketSessionConfig sc = (SocketSessionConfig) config.getSessionConfig(); + sc.setTcpNoDelay(true); + sc.setSendBufferSize(32768); + sc.setReceiveBufferSize(32768); + + config.setThreadModel(new ReadWriteThreadModel()); + + acceptor.bind(new InetSocketAddress(PORT), + new TestHandler()); + _logger.info("Bound on port " + PORT); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(AcceptorTest.class); + } + + public static void main(String[] args) throws IOException + { + AcceptorTest a = new AcceptorTest(); + a.startAcceptor(); + } +} diff --git a/java/client/test/src/org/apache/qpid/mina/BlockingAcceptorTest.java b/java/client/test/src/org/apache/qpid/mina/BlockingAcceptorTest.java new file mode 100644 index 0000000000..547ffc9dcb --- /dev/null +++ b/java/client/test/src/org/apache/qpid/mina/BlockingAcceptorTest.java @@ -0,0 +1,91 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.mina; + +import junit.framework.JUnit4TestAdapter; +import org.apache.log4j.Logger; +import org.junit.Test; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.ServerSocket; +import java.net.Socket; + +public class BlockingAcceptorTest +{ + private static final Logger _logger = Logger.getLogger(BlockingAcceptorTest.class); + + public static int PORT = 9999; + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(AcceptorTest.class); + } + + @Test + public void startAcceptor() throws IOException + { + + ServerSocket sock = new ServerSocket(PORT); + + sock.setReuseAddress(true); + sock.setReceiveBufferSize(32768); + _logger.info("Bound on port " + PORT); + + while (true) + { + final Socket s = sock.accept(); + _logger.info("Received connection from " + s.getRemoteSocketAddress()); + s.setReceiveBufferSize(32768); + s.setSendBufferSize(32768); + s.setTcpNoDelay(true); + new Thread(new Runnable() + { + public void run() + { + byte[] chunk = new byte[32768]; + try + { + InputStream is = s.getInputStream(); + OutputStream os = s.getOutputStream(); + + while (true) + { + int count = is.read(chunk, 0, chunk.length); + if (count > 0) + { + os.write(chunk, 0, count); + } + } + } + catch (IOException e) + { + _logger.error("Error - closing connection: " + e, e); + } + } + }, "SocketReaderWriter").start(); + } + } + + public static void main(String[] args) throws IOException + { + BlockingAcceptorTest a = new BlockingAcceptorTest(); + a.startAcceptor(); + } +} diff --git a/java/client/test/src/org/apache/qpid/mina/WriterTest.java b/java/client/test/src/org/apache/qpid/mina/WriterTest.java new file mode 100644 index 0000000000..b9e3d394b5 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/mina/WriterTest.java @@ -0,0 +1,272 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.mina; + +import junit.framework.JUnit4TestAdapter; +import org.apache.log4j.Logger; +import org.apache.mina.common.*; +import org.apache.mina.transport.socket.nio.SocketConnector; +import org.apache.mina.transport.socket.nio.SocketConnectorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; +import org.junit.Test; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.util.concurrent.CountDownLatch; + +public class WriterTest implements Runnable +{ + private static final Logger _logger = Logger.getLogger(WriterTest.class); + + private IoSession _session; + + private long _startTime; + + private long[] _chunkTimes; + + private int _chunkCount = 500000; + + private int _chunkSize = 1024; + + private CountDownLatch _notifier; + + public void run() + { + _startTime = System.currentTimeMillis(); + _notifier = new CountDownLatch(1); + for (int i = 0; i < _chunkCount; i++) + { + ByteBuffer buf = ByteBuffer.allocate(_chunkSize, false); + byte check = (byte) (i % 128); + buf.put(check); + buf.fill((byte)88, buf.remaining()); + buf.flip(); + _session.write(buf); + } + + try + { + _logger.info("All buffers sent; waiting for receipt from server"); + _notifier.await(); + } + catch (InterruptedException e) + { + } + _logger.info("Completed"); + long totalTime = System.currentTimeMillis() - _startTime; + _logger.info("Total time: " + totalTime); + _logger.info("MB per second: " + (_chunkSize * _chunkCount)/totalTime); + long lastChunkTime = _startTime; + double average = 0; + for (int i = 0; i < _chunkTimes.length; i++) + { + if (i == 0) + { + average = _chunkTimes[i] - _startTime; + } + else + { + long delta = _chunkTimes[i] - lastChunkTime; + if (delta != 0) + { + average = (average + delta)/2; + } + } + lastChunkTime = _chunkTimes[i]; + } + _logger.info("Average chunk time: " + average + "ms"); + CloseFuture cf = _session.close(); + cf.join(); + } + + private class WriterHandler extends IoHandlerAdapter + { + private int _chunksReceived = 0; + + private int _partialBytesRead = 0; + + private byte _partialCheckNumber; + + private int _totalBytesReceived = 0; + + public void messageReceived(IoSession session, Object message) throws Exception + { + ByteBuffer result = (ByteBuffer) message; + _totalBytesReceived += result.remaining(); + int size = result.remaining(); + long now = System.currentTimeMillis(); + if (_partialBytesRead > 0) + { + int offset = _chunkSize - _partialBytesRead; + if (size >= offset) + { + _chunkTimes[_chunksReceived++] = now; + result.position(offset); + } + else + { + // have not read even one chunk, including the previous partial bytes + _partialBytesRead += size; + return; + } + } + + int chunkCount = result.remaining()/_chunkSize; + + for (int i = 0; i < chunkCount; i++) + { + _chunkTimes[_chunksReceived++] = now; + byte check = result.get(); + _logger.debug("Check number " + check + " read"); + if (check != (byte)((_chunksReceived - 1)%128)) + { + _logger.error("Check number " + check + " read when expected " + (_chunksReceived%128)); + } + _logger.debug("Chunk times recorded"); + + try + { + result.skip(_chunkSize - 1); + } + catch (IllegalArgumentException e) + { + _logger.error("Position was: " + result.position()); + _logger.error("Tried to skip to: " + (_chunkSize * i)); + _logger.error("limit was; " + result.limit()); + } + } + _logger.debug("Chunks received now " + _chunksReceived); + _logger.debug("Bytes received: " + _totalBytesReceived); + _partialBytesRead = result.remaining(); + + if (_partialBytesRead > 0) + { + _partialCheckNumber = result.get(); + } + + if (_chunksReceived >= _chunkCount) + { + _notifier.countDown(); + } + + } + + public void exceptionCaught(IoSession session, Throwable cause) throws Exception + { + _logger.error("Error: " + cause, cause); + } + } + + public void startWriter() throws IOException, InterruptedException + { + IoConnector ioConnector = null; + boolean useMultithreadedIoProcessor = Boolean.getBoolean("qpid.io.multithreaded"); + if (useMultithreadedIoProcessor) + { + ioConnector = new org.apache.qpid.nio.SocketConnector(); + } + else + { + ioConnector = new SocketConnector(); + } + SocketConnectorConfig cfg = (SocketConnectorConfig) ioConnector.getDefaultConfig(); + cfg.setThreadModel(ThreadModel.MANUAL); + SocketSessionConfig scfg = (SocketSessionConfig) cfg.getSessionConfig(); + scfg.setTcpNoDelay(true); + scfg.setSendBufferSize(32768); + scfg.setReceiveBufferSize(32768); + + final InetSocketAddress address = new InetSocketAddress("localhost", AcceptorTest.PORT); + _logger.info("Attempting connection to " + address); + ConnectFuture future = ioConnector.connect(address, new WriterHandler()); + // wait for connection to complete + future.join(); + _logger.info("Connection completed"); + // we call getSession which throws an IOException if there has been an error connecting + _session = future.getSession(); + _chunkTimes = new long[_chunkCount]; + Thread t = new Thread(this); + t.start(); + t.join(); + _logger.info("Test completed"); + } + + @Test + public void test1k() throws IOException, InterruptedException + { + _logger.info("Starting 1k test"); + _chunkSize = 1024; + startWriter(); + } + + @Test + public void test2k() throws IOException, InterruptedException + { + _logger.info("Starting 2k test"); + _chunkSize = 2048; + startWriter(); + } + + @Test + public void test4k() throws IOException, InterruptedException + { + _logger.info("Starting 4k test"); + _chunkSize = 4096; + startWriter(); + } + + @Test + public void test8k() throws IOException, InterruptedException + { + _logger.info("Starting 8k test"); + _chunkSize = 8192; + startWriter(); + } + + @Test + public void test16k() throws IOException, InterruptedException + { + _logger.info("Starting 16k test"); + _chunkSize = 16384; + startWriter(); + } + + @Test + public void test32k() throws IOException, InterruptedException + { + _logger.info("Starting 32k test"); + _chunkSize = 32768; + startWriter(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(WriterTest.class); + } + + public static void main(String[] args) throws IOException, InterruptedException + { + WriterTest w = new WriterTest(); + //w.test1k(); + //w.test2k(); + //w.test4k(); + w.test8k(); + //w.test16k(); + //w.test32k(); + } +} diff --git a/java/client/test/src/org/apache/qpid/multiconsumer/AMQTest.java b/java/client/test/src/org/apache/qpid/multiconsumer/AMQTest.java new file mode 100644 index 0000000000..66bb2e5e01 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/multiconsumer/AMQTest.java @@ -0,0 +1,264 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.multiconsumer; + +import java.io.ByteArrayOutputStream; +import java.util.zip.Deflater; +import java.util.zip.Inflater; + +import javax.jms.Connection; +import javax.jms.ExceptionListener; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.Session; +import javax.jms.TextMessage; +import javax.jms.Topic; + +import junit.framework.TestCase; + +import org.apache.commons.codec.binary.Base64; +import org.apache.qpid.client.AMQConnectionFactory; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQTopic; + +/** + * Test AMQ. + */ +public class AMQTest extends TestCase implements ExceptionListener +{ + + private final static String COMPRESSION_PROPNAME = "_MSGAPI_COMP"; + private final static String UTF8 = "UTF-8"; + private static final String SUBJECT = "test.amq"; + private static final String DUMMYCONTENT = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + private static final String HUGECONTENT; + + private Connection connect = null; + private Session pubSession = null; + private Session subSession = null; + private Topic topic = null; + + static + { + StringBuilder sb = new StringBuilder(DUMMYCONTENT.length() * 115); + for (int i = 0; i < 100; i++) + { + sb.append(DUMMYCONTENT); + } + HUGECONTENT = sb.toString(); + } + + private void setup() throws Exception + { + connect = new AMQConnection("localhost", 5672, "guest", "guest", "client1", "/"); + connect.setExceptionListener(this); + pubSession = connect.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE); + subSession = connect.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE); + topic = new AMQTopic(SUBJECT); + + connect.start(); + } + + public void testMultipleListeners() throws Exception + { + setup(); + try + { + // Create 5 listeners + MsgHandler[] listeners = new MsgHandler[5]; + for (int i = 0; i < listeners.length; i++) + { + listeners[i] = new MsgHandler(); + MessageConsumer subscriber = subSession.createConsumer(topic); + subscriber.setMessageListener(listeners[i]); + } + MessageProducer publisher = pubSession.createProducer(topic); + // Send a single message + TextMessage msg = pubSession.createTextMessage(); + msg.setText(DUMMYCONTENT); + publisher.send(msg); + Thread.sleep(5000); + // Check listeners to ensure they all got it + for (int i = 0; i < listeners.length; i++) + { + if (listeners[i].isGotIt()) + { + System.out.println("Got callback for listener " + i); + } + else + { + TestCase.fail("Listener " + i + " did not get callback"); + } + } + } + catch (Throwable e) + { + System.err.println("Error: " + e); + e.printStackTrace(System.err); + } + finally + { + close(); + } + } + + public void testCompression() throws Exception + { + setup(); + String comp = this.compressString(HUGECONTENT); + try + { + MsgHandler listener = new MsgHandler(); + MessageConsumer subscriber = subSession.createConsumer(topic); + subscriber.setMessageListener(listener); + MessageProducer publisher = pubSession.createProducer(topic); + + // Send a single message + TextMessage msg = pubSession.createTextMessage(); + // Set the compressed text + msg.setText(comp); + msg.setBooleanProperty(COMPRESSION_PROPNAME, true); + publisher.send(msg); + Thread.sleep(1000); + // Check listeners to ensure we got it + if (listener.isGotIt()) + { + System.out.println("Got callback for listener"); + } + else + { + TestCase.fail("Listener did not get callback"); + } + } + finally + { + close(); + } + } + + private void close() throws Exception + { + if (connect != null) + { + connect.close(); + } + } + + private class MsgHandler implements MessageListener + { + private boolean gotIt = false; + + public void onMessage(Message msg) + { + try + { + TextMessage textMessage = (TextMessage) msg; + String string = textMessage.getText(); + if (string != null && string.length() > 0) + { + gotIt = true; + } + if (textMessage.getBooleanProperty(COMPRESSION_PROPNAME)) + { + string = inflateString(string); + } + System.out.println("Got callback of size " + (string==null?0:string.length())); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + public boolean isGotIt() + { + return this.gotIt; + } + } + + private String compressString(String string) throws Exception + { + long start = System.currentTimeMillis(); + byte[] input = string.getBytes(); + Deflater compressor = new Deflater(Deflater.BEST_COMPRESSION); + compressor.setInput(input); + compressor.finish(); + + // Get byte array from output of compressor + ByteArrayOutputStream baos = new ByteArrayOutputStream(input.length); + byte[] buf = new byte[1024]; + while (!compressor.finished()) + { + int cnt = compressor.deflate(buf); + baos.write(buf, 0, cnt); + } + baos.close(); + byte[] output = baos.toByteArray(); + + // Convert byte array into String + byte[] base64 = Base64.encodeBase64(output); + String sComp = new String(base64, UTF8); + + long diff = System.currentTimeMillis() - start; + System.out.println("Compressed text from " + input.length + " to " + + sComp.getBytes().length + " in " + diff + " ms"); + System.out.println("Compressed text = '" + sComp + "'"); + + return sComp; + } + + private String inflateString(String string) throws Exception + { + byte[] input = string.getBytes(); + + // First convert Base64 string back to binary array + byte[] bytes = Base64.decodeBase64(input); + + // Set string as input data for decompressor + Inflater decompressor = new Inflater(); + decompressor.setInput(bytes); + + // Decompress the data + ByteArrayOutputStream bos = new ByteArrayOutputStream(input.length); + byte[] buf = new byte[1024]; + while (!decompressor.finished()) + { + int count = decompressor.inflate(buf); + bos.write(buf, 0, count); + } + bos.close(); + byte[] output = bos.toByteArray(); + + // Get the decompressed data + return new String(output, UTF8); + } + + /** + * @see javax.jms.ExceptionListener#onException(javax.jms.JMSException) + */ + public void onException(JMSException e) + { + System.err.println(e.getMessage()); + e.printStackTrace(System.err); + } + + +} diff --git a/java/client/test/src/org/apache/qpid/ping/TestPingClient.java b/java/client/test/src/org/apache/qpid/ping/TestPingClient.java new file mode 100644 index 0000000000..77c5bb648c --- /dev/null +++ b/java/client/test/src/org/apache/qpid/ping/TestPingClient.java @@ -0,0 +1,128 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ping; + +import org.apache.log4j.Logger; +import org.apache.log4j.Level; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.jms.Session; + +import javax.jms.*; +import java.net.InetAddress; + +public class TestPingClient +{ + private static final Logger _logger = Logger.getLogger(TestPingClient.class); + + private static class TestPingMessageListener implements MessageListener + { + public TestPingMessageListener() + { + } + + long _lastTimestamp = 0L; + long _lastTimestampString = 0L; + + public void onMessage(javax.jms.Message message) + { + if (_logger.isInfoEnabled()) + { + long timestamp = 0L; + long timestampString = 0L; + + try + { + timestamp = message.getLongProperty("timestamp"); + timestampString = Long.parseLong(message.getStringProperty("timestampString")); + + if (timestampString != timestamp) + { + _logger.info("Timetamps differ!:\n" + + "timestamp:" + timestamp + "\n" + + "timestampString:" + timestampString); + } + + } + catch (JMSException jmse) + { + } + + long diff = timestamp - _lastTimestamp; + _lastTimestamp = timestamp; + + long stringDiff = timestampString - _lastTimestampString; + + _lastTimestampString = timestampString; + + _logger.info("Ping: T:" + diff + "ms, TS:" + stringDiff); + + // _logger.info(_name + " got message '" + message + "\n"); + } + } + } + + public static void main(String[] args) + { + _logger.setLevel(Level.INFO); + + _logger.info("Starting..."); + + if (args.length < 4) + { + System.out.println("Usage: brokerdetails username password virtual-path [selector] "); + System.exit(1); + } + try + { + InetAddress address = InetAddress.getLocalHost(); + AMQConnection con1 = new AMQConnection(args[0], args[1], args[2], + address.getHostName(), args[3]); + + final org.apache.qpid.jms.Session session1 = (org.apache.qpid.jms.Session) + con1.createSession(false, Session.AUTO_ACKNOWLEDGE); + + + String selector = null; + + if (args.length == 5) + { + selector = args[4]; + } + + _logger.info("Message selector is <" + selector + ">..."); + + Queue q = new AMQQueue("ping"); + + MessageConsumer consumer1 = session1.createConsumer(q, + 1, false, false, selector); + + consumer1.setMessageListener(new TestPingMessageListener()); + con1.start(); + } + catch (Throwable t) + { + System.err.println("Fatal error: " + t); + t.printStackTrace(); + } + + System.out.println("Waiting..."); + } +} + diff --git a/java/client/test/src/org/apache/qpid/ping/TestPingProducer.java b/java/client/test/src/org/apache/qpid/ping/TestPingProducer.java new file mode 100644 index 0000000000..999f593131 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/ping/TestPingProducer.java @@ -0,0 +1,210 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ping; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQNoConsumersException; +import org.apache.qpid.client.BasicMessageProducer; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.jms.MessageProducer; +import org.apache.qpid.jms.Session; + +import javax.jms.*; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * A client that behaves as follows: + * <ul><li>Connects to a queue, whose name is specified as a cmd-line argument</li> + * <li>Creates a temporary queue</li> + * <li>Creates messages containing a property that is the name of the temporary queue</li> + * <li>Fires off a message on the original queue and waits for a response on the temporary queue</li> + * </ul> + */ +public class TestPingProducer implements ExceptionListener +{ + private static final Logger _log = Logger.getLogger(TestPingProducer.class); + + private AMQConnection _connection; + + private Session _session; + + private boolean _publish; + + private long SLEEP_TIME = 250L; + + private class CallbackHandler implements MessageListener + { + + private int _actualMessageCount; + + + public void onMessage(Message m) + { + if (_log.isDebugEnabled()) + { + _log.debug("Message received: " + m); + } + _actualMessageCount++; + if (_actualMessageCount % 1000 == 0) + { + _log.info("Received message count: " + _actualMessageCount); + } + } + } + + public TestPingProducer(boolean TRANSACTED, String brokerDetails, String clientID, + String virtualpath) throws AMQException, URLSyntaxException + { + try + { + createConnection(brokerDetails, clientID, virtualpath); + + if (TRANSACTED) + { + _session = (Session) _connection.createSession(true, Session.SESSION_TRANSACTED); + } + else + { + _session = (Session) _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + } + + AMQQueue destination = new AMQQueue("ping"); + MessageProducer producer = (MessageProducer) _session.createProducer(destination); + + _connection.setExceptionListener(this); + + _connection.start(); + + int messageNumber = 0; + + while (_publish) + { +/* + TextMessage msg = _session.createTextMessage( + "Presented to in conjunction with Mahnah Mahnah and the Snowths: " + ++messageNumber); +*/ + ObjectMessage msg = _session.createObjectMessage(); + + msg.setStringProperty("timestampString", Long.toString(System.currentTimeMillis())); + msg.setLongProperty("timestamp", System.currentTimeMillis()); + + ((BasicMessageProducer) producer).send(msg, DeliveryMode.NON_PERSISTENT, true); + + + if (TRANSACTED) + { + try{ + _session.commit(); + _log.info("Message Sent.");// +"\n"+ msg); + }catch (JMSException e) + { + try + { + _session.rollback(); + } + catch (JMSException jsme) + { + _log.info(jsme); + } + + + if (e.getLinkedException() instanceof AMQNoConsumersException) + { + _log.info("No Consumers never mind."); + + continue; + } + } + } + + + if (SLEEP_TIME > 0) + { + try + { + Thread.sleep(SLEEP_TIME); + } + catch (InterruptedException ie) + { + //do nothing + } + } + + + } + + } + catch (JMSException e) + { + _publish = false; + e.printStackTrace(); + } + } + + private void createConnection(String brokerDetails, String clientID, String virtualpath) throws AMQException, URLSyntaxException + { + _publish = true; + _connection = new AMQConnection(brokerDetails, "guest", "guest", + clientID, virtualpath); + } + + /** + * @param args argument 1 if present specifies the name of the temporary queue to create. Leaving it blank + * means the server will allocate a name. + */ + public static void main(String[] args) throws URLSyntaxException + { + if (args.length == 0) + { + System.err.println("Usage: TestPingPublisher <brokerDetails> <virtual path> [transacted]"); + System.exit(0); + } + try + { + InetAddress address = InetAddress.getLocalHost(); + String clientID = address.getHostName() + System.currentTimeMillis(); + new TestPingProducer(args.length == 3, args[0], clientID, args[1]); + } + catch (UnknownHostException e) + { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + catch (AMQException e) + { + System.err.println("Error in client: " + e); + e.printStackTrace(); + } + + //System.exit(0); + } + + /** + * @see javax.jms.ExceptionListener#onException(javax.jms.JMSException) + */ + public void onException(JMSException e) + { + System.err.println(e.getMessage()); + + _publish = false; + e.printStackTrace(System.err); + } +} diff --git a/java/client/test/src/org/apache/qpid/ping/TestPingPublisher.java b/java/client/test/src/org/apache/qpid/ping/TestPingPublisher.java new file mode 100644 index 0000000000..b297cf8610 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/ping/TestPingPublisher.java @@ -0,0 +1,177 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ping; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.client.BasicMessageProducer; +import org.apache.qpid.jms.MessageProducer; +import org.apache.qpid.jms.Session; + +import javax.jms.*; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * A client that behaves as follows: + * <ul><li>Connects to a queue, whose name is specified as a cmd-line argument</li> + * <li>Creates a temporary queue</li> + * <li>Creates messages containing a property that is the name of the temporary queue</li> + * <li>Fires off a message on the original queue and waits for a response on the temporary queue</li> + * </ul> + */ +public class TestPingPublisher implements ExceptionListener +{ + private static final Logger _log = Logger.getLogger(TestPingPublisher.class); + + private AMQConnection _connection; + + private Session _session; + + private boolean _publish; + + private long SLEEP_TIME = 0L; + + private class CallbackHandler implements MessageListener + { + + private int _actualMessageCount; + + + public void onMessage(Message m) + { + if (_log.isDebugEnabled()) + { + _log.debug("Message received: " + m); + } + _actualMessageCount++; + if (_actualMessageCount % 1000 == 0) + { + _log.info("Received message count: " + _actualMessageCount); + } + } + } + + public TestPingPublisher(String brokerDetails, String clientID, String virtualpath) throws AMQException, URLSyntaxException + { + try + { + createConnection(brokerDetails, clientID, virtualpath); + + _session = (Session) _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + //AMQQueue destination = new AMQQueue("ping"); + AMQTopic destination = new AMQTopic("ping"); + MessageProducer producer = (MessageProducer) _session.createProducer(destination); + + _connection.setExceptionListener(this); + + _connection.start(); + + int messageNumber = 0; + + while (_publish) + { +/* + TextMessage msg = _session.createTextMessage( + "Presented to in conjunction with Mahnah Mahnah and the Snowths: " + ++messageNumber); +*/ + ObjectMessage msg = _session.createObjectMessage(); + + Long time = System.nanoTime(); + msg.setStringProperty("timestampString", Long.toString(time)); + msg.setLongProperty("timestamp", time); + + ((BasicMessageProducer) producer).send(msg, DeliveryMode.PERSISTENT, true); + + _log.info("Message Sent:\n" + msg); + + if (SLEEP_TIME > 0) + { + try + { + Thread.sleep(SLEEP_TIME); + } + catch (InterruptedException ie) + { + //do nothing + } + } + + + } + + } + catch (JMSException e) + { + e.printStackTrace(); + } + } + + private void createConnection(String brokerDetails, String clientID, String virtualpath) throws AMQException, URLSyntaxException + { + _publish = true; + _connection = new AMQConnection(brokerDetails, "guest", "guest", + clientID, virtualpath); + + } + + /** + * @param args argument 1 if present specifies the name of the temporary queue to create. Leaving it blank + * means the server will allocate a name. + */ + public static void main(String[] args) throws URLSyntaxException + { + if (args.length == 0) + { + System.err.println("Usage: TestPingPublisher <brokerDetails> <virtual path>"); + System.exit(0); + } + try + { + InetAddress address = InetAddress.getLocalHost(); + String clientID = address.getHostName() + System.currentTimeMillis(); + new TestPingPublisher(args[0], clientID, args[1]); + } + catch (UnknownHostException e) + { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + catch (AMQException e) + { + System.err.println("Error in client: " + e); + e.printStackTrace(); + } + + //System.exit(0); + } + + /** + * @see javax.jms.ExceptionListener#onException(javax.jms.JMSException) + */ + public void onException(JMSException e) + { + System.err.println(e.getMessage()); + + _publish = false; + e.printStackTrace(System.err); + } +} diff --git a/java/client/test/src/org/apache/qpid/ping/TestPingSubscriber.java b/java/client/test/src/org/apache/qpid/ping/TestPingSubscriber.java new file mode 100644 index 0000000000..8e6a4a125e --- /dev/null +++ b/java/client/test/src/org/apache/qpid/ping/TestPingSubscriber.java @@ -0,0 +1,129 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ping; + +import org.apache.log4j.Logger; +import org.apache.log4j.Level; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.jms.Session; + +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.Topic; +import javax.jms.JMSException; +import java.net.InetAddress; + +public class TestPingSubscriber +{ + private static final Logger _logger = Logger.getLogger(TestPingClient.class); + + private static class TestPingMessageListener implements MessageListener + { + public TestPingMessageListener() + { + } + + long _lastTimestamp = 0L; + long _lastTimestampString = 0L; + + public void onMessage(javax.jms.Message message) + { + Long time = System.nanoTime(); + + if (_logger.isInfoEnabled()) + { + long timestamp = 0L; + long timestampString = 0L; + + try + { + timestamp = message.getLongProperty("timestamp"); + timestampString = Long.parseLong(message.getStringProperty("timestampString")); + + if (timestampString != timestamp) + { + _logger.info("Timetamps differ!:\n" + + "timestamp:" + timestamp + "\n" + + "timestampString:" + timestampString); + } + + } + catch (JMSException jmse) + { + } + + long diff = time - timestamp; + + long stringDiff = time - timestampString; + + _logger.info("Ping: TS:" + stringDiff/1000+"us"); + + // _logger.info(_name + " got message '" + message + "\n"); + } + } + } + + public static void main(String[] args) + { + _logger.setLevel(Level.INFO); + + _logger.info("Starting..."); + + if (args.length < 4) + { + System.out.println("Usage: brokerdetails username password virtual-path [selector] "); + System.exit(1); + } + try + { + InetAddress address = InetAddress.getLocalHost(); + AMQConnection con1 = new AMQConnection(args[0], args[1], args[2], + address.getHostName(), args[3]); + + final org.apache.qpid.jms.Session session1 = (org.apache.qpid.jms.Session) + con1.createSession(false, Session.AUTO_ACKNOWLEDGE); + + + String selector = null; + + if (args.length == 5) + { + selector = args[4]; + } + + _logger.info("Message selector is <" + selector + ">..."); + + Topic t = new AMQTopic("ping"); + + MessageConsumer consumer1 = session1.createConsumer(t, + 1, false, false, selector); + + consumer1.setMessageListener(new TestPingMessageListener()); + con1.start(); + } + catch (Throwable t) + { + System.err.println("Fatal error: " + t); + t.printStackTrace(); + } + + System.out.println("Waiting..."); + } +} + diff --git a/java/client/test/src/org/apache/qpid/pubsub1/TestPublisher.java b/java/client/test/src/org/apache/qpid/pubsub1/TestPublisher.java new file mode 100644 index 0000000000..c3e4fb9e0d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/pubsub1/TestPublisher.java @@ -0,0 +1,171 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.pubsub1; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.jms.MessageProducer; +import org.apache.qpid.jms.Session; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.TextMessage; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * A client that behaves as follows: + * <ul><li>Connects to a queue, whose name is specified as a cmd-line argument</li> + * <li>Creates a temporary queue</li> + * <li>Creates messages containing a property that is the name of the temporary queue</li> + * <li>Fires off a message on the original queue and waits for a response on the temporary queue</li> + * </ul> + * + */ +public class TestPublisher +{ + private static final Logger _log = Logger.getLogger(TestPublisher.class); + + private AMQConnection _connection; + + private Session _session; + + private class CallbackHandler implements MessageListener + { + private int _expectedMessageCount; + + private int _actualMessageCount; + + private long _startTime; + + public CallbackHandler(int expectedMessageCount, long startTime) + { + _expectedMessageCount = expectedMessageCount; + _startTime = startTime; + } + + public void onMessage(Message m) + { + if (_log.isDebugEnabled()) + { + _log.debug("Message received: " + m); + } + _actualMessageCount++; + if (_actualMessageCount%1000 == 0) + { + _log.info("Received message count: " + _actualMessageCount); + } + /*if (!"henson".equals(m.toString())) + { + _log.error("AbstractJMSMessage response not correct: expected 'henson' but got " + m.toString()); + } + else + { + if (_log.isDebugEnabled()) + { + _log.debug("AbstractJMSMessage " + m + " received"); + } + else + { + _log.info("AbstractJMSMessage received"); + } + } */ + + if (_actualMessageCount == _expectedMessageCount) + { + long timeTaken = System.currentTimeMillis() - _startTime; + System.out.println("Total time taken to receive " + _expectedMessageCount+ " messages was " + + timeTaken + "ms, equivalent to " + + (_expectedMessageCount/(timeTaken/1000.0)) + " messages per second"); + } + } + } + + public TestPublisher(String host, int port, String clientID, String commandQueueName, + final int messageCount) throws AMQException, URLSyntaxException + { + try + { + createConnection(host, port, clientID); + + _session = (Session) _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + AMQTopic destination = new AMQTopic(commandQueueName); + MessageProducer producer = (MessageProducer) _session.createProducer(destination); + + _connection.start(); + //TextMessage msg = _session.createTextMessage(tempDestination.getQueueName() + "/Presented to in conjunction with Mahnah Mahnah and the Snowths"); + final long startTime = System.currentTimeMillis(); + + for (int i = 0; i < messageCount; i++) + { + TextMessage msg = _session.createTextMessage(destination.getTopicName() + "/Presented to in conjunction with Mahnah Mahnah and the Snowths: " + i); + + //msg.setIntProperty("a",i % 2); + //msg.setIntProperty("b",i % 4); + + producer.send(msg); + } + _log.info("Finished sending " + messageCount + " messages"); + } + catch (JMSException e) + { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + } + + private void createConnection(String host, int port, String clientID) throws AMQException, URLSyntaxException + { + _connection = new AMQConnection(host, port, "guest", "guest", + clientID, "/test"); + } + + /** + * + * @param args argument 1 if present specifies the name of the temporary queue to create. Leaving it blank + * means the server will allocate a name. + */ + public static void main(String[] args) throws URLSyntaxException + { + if (args.length == 0) + { + System.err.println("Usage: TestPublisher <host> <port> <command queue name> <number of messages>"); + } + try + { + int port = Integer.parseInt(args[1]); + InetAddress address = InetAddress.getLocalHost(); + String clientID = address.getHostName() + System.currentTimeMillis(); + TestPublisher client = new TestPublisher(args[0], port, clientID, args[2], Integer.parseInt(args[3])); + } + catch (UnknownHostException e) + { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + catch (AMQException e) + { + System.err.println("Error in client: " + e); + e.printStackTrace(); + } + + //System.exit(0); + } +} diff --git a/java/client/test/src/org/apache/qpid/pubsub1/TestSubscriber.java b/java/client/test/src/org/apache/qpid/pubsub1/TestSubscriber.java new file mode 100644 index 0000000000..968cd23880 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/pubsub1/TestSubscriber.java @@ -0,0 +1,117 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.pubsub1; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.jms.Session; + +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.Topic; +import java.net.InetAddress; + +public class TestSubscriber +{ + private static final Logger _logger = Logger.getLogger(TestSubscriber.class); + + private static class TestMessageListener implements MessageListener + { + private String _name; + + private int _expectedMessageCount; + + private int _messageCount; + + private long _startTime = 0; + + public TestMessageListener(String name, int expectedMessageCount) + { + _name = name; + _expectedMessageCount = expectedMessageCount; + } + + public void onMessage(javax.jms.Message message) + { + if (_messageCount++ == 0) + { + _startTime = System.currentTimeMillis(); + } + if (_logger.isInfoEnabled()) + { + _logger.info(_name + " got message '" + message + "'"); + } + if (_messageCount == _expectedMessageCount) + { + long totalTime = System.currentTimeMillis() - _startTime; + _logger.error(_name + ": Total time to receive " + _messageCount + " messages was " + + totalTime + "ms. Rate is " + (_messageCount/(totalTime/1000.0))); + } + if (_messageCount > _expectedMessageCount) + { + _logger.error("Oops! More messages received than expected (" + _messageCount + ")"); + } + } + } + + public static void main(String[] args) + { + _logger.info("Starting..."); + + if (args.length != 7) + { + System.out.println("Usage: host port username password virtual-path expectedMessageCount selector"); + System.exit(1); + } + try + { + InetAddress address = InetAddress.getLocalHost(); + AMQConnection con1 = new AMQConnection(args[0], Integer.parseInt(args[1]), args[2], args[3], + address.getHostName(), args[4]); + final org.apache.qpid.jms.Session session1 = (org.apache.qpid.jms.Session) con1.createSession(false, Session.AUTO_ACKNOWLEDGE); + + AMQConnection con2 = new AMQConnection(args[0], Integer.parseInt(args[1]), args[2], args[3], + address.getHostName(), args[4]); + final org.apache.qpid.jms.Session session2 = (org.apache.qpid.jms.Session) con2.createSession(false, Session.AUTO_ACKNOWLEDGE); + String selector = args[6]; + + final int expectedMessageCount = Integer.parseInt(args[5]); + _logger.info("Message selector is <" + selector + ">..."); + + Topic t = new AMQTopic("cbr"); + MessageConsumer consumer1 = session1.createConsumer(t, + 100, false, false, selector); + MessageConsumer consumer2 = session2.createConsumer(t, + 100, false, false, selector); + + consumer1.setMessageListener(new TestMessageListener("ML 1", expectedMessageCount)); + consumer2.setMessageListener(new TestMessageListener("ML 2", expectedMessageCount)); + con1.start(); + con2.start(); + } + catch (Throwable t) + { + System.err.println("Fatal error: " + t); + t.printStackTrace(); + } + + System.out.println("Waiting..."); + } +} + diff --git a/java/client/test/src/org/apache/qpid/requestreply1/ServiceProvidingClient.java b/java/client/test/src/org/apache/qpid/requestreply1/ServiceProvidingClient.java new file mode 100644 index 0000000000..415eedc8a5 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/requestreply1/ServiceProvidingClient.java @@ -0,0 +1,198 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.requestreply1; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.jms.Session; +import org.apache.qpid.jms.ConnectionListener; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; + +import javax.jms.*; +import java.net.InetAddress; +import java.net.UnknownHostException; + +public class ServiceProvidingClient +{ + private static final Logger _logger = Logger.getLogger(ServiceProvidingClient.class); + + private MessageProducer _destinationProducer; + + private Destination _responseDest; + + private AMQConnection _connection; + + public ServiceProvidingClient(String brokerDetails, String username, String password, + String clientName, String virtualPath, String serviceName) + throws AMQException, JMSException, URLSyntaxException + { + _connection = new AMQConnection(brokerDetails, username, password, + clientName, virtualPath); + _connection.setConnectionListener(new ConnectionListener() + { + + public void bytesSent(long count) + { + } + + public void bytesReceived(long count) + { + } + + public boolean preFailover(boolean redirect) + { + return true; + } + + public boolean preResubscribe() + { + return true; + } + + public void failoverComplete() + { + _logger.info("App got failover complete callback"); + } + }); + final Session session = (Session) _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + _logger.info("Service (queue) name is '" + serviceName + "'..."); + + AMQQueue destination = new AMQQueue(serviceName); + + MessageConsumer consumer = session.createConsumer(destination, + 100, true, false, null); + + consumer.setMessageListener(new MessageListener() + { + private int _messageCount; + + public void onMessage(Message message) + { + //_logger.info("Got message '" + message + "'"); + + TextMessage tm = (TextMessage) message; + + try + { + Destination responseDest = tm.getJMSReplyTo(); + if (responseDest == null) + { + _logger.info("Producer not created because the response destination is null."); + return; + } + + if (!responseDest.equals(_responseDest)) + { + _responseDest = responseDest; + + _logger.info("About to create a producer"); + _destinationProducer = session.createProducer(responseDest); + _destinationProducer.setDisableMessageTimestamp(true); + _destinationProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); + _logger.info("After create a producer"); + } + } + catch (JMSException e) + { + _logger.error("Error creating destination"); + } + _messageCount++; + if (_messageCount % 1000 == 0) + { + _logger.info("Received message total: " + _messageCount); + _logger.info("Sending response to '" + _responseDest + "'"); + } + + try + { + String payload = "This is a response: sing together: 'Mahnah mahnah...'" + tm.getText(); + TextMessage msg = session.createTextMessage(payload); + if (tm.propertyExists("timeSent")) + { + _logger.info("timeSent property set on message"); + _logger.info("timeSent value is: " + tm.getLongProperty("timeSent")); + msg.setStringProperty("timeSent", tm.getStringProperty("timeSent")); + } + _destinationProducer.send(msg); + if (_messageCount % 1000 == 0) + { + _logger.info("Sent response to '" + _responseDest + "'"); + } + } + catch (JMSException e) + { + _logger.error("Error sending message: " + e, e); + } + } + }); + } + + public void run() throws JMSException + { + _connection.start(); + _logger.info("Waiting..."); + } + + public static void main(String[] args) + { + _logger.info("Starting..."); + + if (args.length < 5) + { + System.out.println("Usage: brokerDetails username password virtual-path serviceQueue [selector]"); + System.exit(1); + } + String clientId = null; + try + { + InetAddress address = InetAddress.getLocalHost(); + clientId = address.getHostName() + System.currentTimeMillis(); + } + catch (UnknownHostException e) + { + _logger.error("Error: " + e, e); + } + + try + { + ServiceProvidingClient client = new ServiceProvidingClient(args[0], args[1], args[2], + clientId, args[3], args[4]); + client.run(); + } + catch (JMSException e) + { + _logger.error("Error: " + e, e); + } + catch (AMQException e) + { + _logger.error("Error: " + e, e); + } + catch (URLSyntaxException e) + { + _logger.error("Error: " + e, e); + } + + + + } + +} + diff --git a/java/client/test/src/org/apache/qpid/requestreply1/ServiceRequestingClient.java b/java/client/test/src/org/apache/qpid/requestreply1/ServiceRequestingClient.java new file mode 100644 index 0000000000..9e172af211 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/requestreply1/ServiceRequestingClient.java @@ -0,0 +1,299 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.requestreply1; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQDestination; +import org.apache.qpid.jms.MessageConsumer; +import org.apache.qpid.jms.MessageProducer; +import org.apache.qpid.jms.Session; + +import javax.jms.*; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * A client that behaves as follows: + * <ul><li>Connects to a queue, whose name is specified as a cmd-line argument</li> + * <li>Creates a temporary queue</li> + * <li>Creates messages containing a property that is the name of the temporary queue</li> + * <li>Fires off a message on the original queue and waits for a response on the temporary queue</li> + * </ul> + * + */ +public class ServiceRequestingClient implements ExceptionListener +{ + private static final Logger _log = Logger.getLogger(ServiceRequestingClient.class); + + private static final String MESSAGE_DATA_BYTES = "jfd ghljgl hjvhlj cvhvjf ldhfsj lhfdsjf hldsjfk hdslkfj hsdflk "; + + private String MESSAGE_DATA; + + private AMQConnection _connection; + + private Session _session; + + private long _averageLatency; + + private int _messageCount; + + private volatile boolean _completed; + + private AMQDestination _tempDestination; + + private MessageProducer _producer; + + private Object _waiter; + + private static String createMessagePayload(int size) + { + _log.info("Message size set to " + size + " bytes"); + StringBuffer buf = new StringBuffer(size); + int count = 0; + while (count < size + MESSAGE_DATA_BYTES.length()) + { + buf.append(MESSAGE_DATA_BYTES); + count += MESSAGE_DATA_BYTES.length(); + } + if (count < size) + { + buf.append(MESSAGE_DATA_BYTES, 0, size - count); + } + + return buf.toString(); + } + + private class CallbackHandler implements MessageListener + { + private int _expectedMessageCount; + + private int _actualMessageCount; + + private long _startTime; + + public CallbackHandler(int expectedMessageCount, long startTime) + { + _expectedMessageCount = expectedMessageCount; + _startTime = startTime; + } + + public void onMessage(Message m) + { + if (_log.isDebugEnabled()) + { + _log.debug("Message received: " + m); + } + try + { + if (m.propertyExists("timeSent")) + { + long timeSent = Long.parseLong(m.getStringProperty("timeSent")); + long now = System.currentTimeMillis(); + if (_averageLatency == 0) + { + _averageLatency = now - timeSent; + _log.info("Latency " + _averageLatency); + } + else + { + _log.info("Individual latency: " + (now - timeSent)); + _averageLatency = (_averageLatency + (now - timeSent)) / 2; + _log.info("Average latency now: " + _averageLatency); + } + } + } + catch (JMSException e) + { + _log.error("Error getting latency data: " + e, e); + } + _actualMessageCount++; + if (_actualMessageCount % 1000 == 0) + { + _log.info("Received message count: " + _actualMessageCount); + } + + if (_actualMessageCount == _expectedMessageCount) + { + _completed = true; + notifyWaiter(); + long timeTaken = System.currentTimeMillis() - _startTime; + _log.info("Total time taken to receive " + _expectedMessageCount + " messages was " + + timeTaken + "ms, equivalent to " + + (_expectedMessageCount / (timeTaken / 1000.0)) + " messages per second"); + + try + { + _connection.close(); + _log.info("Connection closed"); + } + catch (JMSException e) + { + _log.error("Error closing connection"); + } + } + } + } + + private void notifyWaiter() + { + if (_waiter != null) + { + synchronized (_waiter) + { + _waiter.notify(); + } + } + } + public ServiceRequestingClient(String brokerHosts, String clientID, String username, String password, + String vpath, String commandQueueName, + final int messageCount, final int messageDataLength) throws AMQException, URLSyntaxException + { + _messageCount = messageCount; + MESSAGE_DATA = createMessagePayload(messageDataLength); + try + { + createConnection(brokerHosts, clientID, username, password, vpath); + _session = (Session) _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + + _connection.setExceptionListener(this); + + + AMQQueue destination = new AMQQueue(commandQueueName); + _producer = (MessageProducer) _session.createProducer(destination); + _producer.setDisableMessageTimestamp(true); + _producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); + + _tempDestination = new AMQQueue("TempResponse" + + Long.toString(System.currentTimeMillis()), true); + MessageConsumer messageConsumer = (MessageConsumer) _session.createConsumer(_tempDestination, 100, true, + true, null); + + //Send first message, then wait a bit to allow the provider to get initialised + TextMessage first = _session.createTextMessage(MESSAGE_DATA); + first.setJMSReplyTo(_tempDestination); + _producer.send(first); + try + { + Thread.sleep(1000); + } + catch (InterruptedException ignore) + { + } + + //now start the clock and the test... + final long startTime = System.currentTimeMillis(); + + messageConsumer.setMessageListener(new CallbackHandler(messageCount, startTime)); + } + catch (JMSException e) + { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + } + + /** + * Run the test and notify an object upon receipt of all responses. + * @param waiter the object that will be notified + * @throws JMSException + */ + public void run(Object waiter) throws JMSException + { + _waiter = waiter; + _connection.start(); + for (int i = 1; i < _messageCount; i++) + { + TextMessage msg = _session.createTextMessage(MESSAGE_DATA + i); + msg.setJMSReplyTo(_tempDestination); + if (i % 1000 == 0) + { + long timeNow = System.currentTimeMillis(); + msg.setStringProperty("timeSent", String.valueOf(timeNow)); + } + _producer.send(msg); + } + _log.info("Finished sending " + _messageCount + " messages"); + } + + public boolean isCompleted() + { + return _completed; + } + + private void createConnection(String brokerHosts, String clientID, String username, String password, + String vpath) throws AMQException, URLSyntaxException + { + _connection = new AMQConnection(brokerHosts, username, password, + clientID, vpath); + } + + /** + * @param args argument 1 if present specifies the name of the temporary queue to create. Leaving it blank + * means the server will allocate a name. + */ + public static void main(String[] args) + { + if (args.length < 6) + { + System.err.println( + "Usage: ServiceRequestingClient <brokerDetails - semicolon separated host:port list> <username> <password> <vpath> <command queue name> <number of messages> <message size>"); + } + try + { + int messageDataLength = args.length > 6 ? Integer.parseInt(args[6]) : 4096; + + InetAddress address = InetAddress.getLocalHost(); + String clientID = address.getHostName() + System.currentTimeMillis(); + ServiceRequestingClient client = new ServiceRequestingClient(args[0], clientID, args[1], args[2], args[3], + args[4], Integer.parseInt(args[5]), + messageDataLength); + Object waiter = new Object(); + client.run(waiter); + synchronized (waiter) + { + while (!client.isCompleted()) + { + waiter.wait(); + } + } + + } + catch (UnknownHostException e) + { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + catch (Exception e) + { + System.err.println("Error in client: " + e); + e.printStackTrace(); + } + } + + /** + * @see javax.jms.ExceptionListener#onException(javax.jms.JMSException) + */ + public void onException(JMSException e) + { + System.err.println(e.getMessage()); + e.printStackTrace(System.err); + } +} diff --git a/java/client/test/src/org/apache/qpid/requestreply1/VmRequestReply.java b/java/client/test/src/org/apache/qpid/requestreply1/VmRequestReply.java new file mode 100644 index 0000000000..34e5aa1727 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/requestreply1/VmRequestReply.java @@ -0,0 +1,69 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.requestreply1; + +import org.apache.qpid.vmbroker.VmPipeBroker; +import org.junit.Test; +import org.apache.log4j.Logger; +import junit.framework.JUnit4TestAdapter; + +public class VmRequestReply extends VmPipeBroker +{ + private static final Logger _logger = Logger.getLogger(VmRequestReply.class); + + @Test + public void simpleClient() throws Exception + { + ServiceProvidingClient serviceProvider = new ServiceProvidingClient("tcp://foo:123", "guest", "guest", + "serviceProvidingClient", "/test", + "serviceQ"); + + ServiceRequestingClient serviceRequester = new ServiceRequestingClient("tcp://foo:123", "myClient", "guest", "guest", + "/test", "serviceQ", 5000, 512); + + serviceProvider.run(); + Object waiter = new Object(); + serviceRequester.run(waiter); + synchronized (waiter) + { + while (!serviceRequester.isCompleted()) + { + waiter.wait(); + } + } + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(VmRequestReply.class); + } + + public static void main(String[] args) + { + VmRequestReply rr = new VmRequestReply(); + try + { + rr.initialiseBroker(); + rr.simpleClient(); + } + catch (Exception e) + { + _logger.error("Error: " + e, e); + } + } +} diff --git a/java/client/test/src/org/apache/qpid/testutil/Config.java b/java/client/test/src/org/apache/qpid/testutil/Config.java new file mode 100644 index 0000000000..b5ec9c8c0c --- /dev/null +++ b/java/client/test/src/org/apache/qpid/testutil/Config.java @@ -0,0 +1,195 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.testutil; + +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQHeadersExchange; + +import javax.jms.Destination; +import javax.jms.Connection; + +public class Config +{ + public static final String QUEUE = "queue"; + public static final String TOPIC = "topic"; + public static final String HEADERS = "headers"; + + private String host = "localhost"; + private int port = 5672; + private String type; + private String name = "simple_test_queue"; + + public Config() + { + this("localhost", 5672, QUEUE, "simple_test_queue"); + } + + public Config(String host, int port, String type, String name) + { + setHost(host); + setPort(port); + setType(type); + setName(name); + } + + public String getHost() + { + return host; + } + + public void setHost(String host) + { + this.host = host; + } + + public int getPort() + { + return port; + } + + public void setPort(int port) + { + this.port = port; + } + + public String getType() + { + return type; + } + + public void setType(String type) + { + this.type = type; + } + + public boolean isQueue() + { + return QUEUE.equalsIgnoreCase(type); + } + + public boolean isTopic() + { + return TOPIC.equalsIgnoreCase(type); + } + + private boolean isHeaders() + { + return HEADERS.equalsIgnoreCase(type); + } + + public void setQueue(boolean queue) + { + type = queue ? QUEUE : TOPIC; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public Destination getDestination() + { + if(isQueue()) + { + System.out.println("Using queue named " + name); + return new AMQQueue(name); + } + else if(isTopic()) + { + System.out.println("Using topic named " + name); + return new AMQTopic(name); + } + else if(isHeaders()) + { + System.out.println("Using headers exhange named " + name); + return new AMQHeadersExchange(name); + } + return null; + } + + public Connection getConnection() throws Exception + { + System.out.println("Connecting to " + host + " on " + port + "..."); + return new AMQConnection(host, port, "guest", "guest", "Client" + System.currentTimeMillis(), "/test_path"); + } + + public boolean setOptions(String[] argv) + { + try + { + for(int i = 0; i < argv.length - 1; i += 2) + { + String key = argv[i]; + String value = argv[i+1]; + setOption(key, value); + } + return true; + } + catch(Exception e) + { + System.out.println(e.getMessage()); + } + return false; + } + + private void setOption(String key, String value) + { + if("-host".equalsIgnoreCase(key)) + { + setHost(value); + } + else if("-port".equalsIgnoreCase(key)) + { + try + { + setPort(Integer.parseInt(value)); + } + catch(NumberFormatException e) + { + throw new RuntimeException("Bad port number: " + value); + } + } + else if("-name".equalsIgnoreCase(key)) + { + setName(value); + } + else if("-type".equalsIgnoreCase(key)) + { + if(QUEUE.equalsIgnoreCase(value) + || TOPIC.equalsIgnoreCase(value) + || HEADERS.equalsIgnoreCase(value)) + { + type = value; + } + else{ + throw new RuntimeException("Bad destination type: " + value); + } + } + else + { + System.out.println("Ignoring unrecognised option: " + key); + } + } +} diff --git a/java/client/test/src/org/apache/qpid/topic/Config.java b/java/client/test/src/org/apache/qpid/topic/Config.java new file mode 100644 index 0000000000..e77b1098c2 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/topic/Config.java @@ -0,0 +1,240 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.topic; + +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.config.ConnectorConfig; +import org.apache.qpid.config.ConnectionFactoryInitialiser; +import org.apache.qpid.config.Connector; +import org.apache.qpid.config.AbstractConfig; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; + +class Config extends AbstractConfig implements ConnectorConfig +{ + + private String host = "localhost"; + private int port = 5672; + private String factory = null; + + private int payload = 256; + private int messages = 1000; + private int clients = 1; + private int batch = 1; + private long delay = 1; + private int warmup; + private int ackMode= AMQSession.NO_ACKNOWLEDGE; + private String clientId; + private String subscriptionId; + private boolean persistent; + + public Config() + { + } + + int getAckMode() + { + return ackMode; + } + + void setPayload(int payload) + { + this.payload = payload; + } + + int getPayload() + { + return payload; + } + + void setClients(int clients) + { + this.clients = clients; + } + + int getClients() + { + return clients; + } + + void setMessages(int messages) + { + this.messages = messages; + } + + int getMessages() + { + return messages; + } + + public String getHost() + { + return host; + } + + public void setHost(String host) + { + this.host = host; + } + + public int getPort() + { + return port; + } + + public String getFactory() + { + return factory; + } + + public void setPort(int port) + { + this.port = port; + } + + int getBatch() + { + return batch; + } + + void setBatch(int batch) + { + this.batch = batch; + } + + int getWarmup() + { + return warmup; + } + + void setWarmup(int warmup) + { + this.warmup = warmup; + } + + public long getDelay() + { + return delay; + } + + public void setDelay(long delay) + { + this.delay = delay; + } + + String getClientId() + { + return clientId; + } + + String getSubscriptionId() + { + return subscriptionId; + } + + boolean usePersistentMessages() + { + return persistent; + } + + public void setOption(String key, String value) + { + if("-host".equalsIgnoreCase(key)) + { + setHost(value); + } + else if("-port".equalsIgnoreCase(key)) + { + try + { + setPort(Integer.parseInt(value)); + } + catch(NumberFormatException e) + { + throw new RuntimeException("Bad port number: " + value); + } + } + else if("-payload".equalsIgnoreCase(key)) + { + setPayload(parseInt("Bad payload size", value)); + } + else if("-messages".equalsIgnoreCase(key)) + { + setMessages(parseInt("Bad message count", value)); + } + else if("-clients".equalsIgnoreCase(key)) + { + setClients(parseInt("Bad client count", value)); + } + else if("-batch".equalsIgnoreCase(key)) + { + setBatch(parseInt("Bad batch count", value)); + } + else if("-delay".equalsIgnoreCase(key)) + { + setDelay(parseLong("Bad batch delay", value)); + } + else if("-warmup".equalsIgnoreCase(key)) + { + setWarmup(parseInt("Bad warmup count", value)); + } + else if("-ack".equalsIgnoreCase(key)) + { + ackMode = parseInt("Bad ack mode", value); + } + else if("-factory".equalsIgnoreCase(key)) + { + factory = value; + } + else if("-clientId".equalsIgnoreCase(key)) + { + clientId = value; + } + else if("-subscriptionId".equalsIgnoreCase(key)) + { + subscriptionId = value; + } + else if("-persistent".equalsIgnoreCase(key)) + { + persistent = "true".equalsIgnoreCase(value); + } + else + { + System.out.println("Ignoring unrecognised option: " + key); + } + } + + static String getAckModeDescription(int ackMode) + { + switch(ackMode) + { + case AMQSession.NO_ACKNOWLEDGE: return "NO_ACKNOWLEDGE"; + case AMQSession.AUTO_ACKNOWLEDGE: return "AUTO_ACKNOWLEDGE"; + case AMQSession.CLIENT_ACKNOWLEDGE: return "CLIENT_ACKNOWLEDGE"; + case AMQSession.DUPS_OK_ACKNOWLEDGE: return "DUPS_OK_ACKNOWELDGE"; + case AMQSession.PRE_ACKNOWLEDGE: return "PRE_ACKNOWLEDGE"; + } + return "AckMode=" + ackMode; + } + + public Connection createConnection() throws Exception + { + return new Connector().createConnection(this); + } +} diff --git a/java/client/test/src/org/apache/qpid/topic/DurableSubscriptionTest.java b/java/client/test/src/org/apache/qpid/topic/DurableSubscriptionTest.java new file mode 100644 index 0000000000..cec6a72fea --- /dev/null +++ b/java/client/test/src/org/apache/qpid/topic/DurableSubscriptionTest.java @@ -0,0 +1,135 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.topic; + +import junit.framework.JUnit4TestAdapter; +import org.junit.Assert; +import org.junit.Test; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.AMQTopic; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.apache.qpid.vmbroker.VmPipeBroker; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageProducer; +import javax.jms.Session; +import javax.jms.TextMessage; +import javax.jms.TopicSubscriber; + +public class DurableSubscriptionTest extends VmOrRemoteTestCase +{ + @Test + public void unsubscribe() throws AMQException, JMSException, URLSyntaxException + { + AMQTopic topic = new AMQTopic("MyTopic"); + AMQConnection con = new AMQConnection("vm:1", "guest", "guest", "test", "/test"); + Session session1 = con.createSession(false, AMQSession.NO_ACKNOWLEDGE); + MessageConsumer consumer1 = session1.createConsumer(topic); + MessageProducer producer = session1.createProducer(topic); + + Session session2 = con.createSession(false, AMQSession.NO_ACKNOWLEDGE); + TopicSubscriber consumer2 = session2.createDurableSubscriber(topic, "MySubscription"); + + con.start(); + + producer.send(session1.createTextMessage("A")); + + Message msg; + msg = consumer1.receive(); + Assert.assertEquals("A", ((TextMessage) msg).getText()); + msg = consumer1.receive(1000); + Assert.assertEquals(null, msg); + + msg = consumer2.receive(); + Assert.assertEquals("A", ((TextMessage) msg).getText()); + msg = consumer2.receive(1000); + Assert.assertEquals(null, msg); + + session2.unsubscribe("MySubscription"); + + producer.send(session1.createTextMessage("B")); + + msg = consumer1.receive(); + Assert.assertEquals("B", ((TextMessage) msg).getText()); + msg = consumer1.receive(1000); + Assert.assertEquals(null, msg); + + msg = consumer2.receive(1000); + Assert.assertEquals(null, msg); + + con.close(); + } + + @Test + public void durability() throws AMQException, JMSException, URLSyntaxException + { + AMQTopic topic = new AMQTopic("MyTopic"); + AMQConnection con = new AMQConnection("vm:1", "guest", "guest", "test", "/test"); + Session session1 = con.createSession(false, AMQSession.NO_ACKNOWLEDGE); + MessageConsumer consumer1 = session1.createConsumer(topic); + MessageProducer producer = session1.createProducer(topic); + + Session session2 = con.createSession(false, AMQSession.NO_ACKNOWLEDGE); + TopicSubscriber consumer2 = session2.createDurableSubscriber(topic, "MySubscription"); + + con.start(); + + producer.send(session1.createTextMessage("A")); + + Message msg; + msg = consumer1.receive(); + Assert.assertEquals("A", ((TextMessage) msg).getText()); + msg = consumer1.receive(1000); + Assert.assertEquals(null, msg); + + msg = consumer2.receive(); + Assert.assertEquals("A", ((TextMessage) msg).getText()); + msg = consumer2.receive(1000); + Assert.assertEquals(null, msg); + + consumer2.close(); + + Session session3 = con.createSession(false, AMQSession.NO_ACKNOWLEDGE); + MessageConsumer consumer3 = session3.createDurableSubscriber(topic, "MySubscription"); + + producer.send(session1.createTextMessage("B")); + + msg = consumer1.receive(); + Assert.assertEquals("B", ((TextMessage) msg).getText()); + msg = consumer1.receive(1000); + Assert.assertEquals(null, msg); + + msg = consumer3.receive(); + Assert.assertEquals("B", ((TextMessage) msg).getText()); + msg = consumer3.receive(1000); + Assert.assertEquals(null, msg); + + con.close(); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(DurableSubscriptionTest.class); + } + +} diff --git a/java/client/test/src/org/apache/qpid/topic/Listener.java b/java/client/test/src/org/apache/qpid/topic/Listener.java new file mode 100644 index 0000000000..cb4ef6c0d2 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/topic/Listener.java @@ -0,0 +1,138 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.topic; + +import javax.jms.Connection; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.Session; + +public class Listener implements MessageListener +{ + private final Connection _connection; + private final MessageProducer _controller; + private final javax.jms.Session _session; + private final MessageFactory _factory; + private boolean init; + private int count; + private long start; + + Listener(Connection connection, int ackMode) throws Exception + { + this(connection, ackMode, null); + } + + Listener(Connection connection, int ackMode, String name) throws Exception + { + _connection = connection; + _session = connection.createSession(false, ackMode); + _factory = new MessageFactory(_session); + + //register for events + if(name == null) + { + _factory.createTopicConsumer().setMessageListener(this); + } + else + { + _factory.createDurableTopicConsumer(name).setMessageListener(this); + } + + _connection.start(); + + _controller = _factory.createControlPublisher(); + System.out.println("Waiting for messages " + + Config.getAckModeDescription(ackMode) + + (name == null ? "" : " (subscribed with name " + name + " and client id " + connection.getClientID() + ")") + + "..."); + + } + + private void shutdown() + { + try + { + _session.close(); + _connection.stop(); + _connection.close(); + } + catch(Exception e) + { + e.printStackTrace(System.out); + } + } + + private void report() + { + try + { + String msg = getReport(); + _controller.send(_factory.createReportResponseMessage(msg)); + System.out.println("Sent report: " + msg); + } + catch(Exception e) + { + e.printStackTrace(System.out); + } + } + + private String getReport() + { + long time = (System.currentTimeMillis() - start); + return "Received " + count + " in " + time + "ms"; + } + + public void onMessage(Message message) + { + if(!init) + { + start = System.currentTimeMillis(); + count = 0; + init = true; + } + + if(_factory.isShutdown(message)) + { + shutdown(); + } + else if(_factory.isReport(message)) + { + //send a report: + report(); + init = false; + } + else if (++count % 100 == 0) + { + System.out.println("Received " + count + " messages."); + } + } + + public static void main(String[] argv) throws Exception + { + Config config = new Config(); + config.setOptions(argv); + + Connection con = config.createConnection(); + if(config.getClientId() != null) + { + con.setClientID(config.getClientId()); + } + new Listener(con, config.getAckMode(), config.getSubscriptionId()); + } +} diff --git a/java/client/test/src/org/apache/qpid/topic/MessageFactory.java b/java/client/test/src/org/apache/qpid/topic/MessageFactory.java new file mode 100644 index 0000000000..fff85d1290 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/topic/MessageFactory.java @@ -0,0 +1,150 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.topic; + +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.AMQTopic; + +import javax.jms.*; + +/** + */ +class MessageFactory +{ + private static final char[] DATA = "abcdefghijklmnopqrstuvwxyz".toCharArray(); + + private final Session _session; + private final Topic _topic; + private final Topic _control; + private final byte[] _payload; + + + MessageFactory(Session session) throws JMSException + { + this(session, 256); + } + + MessageFactory(Session session, int size) throws JMSException + { + _session = session; + if(session instanceof AMQSession) + { + _topic = new AMQTopic("topictest.messages"); + _control = new AMQTopic("topictest.control"); + } + else + { + _topic = session.createTopic("topictest.messages"); + _control = session.createTopic("topictest.control"); + } + _payload = new byte[size]; + + for(int i = 0; i < size; i++) + { + _payload[i] = (byte) DATA[i % DATA.length]; + } + } + + Topic getTopic() + { + return _topic; + } + + Message createEventMessage() throws JMSException + { + BytesMessage msg = _session.createBytesMessage(); + msg.writeBytes(_payload); + return msg; + } + + Message createShutdownMessage() throws JMSException + { + return _session.createTextMessage("SHUTDOWN"); + } + + Message createReportRequestMessage() throws JMSException + { + return _session.createTextMessage("REPORT"); + } + + Message createReportResponseMessage(String msg) throws JMSException + { + return _session.createTextMessage(msg); + } + + boolean isShutdown(Message m) + { + return checkText(m, "SHUTDOWN"); + } + + boolean isReport(Message m) + { + return checkText(m, "REPORT"); + } + + Object getReport(Message m) + { + try + { + return ((TextMessage) m).getText(); + } + catch (JMSException e) + { + e.printStackTrace(System.out); + return e.toString(); + } + } + + MessageConsumer createTopicConsumer() throws Exception + { + return _session.createConsumer(_topic); + } + + MessageConsumer createDurableTopicConsumer(String name) throws Exception + { + return _session.createDurableSubscriber(_topic, name); + } + + MessageConsumer createControlConsumer() throws Exception + { + return _session.createConsumer(_control); + } + + MessageProducer createTopicPublisher() throws Exception + { + return _session.createProducer(_topic); + } + + MessageProducer createControlPublisher() throws Exception + { + return _session.createProducer(_control); + } + + private static boolean checkText(Message m, String s) + { + try + { + return m instanceof TextMessage && ((TextMessage) m).getText().equals(s); + } + catch (JMSException e) + { + e.printStackTrace(System.out); + return false; + } + } +} diff --git a/java/client/test/src/org/apache/qpid/topic/Publisher.java b/java/client/test/src/org/apache/qpid/topic/Publisher.java new file mode 100644 index 0000000000..3b8c7ce810 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/topic/Publisher.java @@ -0,0 +1,171 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.topic; + +import javax.jms.*; + +public class Publisher implements MessageListener +{ + private final Object _lock = new Object(); + private final Connection _connection; + private final Session _session; + private final MessageFactory _factory; + private final MessageProducer _publisher; + private int _count; + + Publisher(Connection connection, int size, int ackMode, boolean persistent) throws Exception + { + _connection = connection; + _session = _connection.createSession(false, ackMode); + _factory = new MessageFactory(_session, size); + _publisher = _factory.createTopicPublisher(); + _publisher.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT); + System.out.println("Publishing " + (persistent ? "persistent" : "non-persistent") + " messages of " + size + " bytes, " + Config.getAckModeDescription(ackMode) + "."); + } + + private void test(Config config) throws Exception + { + test(config.getBatch(), config.getDelay(), config.getMessages(), config.getClients(), config.getWarmup()); + } + + private void test(int batches, long delay, int msgCount, int consumerCount, int warmup) throws Exception + { + _factory.createControlConsumer().setMessageListener(this); + _connection.start(); + + if(warmup > 0) + { + System.out.println("Runing warmup (" + warmup + " msgs)"); + long time = batch(warmup, consumerCount); + System.out.println("Warmup completed in " + time + "ms"); + } + + long[] times = new long[batches]; + for(int i = 0; i < batches; i++) + { + if(i > 0) Thread.sleep(delay*1000); + times[i] = batch(msgCount, consumerCount); + System.out.println("Batch " + (i+1) + " of " + batches + " completed in " + times[i] + " ms."); + } + + long min = min(times); + long max = max(times); + System.out.println("min: " + min + ", max: " + max + " avg: " + avg(times, min, max)); + + //request shutdown + _publisher.send(_factory.createShutdownMessage()); + + _connection.stop(); + _connection.close(); + } + + private long batch(int msgCount, int consumerCount) throws Exception + { + _count = consumerCount; + long start = System.currentTimeMillis(); + publish(msgCount); + waitForCompletion(consumerCount); + return System.currentTimeMillis() - start; + } + + private void publish(int count) throws Exception + { + + //send events + for (int i = 0; i < count; i++) + { + _publisher.send(_factory.createEventMessage()); + if ((i + 1) % 100 == 0) + { + System.out.println("Sent " + (i + 1) + " messages"); + } + } + + //request report + _publisher.send(_factory.createReportRequestMessage()); + } + + private void waitForCompletion(int consumers) throws Exception + { + System.out.println("Waiting for completion..."); + synchronized (_lock) + { + while (_count > 0) + { + _lock.wait(); + } + } + } + + + public void onMessage(Message message) + { + System.out.println("Received report " + _factory.getReport(message) + " " + --_count + " remaining"); + if (_count == 0) + { + synchronized (_lock) + { + _lock.notify(); + } + } + } + + static long min(long[] times) + { + long min = times.length > 0 ? times[0] : 0; + for(int i = 0; i < times.length; i++) + { + min = Math.min(min, times[i]); + } + return min; + } + + static long max(long[] times) + { + long max = times.length > 0 ? times[0] : 0; + for(int i = 0; i < times.length; i++) + { + max = Math.max(max, times[i]); + } + return max; + } + + static long avg(long[] times, long min, long max) + { + long sum = 0; + for(int i = 0; i < times.length; i++) + { + sum += times[i]; + } + sum -= min; + sum -= max; + return (sum / times.length - 2); + } + + public static void main(String[] argv) throws Exception + { + Config config = new Config(); + config.setOptions(argv); + + Connection con = config.createConnection(); + int size = config.getPayload(); + int ackMode = config.getAckMode(); + boolean persistent = config.usePersistentMessages(); + new Publisher(con, size, ackMode, persistent).test(config); + } +} diff --git a/java/client/test/src/org/apache/qpid/transacted/Config.java b/java/client/test/src/org/apache/qpid/transacted/Config.java new file mode 100644 index 0000000000..3312d20b0a --- /dev/null +++ b/java/client/test/src/org/apache/qpid/transacted/Config.java @@ -0,0 +1,107 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.transacted; + +import org.apache.qpid.config.ConnectorConfig; +import org.apache.qpid.config.AbstractConfig; +import org.apache.qpid.config.Connector; + +import javax.jms.Connection; + +class Config extends AbstractConfig implements ConnectorConfig +{ + private String host = "localhost"; + private int port = 5672; + private String factory; + private boolean echo; + private int batch = 100; + private boolean persistent = true; + + Config(String[] argv) + { + setOptions(argv); + } + + Connection createConnection() throws Exception + { + return new Connector().createConnection(this); + } + + public boolean isEchoOn() + { + return echo; + } + + public boolean usePersistentMessages() + { + return persistent; + } + + public int getBatchSize() + { + return batch; + } + + public String getHost() + { + return host; + } + + public int getPort() + { + return port; + } + + public String getFactory() + { + return factory; + } + + public void setOption(String key, String value) + { + if("-host".equalsIgnoreCase(key)) + { + host = value; + } + else if("-port".equalsIgnoreCase(key)) + { + port = parseInt("Bad port number", value); + } + else if("-factory".equalsIgnoreCase(key)) + { + factory = value; + } + else if("-echo".equalsIgnoreCase(key)) + { + echo = "true".equalsIgnoreCase(value); + } + else if("-persistent".equalsIgnoreCase(key)) + { + persistent = "true".equalsIgnoreCase(value); + } + else if("-batch".equalsIgnoreCase(key)) + { + batch = parseInt("Bad batch size", value); + } + else + { + System.out.println("Ignoring nrecognised option " + key); + } + } + +} diff --git a/java/client/test/src/org/apache/qpid/transacted/Ping.java b/java/client/test/src/org/apache/qpid/transacted/Ping.java new file mode 100644 index 0000000000..9d6287549c --- /dev/null +++ b/java/client/test/src/org/apache/qpid/transacted/Ping.java @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.transacted; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.AMQQueue; + +import javax.jms.Connection; +import javax.jms.JMSException; +import java.util.Arrays; + +public class Ping +{ + public static void main(String[] argv) throws Exception + { + Config config = new Config(argv); + Connection con = config.createConnection(); + con.setClientID("ping"); + new Relay(new AMQQueue("ping"), new AMQQueue("pong"), con, + config.isEchoOn(), + config.getBatchSize(), + config.usePersistentMessages()).start(); + } +} diff --git a/java/client/test/src/org/apache/qpid/transacted/Pong.java b/java/client/test/src/org/apache/qpid/transacted/Pong.java new file mode 100644 index 0000000000..d9e5618a3b --- /dev/null +++ b/java/client/test/src/org/apache/qpid/transacted/Pong.java @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.transacted; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.AMQQueue; + +import javax.jms.Connection; +import javax.jms.JMSException; + +public class Pong +{ + public static void main(String[] argv) throws Exception + { + Config config = new Config(argv); + Connection con = config.createConnection(); + con.setClientID("pong"); + new Relay(new AMQQueue("pong"), new AMQQueue("ping"), con, + config.isEchoOn(), + config.getBatchSize(), + config.usePersistentMessages()).start(); + + } +} diff --git a/java/client/test/src/org/apache/qpid/transacted/Relay.java b/java/client/test/src/org/apache/qpid/transacted/Relay.java new file mode 100644 index 0000000000..96a7a71ac0 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/transacted/Relay.java @@ -0,0 +1,124 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.transacted; + +import org.apache.qpid.client.AMQSession; + +import javax.jms.MessageProducer; +import javax.jms.MessageConsumer; +import javax.jms.Session; +import javax.jms.Destination; +import javax.jms.Connection; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.TextMessage; +import javax.jms.DeliveryMode; + +class Relay implements Runnable +{ + private final Connection _con; + private final Session _session; + private final MessageConsumer _src; + private final MessageProducer _dest; + private final int _batch; + private final boolean _echo; + private int _counter; + private long start; + private boolean _running; + + Relay(Destination src, Destination dest, Connection con) throws JMSException + { + this(src, dest, con, false, 100, true); + } + + Relay(Destination src, Destination dest, Connection con, boolean echo, int batch, boolean persistent) throws JMSException + { + _echo = echo; + _batch = batch; + _con = con; + _session = con.createSession(true, AMQSession.NO_ACKNOWLEDGE); + _src = _session.createConsumer(src); + _dest = _session.createProducer(dest); + _dest.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT); + + } + + public void run() + { + start = System.currentTimeMillis(); + try{ + while(true) relay(); + } + catch(JMSException e) + { + e.printStackTrace(); + } + try + { + _session.close(); + } + catch (JMSException e) + { + e.printStackTrace(); + } + } + + void relay() throws JMSException + { + _dest.send(relay(_src.receive())); + _session.commit(); + } + + Message relay(Message in) throws JMSException + { + if(!_running) + { + System.out.println(_con.getClientID() + " started."); + _running = true; + } + if(++_counter % _batch == 0) + { + long time = System.currentTimeMillis() - start; + System.out.println(_batch + " iterations performed in " + time + " ms"); + try + { + Thread.sleep(100); + } + catch (InterruptedException e) + { + e.printStackTrace(); + } + start = System.currentTimeMillis(); + } + if(_echo) + { + System.out.println("Received: " + ((TextMessage) in).getText()); + } + return _session.createTextMessage(_con.getClientID() + _counter); + } + + void start() throws InterruptedException, JMSException + { + Thread runner = new Thread(this); + runner.start(); + _con.start(); + System.out.println(_con.getClientID() + " waiting..."); + runner.join(); + _con.close(); + } +} diff --git a/java/client/test/src/org/apache/qpid/transacted/Start.java b/java/client/test/src/org/apache/qpid/transacted/Start.java new file mode 100644 index 0000000000..85a633fc4f --- /dev/null +++ b/java/client/test/src/org/apache/qpid/transacted/Start.java @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.transacted; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.AMQQueue; + +import javax.jms.Connection; +import javax.jms.JMSException; +import javax.jms.Session; + +public class Start +{ + public static void main(String[] argv) throws Exception + { + Connection con = new Config(argv).createConnection(); + AMQQueue ping = new AMQQueue("ping"); + Session session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); + session.createProducer(ping).send(session.createTextMessage("start")); + session.close(); + con.close(); + } +} diff --git a/java/client/test/src/org/apache/qpid/transacted/TransactedTest.java b/java/client/test/src/org/apache/qpid/transacted/TransactedTest.java new file mode 100644 index 0000000000..cb5ea4335d --- /dev/null +++ b/java/client/test/src/org/apache/qpid/transacted/TransactedTest.java @@ -0,0 +1,145 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.transacted; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQSession; +import org.apache.qpid.client.testutil.VmOrRemoteTestCase; +import org.junit.After; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import org.junit.Before; +import org.junit.Test; + +import javax.jms.*; + +public class TransactedTest extends VmOrRemoteTestCase +{ + private AMQQueue queue1; + private AMQQueue queue2; + + private AMQConnection con; + private Session session; + private MessageConsumer consumer; + private MessageProducer producer; + + private AMQConnection prepCon; + private Session prepSession; + private MessageProducer prepProducer; + + private AMQConnection testCon; + private Session testSession; + private MessageConsumer testConsumer1; + private MessageConsumer testConsumer2; + + @Before + public void setup() throws Exception + { + queue1 = new AMQQueue("Q1", false); + queue2 = new AMQQueue("Q2", false); + + con = new AMQConnection("localhost:5672", "guest", "guest", "TransactedTest", "/test"); + session = con.createSession(true, 0); + consumer = session.createConsumer(queue1); + producer = session.createProducer(queue2); + con.start(); + + prepCon = new AMQConnection("localhost:5672", "guest", "guest", "PrepConnection", "/test"); + prepSession = prepCon.createSession(false, AMQSession.NO_ACKNOWLEDGE); + prepProducer = prepSession.createProducer(queue1); + prepCon.start(); + + + //add some messages + prepProducer.send(prepSession.createTextMessage("A")); + prepProducer.send(prepSession.createTextMessage("B")); + prepProducer.send(prepSession.createTextMessage("C")); + + + testCon = new AMQConnection("localhost:5672", "guest", "guest", "TestConnection", "/test"); + testSession = testCon.createSession(false, AMQSession.NO_ACKNOWLEDGE); + testConsumer1 = testSession.createConsumer(queue1); + testConsumer2 = testSession.createConsumer(queue2); + testCon.start(); + } + + @After + public void shutdown() throws Exception + { + con.close(); + testCon.close(); + prepCon.close(); + } + + @Test + public void commit() throws Exception + { + //send and receive some messages + producer.send(session.createTextMessage("X")); + producer.send(session.createTextMessage("Y")); + producer.send(session.createTextMessage("Z")); + expect("A", consumer.receive(1000)); + expect("B", consumer.receive(1000)); + expect("C", consumer.receive(1000)); + + //commit + session.commit(); + + //ensure sent messages can be received and received messages are gone + expect("X", testConsumer2.receive(1000)); + expect("Y", testConsumer2.receive(1000)); + expect("Z", testConsumer2.receive(1000)); + + assertTrue(null == testConsumer1.receive(1000)); + } + + @Test + public void rollback() throws Exception + { + producer.send(session.createTextMessage("X")); + producer.send(session.createTextMessage("Y")); + producer.send(session.createTextMessage("Z")); + expect("A", consumer.receive(1000)); + expect("B", consumer.receive(1000)); + expect("C", consumer.receive(1000)); + + //rollback + session.rollback(); + + //ensure sent messages are not visible and received messages are requeued + expect("A", consumer.receive(1000)); + expect("B", consumer.receive(1000)); + expect("C", consumer.receive(1000)); + + assertTrue(null == testConsumer2.receive(1000)); + } + + private void expect(String text, Message msg) throws JMSException + { + assertTrue(msg instanceof TextMessage); + assertEquals(text, ((TextMessage) msg).getText()); + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(TransactedTest.class); + } + +} diff --git a/java/client/test/src/org/apache/qpid/transport/VmPipeTransportConnection.java b/java/client/test/src/org/apache/qpid/transport/VmPipeTransportConnection.java new file mode 100644 index 0000000000..1fa09d0524 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/transport/VmPipeTransportConnection.java @@ -0,0 +1,59 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.transport; + +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.protocol.AMQProtocolHandler; +import org.apache.qpid.client.transport.ITransportConnection; +import org.apache.qpid.pool.PoolingFilter; +import org.apache.qpid.pool.ReferenceCountingExecutorService; +import org.apache.qpid.jms.BrokerDetails; +import org.apache.log4j.Logger; +import org.apache.mina.common.ConnectFuture; +import org.apache.mina.common.IoServiceConfig; +import org.apache.mina.transport.vmpipe.VmPipeAddress; +import org.apache.mina.transport.vmpipe.VmPipeConnector; + +import java.io.IOException; + +public class VmPipeTransportConnection implements ITransportConnection +{ + private static final Logger _logger = Logger.getLogger(VmPipeTransportConnection.class); + + public void connect(AMQProtocolHandler protocolHandler, BrokerDetails brokerDetail) throws IOException + { + final VmPipeConnector ioConnector = new VmPipeConnector(); + final IoServiceConfig cfg = ioConnector.getDefaultConfig(); + ReferenceCountingExecutorService executorService = ReferenceCountingExecutorService.getInstance(); + PoolingFilter asyncRead = new PoolingFilter(executorService, PoolingFilter.READ_EVENTS, + "AsynchronousReadFilter"); + cfg.getFilterChain().addFirst("AsynchronousReadFilter", asyncRead); + PoolingFilter asyncWrite = new PoolingFilter(executorService, PoolingFilter.WRITE_EVENTS, + "AsynchronousWriteFilter"); + cfg.getFilterChain().addLast("AsynchronousWriteFilter", asyncWrite); + + _logger.info("Ignoring broker connection details: " + brokerDetail); + final VmPipeAddress address = new VmPipeAddress(1); + _logger.info("Attempting connection to " + address); + ConnectFuture future = ioConnector.connect(address, protocolHandler); + // wait for connection to complete + future.join(); + // we call getSession which throws an IOException if there has been an error connecting + future.getSession(); + } +} diff --git a/java/client/test/src/org/apache/qpid/vmbroker/VmPipeBroker.java b/java/client/test/src/org/apache/qpid/vmbroker/VmPipeBroker.java new file mode 100644 index 0000000000..d86502b609 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/vmbroker/VmPipeBroker.java @@ -0,0 +1,76 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.vmbroker; + +import org.apache.qpid.client.transport.TransportConnection; +import org.apache.qpid.pool.ReadWriteThreadModel; +import org.apache.qpid.server.protocol.AMQPProtocolProvider; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.NullApplicationRegistry; +import org.apache.qpid.transport.VmPipeTransportConnection; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.log4j.Logger; +import org.apache.mina.common.IoAcceptor; +import org.apache.mina.common.IoServiceConfig; +import org.apache.mina.transport.vmpipe.VmPipeAcceptor; +import org.apache.mina.transport.vmpipe.VmPipeAddress; + +/** + * This class is a useful base class when you want to run a test where the + * broker and the client(s) run in the same VM. + * + * Once the VmPipeBroker is initialise, and the client transport + * is overridden (ignores any connection strings) and connects to this + * in-VM broker instead (rather than using TCP/IP sockets). This means + * that clients will run unmodified. + */ +public class VmPipeBroker +{ + private static final Logger _logger = Logger.getLogger(VmPipeBroker.class); + + private IoAcceptor _acceptor; + + public void initialiseBroker() throws Exception + { + try + { + ApplicationRegistry.initialise(new NullApplicationRegistry()); + } + catch (ConfigurationException e) + { + _logger.error("Error configuring application: " + e, e); + throw e; + } + + _acceptor = new VmPipeAcceptor(); + IoServiceConfig config = _acceptor.getDefaultConfig(); + + config.setThreadModel(new ReadWriteThreadModel()); + _acceptor.bind(new VmPipeAddress(1), + new AMQPProtocolProvider().getHandler()); + + _logger.info("InVM Qpid.AMQP listening on port " + 1); + TransportConnection.setInstance(new VmPipeTransportConnection()); + } + + public void killBroker() + { + _acceptor.unbindAll(); + _acceptor = null; + } +} diff --git a/java/client/test/src/org/apache/qpid/weblogic/ServiceProvider.java b/java/client/test/src/org/apache/qpid/weblogic/ServiceProvider.java new file mode 100644 index 0000000000..8c6f6ab62e --- /dev/null +++ b/java/client/test/src/org/apache/qpid/weblogic/ServiceProvider.java @@ -0,0 +1,148 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.weblogic; + +import org.apache.log4j.Logger; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQDestination; + +import javax.jms.*; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import javax.naming.Context; +import java.net.InetAddress; +import java.util.Hashtable; + +public class ServiceProvider +{ + private static final String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory"; + private static final String JMS_FACTORY = "transientJMSConnectionFactory"; + + private static final Logger _logger = Logger.getLogger(ServiceProvider.class); + + private static MessageProducer _destinationProducer; + + private static Queue _destinationQ; + + public static void main(String[] args) + { + _logger.info("Starting..."); + + if (args.length != 2) + { + System.out.println("Usage: <WLS URI> <service queue>"); + System.exit(1); + } + try + { + String url = args[0]; + String receiveQueue = args[1]; + + final InitialContext ctx = getInitialContext(url); + + QueueConnectionFactory qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY); + QueueConnection qcon = qconFactory.createQueueConnection(); + final QueueSession qsession = qcon.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE); + Queue receiveQ = (Queue) ctx.lookup(receiveQueue); + + _logger.info("Service (queue) name is '" + receiveQ + "'..."); + + String selector = (args.length > 2 && args[2] != null && args[2].length() > 1) ? args[2] : null; + + _logger.info("Message selector is <" + selector + ">..."); + + MessageConsumer consumer = qsession.createConsumer(receiveQ, selector); + + consumer.setMessageListener(new MessageListener() + { + private int _messageCount; + + public void onMessage(javax.jms.Message message) + { + //_logger.info("Got message '" + message + "'"); + + TextMessage tm = (TextMessage) message; + + try + { + Queue responseQueue = (Queue)tm.getJMSReplyTo(); + if (!responseQueue.equals(_destinationQ)) + { + _destinationQ = responseQueue; + _logger.info("Creating destination for " + responseQueue); + + try + { + _destinationProducer = qsession.createProducer(_destinationQ); + _destinationProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); + } + catch (JMSException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + _messageCount++; + if (_messageCount % 1000 == 0) + { + _logger.info("Received message total: " + _messageCount); + _logger.info("Sending response to '" + responseQueue + "'"); + } + + String payload = "This is a response: sing together: 'Mahnah mahnah...'" + tm.getText(); + TextMessage msg = qsession.createTextMessage(payload); + if (tm.propertyExists("timeSent")) + { + _logger.info("timeSent property set on message"); + final long timeSent = tm.getLongProperty("timeSent"); + msg.setLongProperty("timeSent", timeSent); + _logger.info("time taken to go from service request to provider is: " + (System.currentTimeMillis() - timeSent)); + } + _destinationProducer.send(msg); + if (_messageCount % 1000 == 0) + { + tm.acknowledge(); + _logger.info("Sent response to '" + responseQueue + "'"); + } + } + catch (JMSException e) + { + _logger.error("Error sending message: " + e, e); + } + } + }); + qcon.start(); + } + catch (Throwable t) + { + System.err.println("Fatal error: " + t); + t.printStackTrace(); + } + + + System.out.println("Waiting..."); + } + + private static InitialContext getInitialContext(String url) throws NamingException + { + Hashtable env = new Hashtable(); + env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY); + env.put(Context.PROVIDER_URL, url); + return new InitialContext(env); + } +} diff --git a/java/client/test/src/org/apache/qpid/weblogic/ServiceRequestingClient.java b/java/client/test/src/org/apache/qpid/weblogic/ServiceRequestingClient.java new file mode 100644 index 0000000000..b2d24cd1c1 --- /dev/null +++ b/java/client/test/src/org/apache/qpid/weblogic/ServiceRequestingClient.java @@ -0,0 +1,189 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.weblogic; + +import org.apache.qpid.jms.*; +import org.apache.log4j.Logger; + +import javax.naming.NamingException; +import javax.naming.InitialContext; +import javax.naming.Context; +import javax.jms.*; +import javax.jms.MessageConsumer; +import javax.jms.Session; +import java.util.Hashtable; +import java.io.File; +import java.io.FilenameFilter; +import java.io.Reader; +import java.io.FileReader; + +/** + * Created by IntelliJ IDEA. + * User: U806869 + * Date: 28-May-2005 + * Time: 21:54:51 + * To change this template use File | Settings | File Templates. + */ +public class ServiceRequestingClient +{ + private static final Logger _log = Logger.getLogger(ServiceRequestingClient.class); + private static final String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory"; + private static final String JMS_FACTORY = "transientJMSConnectionFactory"; + + private static class CallbackHandler implements MessageListener + { + private int _expectedMessageCount; + + private int _actualMessageCount; + + private long _startTime; + + private long _averageLatency; + + public CallbackHandler(int expectedMessageCount, long startTime) + { + _expectedMessageCount = expectedMessageCount; + _startTime = startTime; + } + + public void onMessage(Message m) + { + if (_log.isDebugEnabled()) + { + _log.debug("Message received: " + m); + } + try + { + if (m.propertyExists("timeSent")) + { + long timeSent = m.getLongProperty("timeSent"); + long now = System.currentTimeMillis(); + if (_averageLatency == 0) + { + _averageLatency = now - timeSent; + _log.info("Latency " + _averageLatency); + } + else + { + _log.info("Individual latency: " + (now-timeSent)); + _averageLatency = (_averageLatency + (now - timeSent))/2; + _log.info("Average latency now: " + _averageLatency); + } + } + } + catch (JMSException e) + { + _log.error("Could not calculate latency"); + } + + _actualMessageCount++; + if (_actualMessageCount%1000 == 0) + { + try + { + m.acknowledge(); + } + catch (JMSException e) + { + _log.error("Error acknowledging message"); + } + _log.info("Received message count: " + _actualMessageCount); + } + /*if (!"henson".equals(m.toString())) + { + _log.error("Message response not correct: expected 'henson' but got " + m.toString()); + } + else + { + if (_log.isDebugEnabled()) + { + _log.debug("Message " + m + " received"); + } + else + { + _log.info("Message received"); + } + } */ + + if (_actualMessageCount == _expectedMessageCount) + { + long timeTaken = System.currentTimeMillis() - _startTime; + System.out.println("Total time taken to receive " + _expectedMessageCount+ " messages was " + + timeTaken + "ms, equivalent to " + + (_expectedMessageCount/(timeTaken/1000.0)) + " messages per second"); + System.out.println("Average latency is: " + _averageLatency); + } + } + } + + public static void main(String[] args) throws Exception + { + if (args.length != 3) + { + System.out.println("Usage: IXPublisher <WLS URL> <sendQueue> <count> will publish count messages to "); + System.out.println("queue sendQueue and waits for a response on a temp queue"); + System.exit(1); + } + + String url = args[0]; + String sendQueue = args[1]; + int messageCount = Integer.parseInt(args[2]); + + InitialContext ctx = getInitialContext(url); + + QueueConnectionFactory qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY); + QueueConnection qcon = qconFactory.createQueueConnection(); + QueueSession qsession = qcon.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE); + Queue sendQ = (Queue) ctx.lookup(sendQueue); + Queue receiveQ = qsession.createTemporaryQueue(); + QueueSender qsender = qsession.createSender(sendQ); + qsender.setDeliveryMode(DeliveryMode.NON_PERSISTENT); + _log.debug("Queue sender created for service queue " + sendQ); + + javax.jms.MessageConsumer messageConsumer = (javax.jms.MessageConsumer) qsession.createConsumer(receiveQ); + + //TextMessage msg = _session.createTextMessage(tempDestination.getQueueName() + "/Presented to in conjunction with Mahnah Mahnah and the Snowths"); + final long startTime = System.currentTimeMillis(); + + messageConsumer.setMessageListener(new CallbackHandler(messageCount, startTime)); + qcon.start(); + for (int i = 0; i < messageCount; i++) + { + TextMessage msg = qsession.createTextMessage("/Presented to in conjunction with Mahnah Mahnah and the Snowths:" + i); + msg.setJMSReplyTo(receiveQ); + if (i%1000 == 0) + { + long timeNow = System.currentTimeMillis(); + msg.setLongProperty("timeSent", timeNow); + } + qsender.send(msg); + } + + new Thread("foo").start(); + //qsession.close(); + //qcon.close(); + } + + private static InitialContext getInitialContext(String url) throws NamingException + { + Hashtable env = new Hashtable(); + env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY); + env.put(Context.PROVIDER_URL, url); + return new InitialContext(env); + } +} diff --git a/java/cluster/build-module.xml b/java/cluster/build-module.xml new file mode 100644 index 0000000000..20361b5be7 --- /dev/null +++ b/java/cluster/build-module.xml @@ -0,0 +1,21 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Cluster" default="build"> + <property name="module.depends" value="common,broker,client"/> + <import file="../module.xml"/> +</project> diff --git a/java/cluster/build-old.xml b/java/cluster/build-old.xml new file mode 100644 index 0000000000..8e561d6aa3 --- /dev/null +++ b/java/cluster/build-old.xml @@ -0,0 +1,144 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<project name="qpid-clustered-broker" default="jar" basedir="."> + + <!-- Global task properties --> + <property name="common.root" value="${basedir}/../common"/> + <property name="common.lib" value="${common.root}/lib"/> + <property name="common.src" value="${common.root}/src"/> + <property name="common.resources" value="${common.root}/resources"/> + <property name="common.classes" value="${common.root}/classes"/> + + <property name="common.generated.java.src" value="${common.root}/generated/java"/> + + <property name="client.root" value="../client"/> + <property name="client.lib" value="${client.root}/lib"/> + <property name="client.classes" value="${client.root}/classes"/> + <property name="client.testclasses" value="${client.root}/testclasses"/> + + <property name="broker.root" value="../broker"/> + <property name="broker.lib" value="${broker.root}/lib"/> + <property name="broker.src" value="${broker.root}/src"/> + <property name="broker.tests" value="${broker.root}/test"/> + <property name="broker.classes" value="${broker.root}/classes"/> + <property name="broker.testclasses" value="${broker.root}/testclasses"/> + <property name="broker.dist" value="${broker.root}/dist"/> + + <property name="cluster.root" value="."/> + <property name="cluster.lib" value="${cluster.root}/lib"/> + <property name="cluster.src" value="${cluster.root}/src"/> + <property name="cluster.tests" value="${cluster.root}/test"/> + <property name="cluster.classes" value="${cluster.root}/classes"/> + <property name="cluster.testclasses" value="${cluster.root}/testclasses"/> + <property name="cluster.dist" value="${cluster.root}/dist"/> + + <!-- Path structures used by several tasks --> + <path id="amqp.classpath"> + <fileset dir="${common.lib}"> + <include name="**/*.jar"/> + </fileset> + <fileset dir="${client.lib}"> + <include name="**/*.jar"/> + </fileset> + <pathelement path="${broker.classes}"/> + <pathelement path="${client.classes}"/> + <pathelement path="${common.classes}"/> + <pathelement path="${cluster.classes}"/> + </path> + + <!-- Task definitions --> + + <target name="init" description="Initialise the build process"> + <tstamp> + <format property="release" pattern="-dMMMyy" locale="en" timezone="GMT"/> + </tstamp> + + <mkdir dir="${cluster.classes}"/> + <mkdir dir="${cluster.testclasses}"/> + <mkdir dir="${cluster.dist}"/> + </target> + + <!-- Remove all built files --> + <target name="clean" depends="init" description="Remove all built and generated files"> + <delete dir="${cluster.dist}"/> + <!--<delete dir="${generated.java.src}"/>--> + <delete dir="${cluster.classes}"/> + <delete dir="${cluster.testclasses}"/> + </target> + + <!-- Compile Java --> + <target name="compile" depends="init" description="Compile all source files excluding tests"> + <javac destdir="${cluster.classes}" target="1.5" source="1.5" classpathref="amqp.classpath" debug="on"> + <src path="${cluster.src}"/> + </javac> + <javac destdir="${cluster.testclasses}" target="1.5" source="1.5" classpathref="amqp.classpath" debug="on"> + <src path="${cluster.tests}"/> + </javac> + + <copy todir="${cluster.classes}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${cluster.src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + <fileset dir="${common.src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + <fileset dir="${common.resources}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + + <target name="compiletests" depends="compile" description="Compile all tests"> + <javac destdir="${cluster.testclasses}" target="1.5" source="1.5" classpathref="amqp.classpath" debug="on"> + <src path="${cluster.tests}"/> + </javac> + + <copy todir="${cluster.testclasses}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${cluster.tests}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <!-- Build jar archive --> + <target name="jar" depends="compile, compiletests" description="Create Jar files as the distribution"> + <mkdir dir="${cluster.dist}"/> + <jar basedir="${cluster.classes}" jarfile="${cluster.dist}/cluster.jar"/> + <jar basedir="${cluster.testclasses}" jarfile="${cluster.dist}/cluster-tests.jar"/> + </target> + + + <target name="javadoc" depends="compile, compiletests" description="Generate javadoc for all broker classes"> + <mkdir dir="${cluster.dist}/docs/api"/> + <javadoc sourcepath="${cluster.src}" destdir="${cluster.dist}/docs/api" + packagenames="org.apache.qpid.*" classpathref="amqp.classpath" author="true" + version="true" windowTitle="AMQPd (Project Qpid) API" doctitle="AMQP Clustered Broker API" + footer="See <a href="http://www.amqp.org">www.amqp.org</a> for more information." + use="true" verbose="false"/> + </target> + +</project> diff --git a/java/cluster/doc/design.doc b/java/cluster/doc/design.doc Binary files differnew file mode 100644 index 0000000000..524cab73d1 --- /dev/null +++ b/java/cluster/doc/design.doc diff --git a/java/cluster/src/org/apache/qpid/server/cluster/BlockingHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/BlockingHandler.java new file mode 100644 index 0000000000..3e7a2af01f --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/BlockingHandler.java @@ -0,0 +1,88 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.framing.AMQMethodBody; + +public class BlockingHandler implements ResponseHandler +{ + private final Class _expected; + private boolean _completed; + private AMQMethodBody _response; + + + public BlockingHandler() + { + this(AMQMethodBody.class); + } + + public BlockingHandler(Class<? extends AMQMethodBody> expected) + { + _expected = expected; + } + + public void responded(AMQMethodBody response) + { + if (_expected.isInstance(response)) + { + _response = response; + completed(); + } + } + + public void removed() + { + completed(); + } + + private synchronized void completed() + { + _completed = true; + notifyAll(); + } + + synchronized void waitForCompletion() + { + while (!_completed) + { + try + { + wait(); + } + catch (InterruptedException ignore) + { + + } + } + } + + AMQMethodBody getResponse() + { + return _response; + } + + boolean failed() + { + return _response == null; + } + + boolean isCompleted() + { + return _completed; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/BroadcastPolicy.java b/java/cluster/src/org/apache/qpid/server/cluster/BroadcastPolicy.java new file mode 100644 index 0000000000..6d56afe50b --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/BroadcastPolicy.java @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +public interface BroadcastPolicy +{ + public boolean isComplete(int responded, int members); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/Broker.java b/java/cluster/src/org/apache/qpid/server/cluster/Broker.java new file mode 100644 index 0000000000..d8a3fd1b76 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/Broker.java @@ -0,0 +1,244 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.log4j.Logger; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +/** + * An implementation of the Member interface (through which data is sent to other + * peers in the cluster). This class provides a base from which subclasses can + * inherit some common behaviour for broadcasting GroupRequests and sending methods + * that may expect a response. It also extends the Member abstraction to support + * a richer set of operations that are useful within the package but should not be + * exposed outside of it. + * + */ +abstract class Broker extends SimpleMemberHandle implements Member +{ + private static final Logger _logger = Logger.getLogger(Broker.class); + private static final int DEFAULT_CHANNEL = 1; + private static final int START_CHANNEL = 2; + private static final int END_CHANNEL = 10000; + + + private MemberFailureListener _listener; + //a wrap-around counter to allocate _requests a unique channel: + private int _nextChannel = START_CHANNEL; + //outstanding _requests: + private final Map<Integer, ResponseHandler> _requests = new HashMap<Integer, ResponseHandler>(); + + Broker(String host, int port) + { + super(host, port); + } + + /** + * Allows a listener to be registered that will receive callbacks when communication + * to the peer this broker instance represents fails. + * @param listener the callback to be notified of failures + */ + public void addFailureListener(MemberFailureListener listener) + { + _listener = listener; + } + + /** + * Allows subclasses to signal comunication failures + */ + protected void failed() + { + if (_listener != null) + { + _listener.failed(this); + } + } + + /** + * Subclasses should call this on receiving message responses from the remote + * peer. They are matched to any outstanding request they might be response + * to, with the completion and callback of that request being managed if + * required. + * + * @param channel the channel on which the method was received + * @param response the response received + * @return true if the response matched an outstanding request + */ + protected synchronized boolean handleResponse(int channel, AMQMethodBody response) + { + ResponseHandler request = _requests.get(channel); + if (request == null) + { + if(!_requests.isEmpty()) + { + _logger.warn(new LogMessage("[next channel={3, integer}]: Response {0} on channel {1, integer} failed to match outstanding requests: {2}", response, channel, _requests, _nextChannel)); + } + return false; + } + else + { + request.responded(response); + return true; + } + } + + /** + * Called when this broker is excluded from the group. Any requests made on + * it are informed this member has left the group. + */ + synchronized void remove() + { + for (ResponseHandler r : _requests.values()) + { + r.removed(); + } + } + + /** + * Engages this broker in the specified group request + * + * @param request the request being made to a group of brokers + * @throws AMQException if there is any failure + */ + synchronized void invoke(GroupRequest request) throws AMQException + { + int channel = nextChannel(); + _requests.put(channel, new GroupRequestAdapter(request, channel)); + request.send(channel, this); + } + + /** + * Sends a message to the remote peer and undertakes to notify the specified + * handler of the response. + * + * @param msg the message to send + * @param handler the callback to notify of responses (or the removal of this broker + * from the group) + * @throws AMQException + */ + synchronized void send(Sendable msg, ResponseHandler handler) throws AMQException + { + int channel; + if (handler != null) + { + channel = nextChannel(); + _requests.put(channel, new RemovingWrapper(handler, channel)); + } + else + { + channel = DEFAULT_CHANNEL; + } + + msg.send(channel, this); + } + + private int nextChannel() + { + int channel = _nextChannel++; + if(_nextChannel >= END_CHANNEL) + { + _nextChannel = START_CHANNEL; + } + return channel; + } + + /** + * extablish connection without handling redirect + */ + abstract boolean connect() throws IOException, InterruptedException; + + /** + * Start connection process, including replay + */ + abstract void connectAsynch(Iterable<AMQMethodBody> msgs); + + /** + * Replay messages to the remote peer this instance represents. These messages + * must be sent before any others whose transmission is requested through send() etc. + * + * @param msgs + */ + abstract void replay(Iterable<AMQMethodBody> msgs); + + /** + * establish connection, handling redirect if required... + */ + abstract Broker connectToCluster() throws IOException, InterruptedException; + + private class GroupRequestAdapter implements ResponseHandler + { + private final GroupRequest request; + private final int channel; + + GroupRequestAdapter(GroupRequest request, int channel) + { + this.request = request; + this.channel = channel; + } + + public void responded(AMQMethodBody response) + { + request.responseReceived(Broker.this, response); + _requests.remove(channel); + } + + public void removed() + { + request.removed(Broker.this); + } + + public String toString() + { + return "GroupRequestAdapter{" + channel + ", " + request + "}"; + } + } + + private class RemovingWrapper implements ResponseHandler + { + private final ResponseHandler handler; + private final int channel; + + RemovingWrapper(ResponseHandler handler, int channel) + { + this.handler = handler; + this.channel = channel; + } + + public void responded(AMQMethodBody response) + { + handler.responded(response); + _requests.remove(channel); + } + + public void removed() + { + handler.removed(); + } + + public String toString() + { + return "RemovingWrapper{" + channel + ", " + handler + "}"; + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/BrokerFactory.java b/java/cluster/src/org/apache/qpid/server/cluster/BrokerFactory.java new file mode 100644 index 0000000000..75a47a168f --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/BrokerFactory.java @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +interface BrokerFactory +{ + public Broker create(MemberHandle handle); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/BrokerGroup.java b/java/cluster/src/org/apache/qpid/server/cluster/BrokerGroup.java new file mode 100644 index 0000000000..db667879f6 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/BrokerGroup.java @@ -0,0 +1,365 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.log4j.Logger; +import org.apache.qpid.server.cluster.replay.ReplayManager; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.server.cluster.util.InvokeMultiple; +import org.apache.qpid.framing.AMQMethodBody; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Manages the membership list of a group and the set of brokers representing the + * remote peers. The group should be initialised through a call to establish() + * or connectToLeader(). + * + */ +class BrokerGroup +{ + private static final Logger _logger = Logger.getLogger(BrokerGroup.class); + + private final InvokeMultiple<MembershipChangeListener> _changeListeners = new InvokeMultiple<MembershipChangeListener>(MembershipChangeListener.class); + private final ReplayManager _replayMgr; + private final MemberHandle _local; + private final BrokerFactory _factory; + private final Object _lock = new Object(); + private final Set<MemberHandle> _synch = new HashSet<MemberHandle>(); + private List<MemberHandle> _members; + private List<Broker> _peers = new ArrayList<Broker>(); + private JoinState _state = JoinState.UNINITIALISED; + + /** + * Creates an unitialised group. + * + * @param local a handle that represents the local broker + * @param replayMgr the replay manager to use when creating new brokers + * @param factory the factory through which broker instances are created + */ + BrokerGroup(MemberHandle local, ReplayManager replayMgr, BrokerFactory factory) + { + _replayMgr = replayMgr; + _local = local; + _factory = factory; + } + + /** + * Called to establish the local broker as the leader of a new group + */ + void establish() + { + synchronized (_lock) + { + setState(JoinState.JOINED); + _members = new ArrayList<MemberHandle>(); + _members.add(_local); + } + fireChange(); + } + + /** + * Called by prospect to connect to group + */ + Broker connectToLeader(MemberHandle handle) throws Exception + { + Broker leader = _factory.create(handle); + leader = leader.connectToCluster(); + synchronized (_lock) + { + setState(JoinState.JOINING); + _members = new ArrayList<MemberHandle>(); + _members.add(leader); + _peers.add(leader); + } + fireChange(); + return leader; + } + + /** + * Called by leader when handling a join request + */ + Broker connectToProspect(MemberHandle handle) throws IOException, InterruptedException + { + Broker prospect = _factory.create(handle); + prospect.connect(); + synchronized (_lock) + { + _members.add(prospect); + _peers.add(prospect); + } + fireChange(); + return prospect; + } + + /** + * Called in reponse to membership announcements. + * + * @param members the list of members now part of the group + */ + void setMembers(List<MemberHandle> members) + { + if (isJoined()) + { + List<Broker> old = _peers; + + synchronized (_lock) + { + _peers = getBrokers(members); + _members = new ArrayList<MemberHandle>(members); + } + + //remove those that are still members + old.removeAll(_peers); + + //handle failure of any brokers that haven't survived + for (Broker peer : old) + { + peer.remove(); + } + } + else + { + synchronized (_lock) + { + setState(JoinState.INITIATION); + _members = new ArrayList<MemberHandle>(members); + _synch.addAll(_members); + _synch.remove(_local); + } + } + fireChange(); + } + + List<MemberHandle> getMembers() + { + synchronized (_lock) + { + return Collections.unmodifiableList(_members); + } + } + + List<Broker> getPeers() + { + synchronized (_lock) + { + return _peers; + } + } + + /** + * Removes the member presented from the group + * @param peer the broker that should be removed + */ + void remove(Broker peer) + { + synchronized (_lock) + { + _peers.remove(peer); + _members.remove(peer); + } + fireChange(); + } + + MemberHandle getLocal() + { + return _local; + } + + Broker getLeader() + { + synchronized (_lock) + { + return _peers.size() > 0 ? _peers.get(0) : null; + } + } + + /** + * Allows a Broker instance to be retrieved for a given handle + * + * @param handle the handle for which a broker is sought + * @param create flag to indicate whther a broker should be created for the handle if + * one is not found within the list of known peers + * @return the broker corresponding to handle or null if a match cannot be found and + * create is false + */ + Broker findBroker(MemberHandle handle, boolean create) + { + if (handle instanceof Broker) + { + return (Broker) handle; + } + else + { + for (Broker b : getPeers()) + { + if (b.matches(handle)) + { + return b; + } + } + } + if (create) + { + Broker b = _factory.create(handle); + List<AMQMethodBody> msgs = _replayMgr.replay(isLeader(_local)); + _logger.info(new LogMessage("Replaying {0} from {1} to {2}", msgs, _local, b)); + b.connectAsynch(msgs); + + return b; + } + else + { + return null; + } + } + + /** + * @param member the member to test for leadership + * @return true if the passed in member is the group leader, false otherwise + */ + boolean isLeader(MemberHandle member) + { + synchronized (_lock) + { + return member.matches(_members.get(0)); + } + } + + /** + * @return true if the local broker is the group leader, false otherwise + */ + boolean isLeader() + { + return isLeader(_local); + } + + /** + * Used when the leader fails and the next broker in the list needs to + * assume leadership + * @return true if the action succeeds + */ + boolean assumeLeadership() + { + boolean valid; + synchronized (_lock) + { + valid = _members.size() > 1 && _local.matches(_members.get(1)); + if (valid) + { + _members.remove(0); + _peers.remove(0); + } + } + fireChange(); + return valid; + } + + /** + * Called in response to a Cluster.Synch message being received during the join + * process. This indicates that the member mentioned has replayed all necessary + * messages to the local broker. + * + * @param member the member from whom the synch messages was received + */ + void synched(MemberHandle member) + { + _logger.info(new LogMessage("Synchronised with {0}", member)); + synchronized (_lock) + { + if (isLeader(member)) + { + setState(JoinState.INDUCTION); + } + _synch.remove(member); + if (_synch.isEmpty()) + { + _peers = getBrokers(_members); + setState(JoinState.JOINED); + } + } + } + + + /** + * @return the state of the group + */ + JoinState getState() + { + synchronized (_lock) + { + return _state; + } + } + + void addMemberhipChangeListener(MembershipChangeListener l) + { + _changeListeners.addListener(l); + } + + void removeMemberhipChangeListener(MembershipChangeListener l) + { + _changeListeners.removeListener(l); + } + + + + private void setState(JoinState state) + { + _logger.info(new LogMessage("Changed state from {0} to {1}", _state, state)); + _state = state; + } + + private boolean isJoined() + { + return inState(JoinState.JOINED); + } + + private boolean inState(JoinState state) + { + return _state.equals(state); + } + + private List<Broker> getBrokers(List<MemberHandle> handles) + { + List<Broker> brokers = new ArrayList<Broker>(); + for (MemberHandle handle : handles) + { + if (!_local.matches(handle)) + { + brokers.add(findBroker(handle, true)); + } + } + return brokers; + } + + private void fireChange() + { + List<MemberHandle> members; + synchronized(this) + { + members = new ArrayList(_members); + } + _changeListeners.getProxy().changed(Collections.unmodifiableList(members)); + } +}
\ No newline at end of file diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ClientAdapter.java b/java/cluster/src/org/apache/qpid/server/cluster/ClientAdapter.java new file mode 100644 index 0000000000..6909b199ce --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ClientAdapter.java @@ -0,0 +1,70 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.mina.common.IoSession; +import org.apache.qpid.AMQException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.protocol.AMQMethodEvent; +import org.apache.qpid.client.protocol.AMQProtocolSession; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.framing.AMQMethodBody; + +/** + * Hack to assist with reuse of the client handlers for connection setup in + * the inter-broker communication within the cluster. + * + */ +class ClientAdapter implements MethodHandler +{ + private final AMQProtocolSession _session; + private final AMQStateManager _stateMgr; + + ClientAdapter(IoSession session, AMQStateManager stateMgr) + { + this(session, stateMgr, "guest", "guest", session.toString(), "/cluster"); + } + + ClientAdapter(IoSession session, AMQStateManager stateMgr, String user, String password, String name, String path) + { + _session = new SessionAdapter(session, new ConnectionAdapter(user, password, name, path)); + _stateMgr = stateMgr; + } + + public void handle(int channel, AMQMethodBody method) throws AMQException + { + AMQMethodEvent evt = new AMQMethodEvent(channel, method, _session); + _stateMgr.methodReceived(evt); + } + + private class SessionAdapter extends AMQProtocolSession + { + public SessionAdapter(IoSession session, AMQConnection connection) + { + super(null, session, connection); + } + } + + private static class ConnectionAdapter extends AMQConnection + { + ConnectionAdapter(String username, String password, String clientName, String virtualPath) + { + super(username, password, clientName, virtualPath); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ClientHandlerRegistry.java b/java/cluster/src/org/apache/qpid/server/cluster/ClientHandlerRegistry.java new file mode 100644 index 0000000000..d378647698 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ClientHandlerRegistry.java @@ -0,0 +1,132 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.client.handler.ConnectionCloseMethodHandler; +import org.apache.qpid.client.handler.ConnectionOpenOkMethodHandler; +import org.apache.qpid.client.handler.ConnectionSecureMethodHandler; +import org.apache.qpid.client.handler.ConnectionStartMethodHandler; +import org.apache.qpid.client.handler.ConnectionTuneMethodHandler; +import org.apache.qpid.client.state.AMQState; +import org.apache.qpid.client.state.AMQStateManager; +import org.apache.qpid.client.state.IllegalStateTransitionException; +import org.apache.qpid.client.state.StateAwareMethodListener; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.framing.ConnectionCloseBody; +import org.apache.qpid.framing.ConnectionOpenOkBody; +import org.apache.qpid.framing.ConnectionSecureBody; +import org.apache.qpid.framing.ConnectionStartBody; +import org.apache.qpid.framing.ConnectionTuneBody; + +import java.util.HashMap; +import java.util.Map; + +/** + * An extension of client.AMQStateManager that allows different handlers to be registered. + * + */ +public class ClientHandlerRegistry extends AMQStateManager +{ + private final Map<AMQState, ClientRegistry> _handlers = new HashMap<AMQState, ClientRegistry>(); + private final MemberHandle _identity; + + protected ClientHandlerRegistry(MemberHandle local) + { + super(AMQState.CONNECTION_NOT_STARTED, false); + + _identity = local; + + addHandler(ConnectionStartBody.class, ConnectionStartMethodHandler.getInstance(), + AMQState.CONNECTION_NOT_STARTED); + + addHandler(ConnectionTuneBody.class, new ConnectionTuneHandler(), + AMQState.CONNECTION_NOT_TUNED); + addHandler(ConnectionSecureBody.class, ConnectionSecureMethodHandler.getInstance(), + AMQState.CONNECTION_NOT_TUNED); + addHandler(ConnectionOpenOkBody.class, ConnectionOpenOkMethodHandler.getInstance(), + AMQState.CONNECTION_NOT_OPENED); + + addHandlers(ConnectionCloseBody.class, ConnectionCloseMethodHandler.getInstance(), + AMQState.CONNECTION_NOT_STARTED, + AMQState.CONNECTION_NOT_TUNED, + AMQState.CONNECTION_NOT_OPENED); + + } + + private ClientRegistry state(AMQState state) + { + ClientRegistry registry = _handlers.get(state); + if (registry == null) + { + registry = new ClientRegistry(); + _handlers.put(state, registry); + } + return registry; + } + + protected StateAwareMethodListener findStateTransitionHandler(AMQState state, AMQMethodBody frame) throws IllegalStateTransitionException + { + ClientRegistry registry = _handlers.get(state); + return registry == null ? null : registry.getHandler(frame); + } + + + <A extends Class<AMQMethodBody>> void addHandlers(Class type, StateAwareMethodListener handler, AMQState... states) + { + for (AMQState state : states) + { + addHandler(type, handler, state); + } + } + + <A extends Class<AMQMethodBody>> void addHandler(Class type, StateAwareMethodListener handler, AMQState state) + { + ClientRegistry registry = _handlers.get(state); + if (registry == null) + { + registry = new ClientRegistry(); + _handlers.put(state, registry); + } + registry.add(type, handler); + } + + static class ClientRegistry + { + private final Map<Class<? extends AMQMethodBody>, StateAwareMethodListener> registry + = new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener>(); + + <A extends Class<AMQMethodBody>> void add(A type, StateAwareMethodListener handler) + { + registry.put(type, handler); + } + + StateAwareMethodListener getHandler(AMQMethodBody frame) + { + return registry.get(frame.getClass()); + } + } + + class ConnectionTuneHandler extends ConnectionTuneMethodHandler + { + protected AMQFrame createConnectionOpenFrame(int channel, String path, String capabilities, boolean insist) + { + return super.createConnectionOpenFrame(channel, path, ClusterCapability.add(capabilities, _identity), insist); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ClusterBuilder.java b/java/cluster/src/org/apache/qpid/server/cluster/ClusterBuilder.java new file mode 100644 index 0000000000..eb2992a690 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ClusterBuilder.java @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.server.cluster.handler.ClusterMethodHandlerFactory; +import org.apache.qpid.server.cluster.replay.RecordingMethodHandlerFactory; +import org.apache.qpid.server.cluster.replay.ReplayStore; + +import java.net.InetSocketAddress; + +class ClusterBuilder +{ + private final LoadTable loadTable = new LoadTable(); + private final ReplayStore replayStore = new ReplayStore(); + private final MemberHandle handle; + private final GroupManager groupMgr; + + ClusterBuilder(InetSocketAddress address) + { + handle = new SimpleMemberHandle(address.getHostName(), address.getPort()).resolve(); + groupMgr = new DefaultGroupManager(handle, getBrokerFactory(), replayStore, loadTable); + } + + GroupManager getGroupManager() + { + return groupMgr; + } + + ServerHandlerRegistry getHandlerRegistry() + { + return new ServerHandlerRegistry(getHandlerFactory()); + } + + private MethodHandlerFactory getHandlerFactory() + { + MethodHandlerFactory factory = new ClusterMethodHandlerFactory(groupMgr, loadTable); + //need to wrap relevant handlers with recording handler for easy replay: + return new RecordingMethodHandlerFactory(factory, replayStore); + } + + private BrokerFactory getBrokerFactory() + { + return new MinaBrokerProxyFactory(handle); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ClusterCapability.java b/java/cluster/src/org/apache/qpid/server/cluster/ClusterCapability.java new file mode 100644 index 0000000000..9bf2e02d3c --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ClusterCapability.java @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class ClusterCapability +{ + public static final String PATTERN = ".*\\bcluster_peer=(\\S*:\\d*)\b*.*"; + public static final String PEER = "cluster_peer"; + + public static String add(String original, MemberHandle identity) + { + return original == null ? peer(identity) : original + " " + peer(identity); + } + + private static String peer(MemberHandle identity) + { + return PEER + "=" + identity.getDetails(); + } + + public static boolean contains(String in) + { + return in != null && in.contains(in); + } + + public static MemberHandle getPeer(String in) + { + Matcher matcher = Pattern.compile(PATTERN).matcher(in); + if (matcher.matches()) + { + return new SimpleMemberHandle(matcher.group(1)); + } + else + { + throw new RuntimeException("Could not find peer in '" + in + "'"); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ClusteredProtocolHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/ClusteredProtocolHandler.java new file mode 100644 index 0000000000..65b188484c --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ClusteredProtocolHandler.java @@ -0,0 +1,190 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.log4j.Logger; +import org.apache.mina.common.IoSession; +import org.apache.qpid.AMQException; +import org.apache.qpid.codec.AMQCodecFactory; +import org.apache.qpid.framing.AMQBody; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.ConnectionOpenBody; +import org.apache.qpid.framing.ConnectionSecureOkBody; +import org.apache.qpid.framing.ConnectionStartOkBody; +import org.apache.qpid.framing.ConnectionTuneOkBody; +import org.apache.qpid.framing.ClusterMembershipBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQPFastProtocolHandler; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.IApplicationRegistry; +import org.apache.qpid.server.cluster.util.LogMessage; + +import java.net.InetSocketAddress; + +public class ClusteredProtocolHandler extends AMQPFastProtocolHandler implements InductionBuffer.MessageHandler +{ + private static final Logger _logger = Logger.getLogger(ClusteredProtocolHandler.class); + private final InductionBuffer _peerBuffer = new InductionBuffer(this); + private final InductionBuffer _clientBuffer = new InductionBuffer(this); + private final GroupManager _groupMgr; + private final ServerHandlerRegistry _handlers; + + public ClusteredProtocolHandler(InetSocketAddress address) + { + this(ApplicationRegistry.getInstance(), address); + } + + public ClusteredProtocolHandler(IApplicationRegistry registry, InetSocketAddress address) + { + this(registry.getQueueRegistry(), registry.getExchangeRegistry(), address); + } + + public ClusteredProtocolHandler(QueueRegistry queueRegistry, ExchangeRegistry exchangeRegistry, InetSocketAddress address) + { + super(queueRegistry, exchangeRegistry); + ClusterBuilder builder = new ClusterBuilder(address); + _groupMgr = builder.getGroupManager(); + _handlers = builder.getHandlerRegistry(); + } + + public ClusteredProtocolHandler(ClusteredProtocolHandler handler) + { + super(handler); + _groupMgr = handler._groupMgr; + _handlers = handler._handlers; + } + + protected void createSession(IoSession session, QueueRegistry queues, ExchangeRegistry exchanges, AMQCodecFactory codec) throws AMQException + { + new ClusteredProtocolSession(session, queues, exchanges, codec, new ServerHandlerRegistry(_handlers)); + } + + void connect(String join) throws Exception + { + if (join == null) + { + _groupMgr.establish(); + } + else + { + _groupMgr.join(new SimpleMemberHandle(join)); + } + } + + private boolean inState(JoinState state) + { + return _groupMgr.getState().equals(state); + } + + public void messageReceived(IoSession session, Object msg) throws Exception + { + JoinState state = _groupMgr.getState(); + switch (state) + { + case JOINED: + _logger.debug(new LogMessage("Received {0}", msg)); + super.messageReceived(session, msg); + break; + case JOINING: + case INITIATION: + case INDUCTION: + buffer(session, msg); + break; + default: + throw new AMQException("Received message while in state: " + state); + } + JoinState latest = _groupMgr.getState(); + if (!latest.equals(state)) + { + switch (latest) + { + case INDUCTION: + _logger.info("Reached induction, delivering buffered message from peers"); + _peerBuffer.deliver(); + break; + case JOINED: + _logger.info("Reached joined, delivering buffered message from clients"); + _clientBuffer.deliver(); + break; + } + } + } + + private void buffer(IoSession session, Object msg) throws Exception + { + if (isBufferable(msg)) + { + MemberHandle peer = ClusteredProtocolSession.getSessionPeer(session); + if (peer == null) + { + _logger.debug(new LogMessage("Buffering {0} for client", msg)); + _clientBuffer.receive(session, msg); + } + else if (inState(JoinState.JOINING) && isMembershipAnnouncement(msg)) + { + _logger.debug(new LogMessage("Initial membership [{0}] received from {1}", msg, peer)); + super.messageReceived(session, msg); + } + else if (inState(JoinState.INITIATION) && _groupMgr.isLeader(peer)) + { + _logger.debug(new LogMessage("Replaying {0} from leader ", msg)); + super.messageReceived(session, msg); + } + else if (inState(JoinState.INDUCTION)) + { + _logger.debug(new LogMessage("Replaying {0} from peer {1}", msg, peer)); + super.messageReceived(session, msg); + } + else + { + _logger.debug(new LogMessage("Buffering {0} for peer {1}", msg, peer)); + _peerBuffer.receive(session, msg); + } + } + else + { + _logger.debug(new LogMessage("Received {0}", msg)); + super.messageReceived(session, msg); + } + } + + public void deliver(IoSession session, Object msg) throws Exception + { + _logger.debug(new LogMessage("Delivering {0}", msg)); + super.messageReceived(session, msg); + } + + private boolean isMembershipAnnouncement(Object msg) + { + return msg instanceof AMQFrame && (((AMQFrame) msg).bodyFrame instanceof ClusterMembershipBody); + } + + private boolean isBufferable(Object msg) + { + return msg instanceof AMQFrame && isBuffereable(((AMQFrame) msg).bodyFrame); + } + + private boolean isBuffereable(AMQBody body) + { + return !(body instanceof ConnectionStartOkBody || + body instanceof ConnectionTuneOkBody || + body instanceof ConnectionSecureOkBody || + body instanceof ConnectionOpenBody); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ClusteredProtocolSession.java b/java/cluster/src/org/apache/qpid/server/cluster/ClusteredProtocolSession.java new file mode 100644 index 0000000000..e5efe941b3 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ClusteredProtocolSession.java @@ -0,0 +1,132 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.mina.common.IoSession; +import org.apache.qpid.AMQException; +import org.apache.qpid.codec.AMQCodecFactory; +import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMinaProtocolSession; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.AMQMessage; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.IApplicationRegistry; +import org.apache.qpid.server.state.AMQStateManager; + +public class ClusteredProtocolSession extends AMQMinaProtocolSession +{ + private MemberHandle _peer; + + public ClusteredProtocolSession(IoSession session, QueueRegistry queueRegistry, ExchangeRegistry exchangeRegistry, AMQCodecFactory codecFactory, AMQStateManager stateManager) + throws AMQException + { + super(session, queueRegistry, exchangeRegistry, codecFactory, stateManager); + } + + public boolean isPeerSession() + { + return _peer != null; + } + + public void setSessionPeer(MemberHandle peer) + { + _peer = peer; + } + + public MemberHandle getSessionPeer() + { + return _peer; + } + + public AMQChannel getChannel(int channelId) + throws AMQException + { + AMQChannel channel = super.getChannel(channelId); + if (isPeerSession() && channel == null) + { + channel = new OneUseChannel(channelId); + addChannel(channel); + } + return channel; + } + + public static boolean isPeerSession(IoSession session) + { + return isPeerSession(getAMQProtocolSession(session)); + } + + public static boolean isPeerSession(AMQProtocolSession session) + { + return session instanceof ClusteredProtocolSession && ((ClusteredProtocolSession) session).isPeerSession(); + } + + public static void setSessionPeer(AMQProtocolSession session, MemberHandle peer) + { + ((ClusteredProtocolSession) session).setSessionPeer(peer); + } + + public static MemberHandle getSessionPeer(AMQProtocolSession session) + { + return ((ClusteredProtocolSession) session).getSessionPeer(); + } + + public static MemberHandle getSessionPeer(IoSession session) + { + return getSessionPeer(getAMQProtocolSession(session)); + } + + /** + * Cleans itself up after delivery of a message (publish frame, header and optional body frame(s)) + */ + private class OneUseChannel extends AMQChannel + { + public OneUseChannel(int channelId) + throws AMQException + { + this(channelId, ApplicationRegistry.getInstance()); + } + + public OneUseChannel(int channelId, IApplicationRegistry registry) + throws AMQException + { + super(channelId, + registry.getMessageStore(), + registry.getExchangeRegistry()); + } + + protected void routeCurrentMessage() throws AMQException + { + super.routeCurrentMessage(); + removeChannel(getChannelId()); + } + } + + public static boolean isPayloadFromPeer(AMQMessage payload) + { + return isPeerSession(payload.getPublisher()); + } + + public static boolean canRelay(AMQMessage payload, MemberHandle target) + { + //can only relay client messages that have not already been relayed to the given target + return !isPayloadFromPeer(payload) && !payload.checkToken(target); + } + +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ConnectionStatusMonitor.java b/java/cluster/src/org/apache/qpid/server/cluster/ConnectionStatusMonitor.java new file mode 100644 index 0000000000..650240fa70 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ConnectionStatusMonitor.java @@ -0,0 +1,77 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import java.io.IOException; + +class ConnectionStatusMonitor +{ + private boolean _complete; + private boolean _redirected; + private String _host; + private int _port; + private RuntimeException _error; + + synchronized void opened() + { + _complete = true; + notifyAll(); + } + + synchronized void redirect(String host, int port) + { + _complete = true; + _redirected = true; + this._host = host; + this._port = port; + } + + synchronized void failed(RuntimeException e) + { + _error = e; + _complete = true; + } + + synchronized boolean waitUntilOpen() throws InterruptedException + { + while (!_complete) + { + wait(); + } + if (_error != null) + { + throw _error; + } + return !_redirected; + } + + synchronized boolean isOpened() + { + return _complete; + } + + String getHost() + { + return _host; + } + + int getPort() + { + return _port; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/DefaultGroupManager.java b/java/cluster/src/org/apache/qpid/server/cluster/DefaultGroupManager.java new file mode 100644 index 0000000000..980b36cf21 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/DefaultGroupManager.java @@ -0,0 +1,366 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.ClusterJoinBody; +import org.apache.qpid.framing.ClusterLeaveBody; +import org.apache.qpid.framing.ClusterMembershipBody; +import org.apache.qpid.framing.ClusterPingBody; +import org.apache.qpid.framing.ClusterSuspectBody; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.cluster.policy.StandardPolicies; +import org.apache.qpid.server.cluster.replay.ReplayManager; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.server.cluster.util.InvokeMultiple; + +import java.util.List; + +public class DefaultGroupManager implements GroupManager, MemberFailureListener, BrokerFactory, StandardPolicies +{ + private static final Logger _logger = Logger.getLogger(DefaultGroupManager.class); + private final LoadTable _loadTable; + private final BrokerFactory _factory; + private final ReplayManager _replayMgr; + private final BrokerGroup _group; + + DefaultGroupManager(MemberHandle handle, BrokerFactory factory, ReplayManager replayMgr) + { + this(handle, factory, replayMgr, new LoadTable()); + } + + DefaultGroupManager(MemberHandle handle, BrokerFactory factory, ReplayManager replayMgr, LoadTable loadTable) + { + handle = SimpleMemberHandle.resolve(handle); + _logger.info(handle); + _loadTable = loadTable; + _factory = factory; + _replayMgr = replayMgr; + _group = new BrokerGroup(handle, _replayMgr, this); + } + + public JoinState getState() + { + return _group.getState(); + } + + public void addMemberhipChangeListener(MembershipChangeListener l) + { + _group.addMemberhipChangeListener(l); + } + + public void removeMemberhipChangeListener(MembershipChangeListener l) + { + _group.removeMemberhipChangeListener(l); + } + + public void broadcast(Sendable message) throws AMQException + { + for (Broker b : _group.getPeers()) + { + b.send(message, null); + } + } + + public void broadcast(Sendable message, BroadcastPolicy policy, GroupResponseHandler callback) throws AMQException + { + GroupRequest request = new GroupRequest(message, policy, callback); + for (Broker b : _group.getPeers()) + { + b.invoke(request); + } + request.finishedSend(); + } + + public void send(MemberHandle broker, Sendable message) throws AMQException + { + Broker destination = findBroker(broker); + if(destination == null) + { + _logger.warn(new LogMessage("Invalid destination sending {0}. {1} not known", message, broker)); + } + else + { + destination.send(message, null); + _logger.debug(new LogMessage("Sent {0} to {1}", message, broker)); + } + } + + private void send(Broker broker, Sendable message, ResponseHandler handler) throws AMQException + { + broker.send(message, handler); + } + + private void ping(Broker b) throws AMQException + { + ClusterPingBody ping = new ClusterPingBody(); + ping.broker = _group.getLocal().getDetails(); + ping.responseRequired = true; + ping.load = _loadTable.getLocalLoad(); + BlockingHandler handler = new BlockingHandler(); + send(getLeader(), new SimpleSendable(ping), handler); + handler.waitForCompletion(); + if (handler.failed()) + { + if (isLeader()) + { + handleFailure(b); + } + else + { + suspect(b); + } + } + else + { + _loadTable.setLoad(b, ((ClusterPingBody) handler.getResponse()).load); + } + } + + public void handlePing(MemberHandle member, long load) + { + _loadTable.setLoad(findBroker(member), load); + } + + public Member redirect() + { + return _loadTable.redirect(); + } + + public void establish() + { + _group.establish(); + _logger.info("Established cluster"); + } + + public void join(MemberHandle member) throws AMQException + { + member = SimpleMemberHandle.resolve(member); + + Broker leader = connectToLeader(member); + _logger.info(new LogMessage("Connected to {0}. joining", leader)); + ClusterJoinBody join = new ClusterJoinBody(); + join.broker = _group.getLocal().getDetails(); + send(leader, new SimpleSendable(join)); + } + + private Broker connectToLeader(MemberHandle member) throws AMQException + { + try + { + return _group.connectToLeader(member); + } + catch (Exception e) + { + throw new AMQException("Could not connect to leader: " + e, e); + } + } + + public void leave() throws AMQException + { + ClusterLeaveBody leave = new ClusterLeaveBody(); + leave.broker = _group.getLocal().getDetails(); + send(getLeader(), new SimpleSendable(leave)); + } + + private void suspect(MemberHandle broker) throws AMQException + { + if (_group.isLeader(broker)) + { + //need new leader, if this broker is next in line it can assume leadership + if (_group.assumeLeadership()) + { + announceMembership(); + } + else + { + _logger.warn(new LogMessage("Leader failed. Expecting {0} to succeed.", _group.getMembers().get(1))); + } + } + else + { + ClusterSuspectBody suspect = new ClusterSuspectBody(); + suspect.broker = broker.getDetails(); + send(getLeader(), new SimpleSendable(suspect)); + } + } + + + public void handleJoin(MemberHandle member) throws AMQException + { + _logger.info(new LogMessage("Handling join request for {0}", member)); + if(isLeader()) + { + //connect to the host and port specified: + Broker prospect = connectToProspect(member); + announceMembership(); + List<AMQMethodBody> msgs = _replayMgr.replay(true); + _logger.info(new LogMessage("Replaying {0} from leader to {1}", msgs, prospect)); + prospect.replay(msgs); + } + else + { + //pass request on to leader: + ClusterJoinBody request = new ClusterJoinBody(); + request.broker = member.getDetails(); + Broker leader = getLeader(); + send(leader, new SimpleSendable(request)); + _logger.info(new LogMessage("Passed join request for {0} to {1}", member, leader)); + } + } + + private Broker connectToProspect(MemberHandle member) throws AMQException + { + try + { + return _group.connectToProspect(member); + } + catch (Exception e) + { + e.printStackTrace(); + throw new AMQException("Could not connect to prospect: " + e, e); + } + } + + public void handleLeave(MemberHandle member) throws AMQException + { + handleFailure(findBroker(member)); + announceMembership(); + } + + public void handleSuspect(MemberHandle member) throws AMQException + { + Broker b = findBroker(member); + if(b != null) + { + //ping it to check it has failed, ping will handle failure if it has + ping(b); + announceMembership(); + } + } + + public void handleSynch(MemberHandle member) + { + _group.synched(member); + } + + private ClusterMembershipBody createAnnouncement(String membership) + { + ClusterMembershipBody announce = new ClusterMembershipBody(); + //TODO: revise this way of converting String to bytes... + announce.members = membership.getBytes(); + return announce; + } + + private void announceMembership() throws AMQException + { + String membership = SimpleMemberHandle.membersToString(_group.getMembers()); + ClusterMembershipBody announce = createAnnouncement(membership); + broadcast(new SimpleSendable(announce)); + _logger.info(new LogMessage("Membership announcement sent: {0}", membership)); + } + + private void handleFailure(Broker peer) + { + peer.remove(); + _group.remove(peer); + } + + public void handleMembershipAnnouncement(String membership) throws AMQException + { + _group.setMembers(SimpleMemberHandle.stringToMembers(membership)); + _logger.info(new LogMessage("Membership announcement received: {0}", membership)); + } + + public boolean isLeader() + { + return _group.isLeader(); + } + + public boolean isLeader(MemberHandle handle) + { + return _group.isLeader(handle); + } + + public Broker getLeader() + { + return _group.getLeader(); + } + + private Broker findBroker(MemberHandle handle) + { + return _group.findBroker(handle, false); + } + + public Member getMember(MemberHandle handle) + { + return findBroker(handle); + } + + public boolean isMember(MemberHandle member) + { + for (MemberHandle handle : _group.getMembers()) + { + if (handle.matches(member)) + { + return true; + } + } + return false; + } + + public MemberHandle getLocal() + { + return _group.getLocal(); + } + + public void failed(MemberHandle member) + { + if (isLeader()) + { + handleFailure(findBroker(member)); + try + { + announceMembership(); + } + catch (AMQException e) + { + _logger.error("Error announcing failure: " + e, e); + } + } + else + { + try + { + suspect(member); + } + catch (AMQException e) + { + _logger.error("Error sending suspect: " + e, e); + } + } + } + + public Broker create(MemberHandle handle) + { + Broker broker = _factory.create(handle); + broker.addFailureListener(this); + return broker; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/GroupManager.java b/java/cluster/src/org/apache/qpid/server/cluster/GroupManager.java new file mode 100644 index 0000000000..d3b33f6fe3 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/GroupManager.java @@ -0,0 +1,69 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; + +public interface GroupManager +{ + /** + * Establish a new cluster with the local member as the leader. + */ + public void establish(); + + /** + * Join the cluster to which member belongs + */ + public void join(MemberHandle member) throws AMQException; + + public void broadcast(Sendable message) throws AMQException; + + public void broadcast(Sendable message, BroadcastPolicy policy, GroupResponseHandler callback) throws AMQException; + + public void send(MemberHandle broker, Sendable message) throws AMQException; + + public void leave() throws AMQException; + + public void handleJoin(MemberHandle member) throws AMQException; + + public void handleLeave(MemberHandle member) throws AMQException; + + public void handleSuspect(MemberHandle member) throws AMQException; + + public void handlePing(MemberHandle member, long load); + + public void handleMembershipAnnouncement(String membership) throws AMQException; + + public void handleSynch(MemberHandle member); + + public boolean isLeader(); + + public boolean isLeader(MemberHandle handle); + + public boolean isMember(MemberHandle member); + + public MemberHandle redirect(); + + public MemberHandle getLocal(); + + public JoinState getState(); + + public void addMemberhipChangeListener(MembershipChangeListener l); + + public void removeMemberhipChangeListener(MembershipChangeListener l); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/GroupRequest.java b/java/cluster/src/org/apache/qpid/server/cluster/GroupRequest.java new file mode 100644 index 0000000000..6c45c6e655 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/GroupRequest.java @@ -0,0 +1,104 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Represents a method sent to a group of Member instances. Manages the responses, + * completion and callback. + * + */ +class GroupRequest +{ + private final Map<Member, AMQMethodBody> _responses = new HashMap<Member, AMQMethodBody>(); + private final List<Member> _brokers = new ArrayList<Member>(); + private boolean _sent; + + private final Sendable _request; + private final BroadcastPolicy _policy; + private final GroupResponseHandler _callback; + + GroupRequest(Sendable request, BroadcastPolicy policy, GroupResponseHandler callback) + { + _request = request; + _policy = policy; + _callback = callback; + } + + void send(int channel, Member session) throws AMQException + { + _brokers.add(session); + _request.send(channel, session); + } + + boolean finishedSend() + { + _sent = true; + return checkCompletion(); + } + + public boolean responseReceived(Member broker, AMQMethodBody response) + { + _responses.put(broker, response); + return checkCompletion(); + } + + public boolean removed(Member broker) + { + _brokers.remove(broker); + return checkCompletion(); + } + + private synchronized boolean checkCompletion() + { + return isComplete() && callback(); + } + + boolean isComplete() + { + return _sent && _policy != null && _policy.isComplete(_responses.size(), _brokers.size()); + } + + boolean callback() + { + _callback.response(getResults(), _brokers); + return true; + } + + List<AMQMethodBody> getResults() + { + List<AMQMethodBody> results = new ArrayList<AMQMethodBody>(_brokers.size()); + for (Member b : _brokers) + { + results.add(_responses.get(b)); + } + return results; + } + + public String toString() + { + return "GroupRequest{request=" + _request +", brokers=" + _brokers + ", responses=" + _responses + "}"; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/GroupResponseHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/GroupResponseHandler.java new file mode 100644 index 0000000000..c12d06a337 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/GroupResponseHandler.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.framing.AMQMethodBody; + +import java.util.List; + +public interface GroupResponseHandler +{ + //Note: this implies that the response to a group request will always be a method body... + public void response(List<AMQMethodBody> responses, List<Member> members); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/InductionBuffer.java b/java/cluster/src/org/apache/qpid/server/cluster/InductionBuffer.java new file mode 100644 index 0000000000..76e15b88ec --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/InductionBuffer.java @@ -0,0 +1,87 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.mina.common.IoSession; + +import java.util.LinkedList; +import java.util.Queue; + +/** + * Buffers any received messages until join completes. + * + */ +class InductionBuffer +{ + private final Queue<Message> _buffer = new LinkedList<Message>(); + private final MessageHandler _handler; + private boolean _buffering = true; + + InductionBuffer(MessageHandler handler) + { + _handler = handler; + } + + private void process() throws Exception + { + for (Message o = _buffer.poll(); o != null; o = _buffer.poll()) + { + o.deliver(_handler); + } + _buffering = false; + } + + synchronized void deliver() throws Exception + { + process(); + } + + synchronized void receive(IoSession session, Object msg) throws Exception + { + if (_buffering) + { + _buffer.offer(new Message(session, msg)); + } + else + { + _handler.deliver(session, msg); + } + } + + private static class Message + { + private final IoSession _session; + private final Object _msg; + + Message(IoSession session, Object msg) + { + _session = session; + _msg = msg; + } + + void deliver(MessageHandler handler) throws Exception + { + handler.deliver(_session, _msg); + } + } + + static interface MessageHandler + { + public void deliver(IoSession session, Object msg) throws Exception; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/JoinState.java b/java/cluster/src/org/apache/qpid/server/cluster/JoinState.java new file mode 100644 index 0000000000..af618631e4 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/JoinState.java @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +public enum JoinState +{ + UNINITIALISED, JOINING, INITIATION, INDUCTION, JOINED +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/LoadTable.java b/java/cluster/src/org/apache/qpid/server/cluster/LoadTable.java new file mode 100644 index 0000000000..d95229505f --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/LoadTable.java @@ -0,0 +1,104 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import java.util.HashMap; +import java.util.Map; +import java.util.PriorityQueue; + +/** + * Maintains loading information about the local member and its cluster peers. + * + */ +public class LoadTable +{ + private final Map<MemberHandle, Loading> _peers = new HashMap<MemberHandle, Loading>(); + private final PriorityQueue<Loading> _loads = new PriorityQueue<Loading>(); + private final Loading _local = new Loading(null); + + public LoadTable() + { + _loads.add(_local); + } + + public void setLoad(Member member, long load) + { + synchronized (_peers) + { + Loading loading = _peers.get(member); + if (loading == null) + { + loading = new Loading(member); + synchronized (_loads) + { + _loads.add(loading); + } + _peers.put(member, loading); + } + loading.load = load; + } + } + + public void incrementLocalLoad() + { + synchronized (_local) + { + _local.load++; + } + } + + public void decrementLocalLoad() + { + synchronized (_local) + { + _local.load--; + } + } + + public long getLocalLoad() + { + synchronized (_local) + { + return _local.load; + } + } + + public Member redirect() + { + synchronized (_loads) + { + return _loads.peek().member; + } + } + + private static class Loading implements Comparable + { + private final Member member; + private long load; + + Loading(Member member) + { + this.member = member; + } + + public int compareTo(Object o) + { + return (int) (load - ((Loading) o).load); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/Main.java b/java/cluster/src/org/apache/qpid/server/cluster/Main.java new file mode 100644 index 0000000000..94ec2042a2 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/Main.java @@ -0,0 +1,117 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.OptionBuilder; +import org.apache.commons.cli.Options; +import org.apache.commons.cli.ParseException; +import org.apache.commons.cli.PosixParser; +import org.apache.log4j.Logger; +import org.apache.mina.common.IoAcceptor; +import org.apache.mina.transport.socket.nio.SocketAcceptor; +import org.apache.mina.transport.socket.nio.SocketAcceptorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; +import org.apache.qpid.pool.ReadWriteThreadModel; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry; +import org.apache.qpid.server.transport.ConnectorConfiguration; + +import java.io.File; +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; + +/** + * TODO: This is a cut-and-paste from the original broker Main class. Would be preferrable + * to make that class more reuseable to avoid all this duplication. + * + */ +public class Main extends org.apache.qpid.server.Main +{ + private static final Logger _logger = Logger.getLogger(Main.class); + + protected Main(String[] args) + { + super(args); + } + + protected void setOptions(Options otions) + { + super.setOptions(options); + + //extensions: + Option join = OptionBuilder.withArgName("join").hasArg().withDescription("Join the specified cluster member. Overrides any value in the config file"). + withLongOpt("join").create("j"); + options.addOption(join); + } + + protected void bind(int port, ConnectorConfiguration connectorConfig) + { + try + { + IoAcceptor acceptor = new SocketAcceptor(); + SocketAcceptorConfig sconfig = (SocketAcceptorConfig) acceptor.getDefaultConfig(); + SocketSessionConfig sc = (SocketSessionConfig) sconfig.getSessionConfig(); + + sc.setReceiveBufferSize(connectorConfig.socketReceiveBufferSize); + sc.setSendBufferSize(connectorConfig.socketWriteBuferSize); + sc.setTcpNoDelay(true); + + // if we do not use the executor pool threading model we get the default leader follower + // implementation provided by MINA + if (connectorConfig.enableExecutorPool) + { + sconfig.setThreadModel(new ReadWriteThreadModel()); + } + + String host = InetAddress.getLocalHost().getHostName(); + ClusteredProtocolHandler handler = new ClusteredProtocolHandler(new InetSocketAddress(host, port)); + if (connectorConfig.enableNonSSL) + { + acceptor.bind(new InetSocketAddress(port), handler, sconfig); + _logger.info("Qpid.AMQP listening on non-SSL port " + port); + handler.connect(commandLine.getOptionValue("j")); + } + + if (connectorConfig.enableSSL) + { + ClusteredProtocolHandler sslHandler = new ClusteredProtocolHandler(handler); + sslHandler.setUseSSL(true); + acceptor.bind(new InetSocketAddress(connectorConfig.sslPort), handler, sconfig); + _logger.info("Qpid.AMQP listening on SSL port " + connectorConfig.sslPort); + } + } + catch (IOException e) + { + _logger.error("Unable to bind service to registry: " + e, e); + } + catch (Exception e) + { + _logger.error("Unable to connect to cluster: " + e, e); + } + } + + public static void main(String[] args) + { + new Main(args); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/Member.java b/java/cluster/src/org/apache/qpid/server/cluster/Member.java new file mode 100644 index 0000000000..d7825aac6e --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/Member.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQDataBlock; + +public interface Member extends MemberHandle +{ + public void send(AMQDataBlock data) throws AMQException; + + public void addFailureListener(MemberFailureListener listener); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/MemberFailureListener.java b/java/cluster/src/org/apache/qpid/server/cluster/MemberFailureListener.java new file mode 100644 index 0000000000..4b56eaf962 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/MemberFailureListener.java @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +interface MemberFailureListener +{ + public void failed(MemberHandle member); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/MemberHandle.java b/java/cluster/src/org/apache/qpid/server/cluster/MemberHandle.java new file mode 100644 index 0000000000..75f4d19103 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/MemberHandle.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +public interface MemberHandle +{ + public String getHost(); + + public int getPort(); + + public boolean matches(MemberHandle m); + + public boolean matches(String host, int port); + + public String getDetails(); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/MembershipChangeListener.java b/java/cluster/src/org/apache/qpid/server/cluster/MembershipChangeListener.java new file mode 100644 index 0000000000..a62a413bc6 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/MembershipChangeListener.java @@ -0,0 +1,25 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import java.util.List; + +public interface MembershipChangeListener +{ + public void changed(List<MemberHandle> members); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/MethodHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/MethodHandler.java new file mode 100644 index 0000000000..cd3e00012e --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/MethodHandler.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; + +interface MethodHandler +{ + public void handle(int channel, AMQMethodBody method) throws AMQException; +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/MethodHandlerFactory.java b/java/cluster/src/org/apache/qpid/server/cluster/MethodHandlerFactory.java new file mode 100644 index 0000000000..f4a721dbc5 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/MethodHandlerFactory.java @@ -0,0 +1,25 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.server.state.AMQState; + +public interface MethodHandlerFactory +{ + public MethodHandlerRegistry register(AMQState state, MethodHandlerRegistry registry); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/MethodHandlerRegistry.java b/java/cluster/src/org/apache/qpid/server/cluster/MethodHandlerRegistry.java new file mode 100644 index 0000000000..4870f9daaa --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/MethodHandlerRegistry.java @@ -0,0 +1,41 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.state.StateAwareMethodListener; + +import java.util.HashMap; +import java.util.Map; + +public class MethodHandlerRegistry +{ + private final Map<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>> registry = + new HashMap<Class<? extends AMQMethodBody>, StateAwareMethodListener<? extends AMQMethodBody>>(); + + public <A extends AMQMethodBody, B extends Class<A>> MethodHandlerRegistry addHandler(B type, StateAwareMethodListener<A> handler) + { + registry.put(type, handler); + return this; + } + + public <B extends AMQMethodBody> StateAwareMethodListener<B> getHandler(B frame) + { + return (StateAwareMethodListener<B>) registry.get(frame.getClass()); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/MinaBrokerProxy.java b/java/cluster/src/org/apache/qpid/server/cluster/MinaBrokerProxy.java new file mode 100644 index 0000000000..f193862e78 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/MinaBrokerProxy.java @@ -0,0 +1,269 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ConnectFuture; +import org.apache.mina.common.IoHandlerAdapter; +import org.apache.mina.common.IoSession; +import org.apache.mina.common.RuntimeIOException; +import org.apache.mina.filter.codec.ProtocolCodecFilter; +import org.apache.mina.transport.socket.nio.SocketConnector; +import org.apache.mina.transport.socket.nio.SocketConnectorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; +import org.apache.qpid.AMQException; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.client.state.AMQState; +import org.apache.qpid.codec.AMQCodecFactory; +import org.apache.qpid.framing.AMQBody; +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.framing.ConnectionRedirectBody; +import org.apache.qpid.framing.ProtocolInitiation; +import org.apache.qpid.framing.ProtocolVersionList; + +import java.io.IOException; +import java.net.InetSocketAddress; + +/** + * A 'client stub' for a remote cluster peer, using MINA for IO Layer + * + */ +public class MinaBrokerProxy extends Broker implements MethodHandler +{ + private static final Logger _logger = Logger.getLogger(MinaBrokerProxy.class); + private final ConnectionStatusMonitor _connectionMonitor = new ConnectionStatusMonitor(); + private final ClientHandlerRegistry _legacyHandler; + private final MinaBinding _binding = new MinaBinding(); + private final MemberHandle _local; + private IoSession _session; + private MethodHandler _handler; + private Iterable<AMQMethodBody> _replay; + + MinaBrokerProxy(String host, int port, MemberHandle local) + { + super(host, port); + _local = local; + _legacyHandler = new ClientHandlerRegistry(local); + } + + private void init(IoSession session) + { + _session = session; + _handler = new ClientAdapter(session, _legacyHandler); + } + + private ConnectFuture connectImpl() + { + _logger.info("Connecting to cluster peer: " + getDetails()); + SocketConnector ioConnector = new SocketConnector(); + SocketConnectorConfig cfg = (SocketConnectorConfig) ioConnector.getDefaultConfig(); + + SocketSessionConfig scfg = (SocketSessionConfig) cfg.getSessionConfig(); + scfg.setTcpNoDelay(true); + scfg.setSendBufferSize(32768); + scfg.setReceiveBufferSize(32768); + InetSocketAddress address = new InetSocketAddress(getHost(), getPort()); + return ioConnector.connect(address, _binding); + } + + //extablish connection without handling redirect + boolean connect() throws IOException, InterruptedException + { + ConnectFuture future = connectImpl(); + // wait for connection to complete + future.join(); + // we call getSession which throws an IOException if there has been an error connecting + try + { + future.getSession(); + } + catch (RuntimeIOException e) + { + _connectionMonitor.failed(e); + _logger.error(new LogMessage("Could not connect to {0}: {1}", this, e), e); + throw e; + } + return _connectionMonitor.waitUntilOpen(); + } + + void connectAsynch(Iterable<AMQMethodBody> msgs) + { + _replay = msgs; + connectImpl(); + } + + void replay(Iterable<AMQMethodBody> msgs) + { + _replay = msgs; + if(_connectionMonitor.isOpened()) + { + replay(); + } + } + + //establish connection, handling redirect if required... + Broker connectToCluster() throws IOException, InterruptedException + { + connect(); + //wait until the connection is open or get a redirection + if (_connectionMonitor.waitUntilOpen()) + { + return this; + } + else + { + Broker broker = new MinaBrokerProxy(_connectionMonitor.getHost(), _connectionMonitor.getPort(), _local); + broker.connect(); + return broker; + } + } + + public void send(AMQDataBlock data) throws AMQException + { + if (_session == null) + { + try + { + _connectionMonitor.waitUntilOpen(); + } + catch (Exception e) + { + throw new AMQException("Failed to send " + data + ": " + e, e); + } + } + _session.write(data); + } + + private void replay() + { + if(_replay != null) + { + for(AMQMethodBody b : _replay) + { + _session.write(new AMQFrame(0, b)); + } + } + } + + public void handle(int channel, AMQMethodBody method) throws AMQException + { + _logger.info(new LogMessage("Handling method: {0} for channel {1}", method, channel)); + if (!handleResponse(channel, method)) + { + _logger.warn(new LogMessage("Unhandled method: {0} for channel {1}", method, channel)); + } + } + + private void handleMethod(int channel, AMQMethodBody method) throws AMQException + { + if (method instanceof ConnectionRedirectBody) + { + //signal redirection to waiting thread + ConnectionRedirectBody redirect = (ConnectionRedirectBody) method; + String[] parts = redirect.host.split(":"); + _connectionMonitor.redirect(parts[0], Integer.parseInt(parts[1])); + } + else + { + _handler.handle(channel, method); + if (AMQState.CONNECTION_OPEN.equals(_legacyHandler.getCurrentState()) && _handler != this) + { + _handler = this; + _logger.info(new LogMessage("Connection opened, handler switched")); + //replay any messages: + replay(); + //signal waiting thread: + _connectionMonitor.opened(); + } + } + } + + private void handleFrame(AMQFrame frame) throws AMQException + { + AMQBody body = frame.bodyFrame; + if (body instanceof AMQMethodBody) + { + handleMethod(frame.channel, (AMQMethodBody) body); + } + else + { + throw new AMQException("Client only expects method body, got: " + body); + } + } + + public String toString() + { + return "MinaBrokerProxy[" + (_session == null ? super.toString() : _session.getRemoteAddress()) + "]"; + } + + private class MinaBinding extends IoHandlerAdapter implements ProtocolVersionList + { + public void sessionCreated(IoSession session) throws Exception + { + init(session); + _logger.info(new LogMessage("{0}: created", MinaBrokerProxy.this)); + ProtocolCodecFilter pcf = new ProtocolCodecFilter(new AMQCodecFactory(false)); + session.getFilterChain().addLast("protocolFilter", pcf); + + /* Find last protocol version in protocol version list. Make sure last protocol version + listed in the build file (build-module.xml) is the latest version which will be used + here. */ + int i = pv.length - 1; + session.write(new ProtocolInitiation(pv[i][PROTOCOL_MAJOR], pv[i][PROTOCOL_MINOR])); + } + + public void sessionOpened(IoSession session) throws Exception + { + _logger.info(new LogMessage("{0}: opened", MinaBrokerProxy.this)); + } + + public void sessionClosed(IoSession session) throws Exception + { + _logger.info(new LogMessage("{0}: closed", MinaBrokerProxy.this)); + } + + public void exceptionCaught(IoSession session, Throwable throwable) throws Exception + { + _logger.error(new LogMessage("{0}: received {1}", MinaBrokerProxy.this, throwable), throwable); + if (! (throwable instanceof IOException)) + { + _session.close(); + } + failed(); + } + + public void messageReceived(IoSession session, Object object) throws Exception + { + if (object instanceof AMQFrame) + { + handleFrame((AMQFrame) object); + } + else + { + throw new AMQException("Received message of unrecognised type: " + object); + } + } + + public void messageSent(IoSession session, Object object) throws Exception + { + _logger.debug(new LogMessage("{0}: sent {1}", MinaBrokerProxy.this, object)); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/MinaBrokerProxyFactory.java b/java/cluster/src/org/apache/qpid/server/cluster/MinaBrokerProxyFactory.java new file mode 100644 index 0000000000..9cf9beeba7 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/MinaBrokerProxyFactory.java @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +public class MinaBrokerProxyFactory implements BrokerFactory +{ + private final MemberHandle _local; + + MinaBrokerProxyFactory(MemberHandle local) + { + _local = local; + } + + public Broker create(MemberHandle handle) + { + return new MinaBrokerProxy(handle.getHost(), handle.getPort(), _local); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ResponseHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/ResponseHandler.java new file mode 100644 index 0000000000..3d751fabba --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ResponseHandler.java @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.framing.AMQMethodBody; + +public interface ResponseHandler +{ + public void responded(AMQMethodBody response); + + public void removed(); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/Sendable.java b/java/cluster/src/org/apache/qpid/server/cluster/Sendable.java new file mode 100644 index 0000000000..ad50a5a737 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/Sendable.java @@ -0,0 +1,25 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; + +public interface Sendable +{ + public void send(int channel, Member member) throws AMQException; +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/ServerHandlerRegistry.java b/java/cluster/src/org/apache/qpid/server/cluster/ServerHandlerRegistry.java new file mode 100644 index 0000000000..2b4408b66c --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/ServerHandlerRegistry.java @@ -0,0 +1,91 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.log4j.Logger; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.state.AMQState; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.IllegalStateTransitionException; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.cluster.util.LogMessage; + +import java.util.HashMap; +import java.util.Map; + +/** + * An extension of server.AMQStateManager that allows different handlers to be registered. + * + */ +class ServerHandlerRegistry extends AMQStateManager +{ + private final Logger _logger = Logger.getLogger(ServerHandlerRegistry.class); + private final Map<AMQState, MethodHandlerRegistry> _handlers = new HashMap<AMQState, MethodHandlerRegistry>(); + + ServerHandlerRegistry() + { + super(AMQState.CONNECTION_NOT_STARTED, false); + } + + ServerHandlerRegistry(ServerHandlerRegistry s) + { + this(); + _handlers.putAll(s._handlers); + } + + ServerHandlerRegistry(MethodHandlerFactory factory) + { + this(); + init(factory); + } + + void setHandlers(AMQState state, MethodHandlerRegistry handlers) + { + _handlers.put(state, handlers); + } + + void init(MethodHandlerFactory factory) + { + for (AMQState s : AMQState.values()) + { + setHandlers(s, factory.register(s, new MethodHandlerRegistry())); + } + } + + protected <B extends AMQMethodBody> StateAwareMethodListener<B> findStateTransitionHandler(AMQState state, B frame) throws IllegalStateTransitionException + { + MethodHandlerRegistry registry = _handlers.get(state); + StateAwareMethodListener<B> handler = (registry == null) ? null : registry.getHandler(frame); + if (handler == null) + { + _logger.warn(new LogMessage("No handler for {0}, {1}", state, frame)); + } + return handler; + } + + <A extends AMQMethodBody, B extends Class<A>> void addHandler(AMQState state, B type, StateAwareMethodListener<A> handler) + { + MethodHandlerRegistry registry = _handlers.get(state); + if (registry == null) + { + registry = new MethodHandlerRegistry(); + _handlers.put(state, registry); + } + registry.addHandler(type, handler); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/SimpleMemberHandle.java b/java/cluster/src/org/apache/qpid/server/cluster/SimpleMemberHandle.java new file mode 100644 index 0000000000..f0b1db25e6 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/SimpleMemberHandle.java @@ -0,0 +1,156 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.List; + +public class SimpleMemberHandle implements MemberHandle +{ + private final String _host; + private final int _port; + + public SimpleMemberHandle(String host, int port) + { + _host = host; + _port = port; + } + + public SimpleMemberHandle(String details) + { + String[] parts = details.split(":"); + _host = parts[0]; + _port = Integer.parseInt(parts[1]); + } + + public SimpleMemberHandle(InetSocketAddress address) throws UnknownHostException + { + this(address.getAddress(), address.getPort()); + } + + public SimpleMemberHandle(InetAddress address, int port) throws UnknownHostException + { + this(canonical(address).getHostAddress(), port); + } + + public String getHost() + { + return _host; + } + + public int getPort() + { + return _port; + } + + public int hashCode() + { + return getPort(); + } + + public boolean equals(Object o) + { + return o instanceof MemberHandle && matches((MemberHandle) o); + } + + public boolean matches(MemberHandle m) + { + return matches(m.getHost(), m.getPort()); + } + + public boolean matches(String host, int port) + { + return _host.equals(host) && _port == port; + } + + public String getDetails() + { + return _host + ":" + _port; + } + + public String toString() + { + return getDetails(); + } + + static List<MemberHandle> stringToMembers(String membership) + { + String[] names = membership.split("\\s"); + List<MemberHandle> members = new ArrayList<MemberHandle>(); + for (String name : names) + { + members.add(new SimpleMemberHandle(name)); + } + return members; + } + + static String membersToString(List<MemberHandle> members) + { + StringBuffer buffer = new StringBuffer(); + boolean first = true; + for (MemberHandle m : members) + { + if (first) + { + first = false; + } + else + { + buffer.append(" "); + } + buffer.append(m.getDetails()); + } + + return buffer.toString(); + } + + private static InetAddress canonical(InetAddress address) throws UnknownHostException + { + if (address.isLoopbackAddress()) + { + return InetAddress.getLocalHost(); + } + else + { + return address; + } + } + + public MemberHandle resolve() + { + return resolve(this); + } + + public static MemberHandle resolve(MemberHandle handle) + { + try + { + return new SimpleMemberHandle(new InetSocketAddress(handle.getHost(), handle.getPort())); + } + catch (UnknownHostException e) + { + e.printStackTrace(); + return handle; + } + } + + +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/SimpleSendable.java b/java/cluster/src/org/apache/qpid/server/cluster/SimpleSendable.java new file mode 100644 index 0000000000..4b75e76d97 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/SimpleSendable.java @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQBody; +import org.apache.qpid.framing.AMQFrame; + +import java.util.Arrays; +import java.util.List; + +public class SimpleSendable implements Sendable +{ + private final List<AMQBody> _bodies; + + public SimpleSendable(AMQBody body) + { + this(Arrays.asList(body)); + } + + public SimpleSendable(List<AMQBody> bodies) + { + _bodies = bodies; + } + + public void send(int channel, Member member) throws AMQException + { + for (AMQBody body : _bodies) + { + member.send(new AMQFrame(channel, body)); + } + } + + public String toString() + { + return _bodies.toString(); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/ChainedClusterMethodHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/ChainedClusterMethodHandler.java new file mode 100644 index 0000000000..5ee07af596 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/ChainedClusterMethodHandler.java @@ -0,0 +1,69 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; + +import java.util.List; +import java.util.ArrayList; + +public class ChainedClusterMethodHandler <A extends AMQMethodBody> extends ClusterMethodHandler<A> +{ + private final List<ClusterMethodHandler<A>> _handlers; + + private ChainedClusterMethodHandler() + { + this(new ArrayList<ClusterMethodHandler<A>>()); + } + + public ChainedClusterMethodHandler(List<ClusterMethodHandler<A>> handlers) + { + _handlers = handlers; + } + + public ChainedClusterMethodHandler(ClusterMethodHandler<A>... handlers) + { + this(); + for(ClusterMethodHandler<A>handler: handlers) + { + _handlers.add(handler); + } + } + + protected final void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + for(ClusterMethodHandler<A> handler : _handlers) + { + handler.peer(stateMgr, queues, exchanges, session, evt); + } + } + + protected final void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + for(ClusterMethodHandler<A> handler : _handlers) + { + handler.client(stateMgr, queues, exchanges, session, evt); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/ChannelQueueManager.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/ChannelQueueManager.java new file mode 100644 index 0000000000..cd25bd178a --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/ChannelQueueManager.java @@ -0,0 +1,136 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.framing.QueueDeclareBody; +import org.apache.qpid.framing.QueueBindBody; +import org.apache.qpid.framing.QueueDeleteBody; +import org.apache.qpid.framing.BasicConsumeBody; +import org.apache.log4j.Logger; + +import java.util.Map; +import java.util.HashMap; + +/** + * Maintains the default queue names for a channel, and alters subsequent frames where necessary + * to use this (i.e. when no queue is explictly specified). + * + */ +class ChannelQueueManager +{ + private static final Logger _logger = Logger.getLogger(ChannelQueueManager.class); + private final Map<Integer, String> _channelQueues = new HashMap<Integer, String>(); + + ClusterMethodHandler<QueueDeclareBody> createQueueDeclareHandler() + { + return new QueueDeclareHandler(); + } + + ClusterMethodHandler<QueueDeleteBody> createQueueDeleteHandler() + { + return new QueueDeleteHandler(); + } + + ClusterMethodHandler<QueueBindBody> createQueueBindHandler() + { + return new QueueBindHandler(); + } + + ClusterMethodHandler<BasicConsumeBody> createBasicConsumeHandler() + { + return new BasicConsumeHandler(); + } + + private void set(int channel, String queue) + { + _channelQueues.put(channel, queue); + _logger.info(new LogMessage("Set default queue for {0} to {1}", channel, queue)); + } + + private String get(int channel) + { + String queue = _channelQueues.get(channel); + _logger.info(new LogMessage("Default queue for {0} is {1}", channel, queue)); + return queue; + } + + private class QueueDeclareHandler extends ClusterMethodHandler<QueueDeclareBody> + { + protected void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<QueueDeclareBody> evt) throws AMQException + { + } + + protected void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<QueueDeclareBody> evt) throws AMQException + { + set(evt.getChannelId(), evt.getMethod().queue); + } + } + private class QueueBindHandler extends ClusterMethodHandler<QueueBindBody> + { + protected void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<QueueBindBody> evt) throws AMQException + { + } + + protected void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<QueueBindBody> evt) throws AMQException + { + if(evt.getMethod().queue == null) + { + evt.getMethod().queue = get(evt.getChannelId()); + } + } + } + private class QueueDeleteHandler extends ClusterMethodHandler<QueueDeleteBody> + { + protected void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<QueueDeleteBody> evt) throws AMQException + { + } + + protected void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<QueueDeleteBody> evt) throws AMQException + { + if(evt.getMethod().queue == null) + { + evt.getMethod().queue = get(evt.getChannelId()); + } + } + } + + private class BasicConsumeHandler extends ClusterMethodHandler<BasicConsumeBody> + { + protected void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<BasicConsumeBody> evt) throws AMQException + { + } + + protected void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<BasicConsumeBody> evt) throws AMQException + { + if(evt.getMethod().queue == null) + { + evt.getMethod().queue = get(evt.getChannelId()); + } + } + } + +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/ClusterMethodHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/ClusterMethodHandler.java new file mode 100644 index 0000000000..9e4444819e --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/ClusterMethodHandler.java @@ -0,0 +1,46 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.state.StateAwareMethodListener; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.AMQException; + +public abstract class ClusterMethodHandler<A extends AMQMethodBody> implements StateAwareMethodListener<A> +{ + public final void methodReceived(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + if (ClusteredProtocolSession.isPeerSession(session)) + { + peer(stateMgr, queues, exchanges, session, evt); + } + else + { + client(stateMgr, queues, exchanges, session, evt); + } + } + + protected abstract void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException; + protected abstract void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException; +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/ClusterMethodHandlerFactory.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/ClusterMethodHandlerFactory.java new file mode 100644 index 0000000000..a1684b399f --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/ClusterMethodHandlerFactory.java @@ -0,0 +1,278 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.framing.BasicCancelBody; +import org.apache.qpid.framing.BasicConsumeBody; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ChannelCloseBody; +import org.apache.qpid.framing.ChannelFlowBody; +import org.apache.qpid.framing.ChannelOpenBody; +import org.apache.qpid.framing.ClusterJoinBody; +import org.apache.qpid.framing.ClusterLeaveBody; +import org.apache.qpid.framing.ClusterMembershipBody; +import org.apache.qpid.framing.ClusterPingBody; +import org.apache.qpid.framing.ClusterSuspectBody; +import org.apache.qpid.framing.ConnectionCloseBody; +import org.apache.qpid.framing.ConnectionOpenBody; +import org.apache.qpid.framing.ConnectionSecureOkBody; +import org.apache.qpid.framing.ConnectionStartOkBody; +import org.apache.qpid.framing.ConnectionTuneOkBody; +import org.apache.qpid.framing.ExchangeDeclareBody; +import org.apache.qpid.framing.ExchangeDeleteBody; +import org.apache.qpid.framing.QueueBindBody; +import org.apache.qpid.framing.QueueDeclareBody; +import org.apache.qpid.framing.QueueDeleteBody; +import org.apache.qpid.framing.ClusterSynchBody; +import org.apache.qpid.framing.BasicQosBody; +import org.apache.qpid.framing.TxSelectBody; +import org.apache.qpid.framing.TxCommitBody; +import org.apache.qpid.framing.TxRollbackBody; +import org.apache.qpid.server.cluster.ClusterCapability; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.server.cluster.LoadTable; +import org.apache.qpid.server.cluster.MemberHandle; +import org.apache.qpid.server.cluster.MethodHandlerFactory; +import org.apache.qpid.server.cluster.MethodHandlerRegistry; +import org.apache.qpid.server.cluster.SimpleMemberHandle; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.handler.ChannelCloseHandler; +import org.apache.qpid.server.handler.ChannelFlowHandler; +import org.apache.qpid.server.handler.ChannelOpenHandler; +import org.apache.qpid.server.handler.ConnectionCloseMethodHandler; +import org.apache.qpid.server.handler.ConnectionOpenMethodHandler; +import org.apache.qpid.server.handler.ConnectionSecureOkMethodHandler; +import org.apache.qpid.server.handler.ConnectionStartOkMethodHandler; +import org.apache.qpid.server.handler.ConnectionTuneOkMethodHandler; +import org.apache.qpid.server.handler.ExchangeDeclareHandler; +import org.apache.qpid.server.handler.ExchangeDeleteHandler; +import org.apache.qpid.server.handler.BasicCancelMethodHandler; +import org.apache.qpid.server.handler.BasicPublishMethodHandler; +import org.apache.qpid.server.handler.QueueBindHandler; +import org.apache.qpid.server.handler.QueueDeleteHandler; +import org.apache.qpid.server.handler.BasicQosHandler; +import org.apache.qpid.server.handler.TxSelectHandler; +import org.apache.qpid.server.handler.TxCommitHandler; +import org.apache.qpid.server.handler.TxRollbackHandler; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQState; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class ClusterMethodHandlerFactory implements MethodHandlerFactory +{ + private final GroupManager _groupMgr; + private final LoadTable _loadTable; + + public ClusterMethodHandlerFactory(GroupManager groupMgr, LoadTable loadTable) + { + _groupMgr = groupMgr; + _loadTable = loadTable; + } + + public MethodHandlerRegistry register(AMQState state, MethodHandlerRegistry registry) + { + switch (state) + { + case CONNECTION_NOT_STARTED: + return registry.addHandler(ConnectionStartOkBody.class, ConnectionStartOkMethodHandler.getInstance()); + case CONNECTION_NOT_AUTH: + return registry.addHandler(ConnectionSecureOkBody.class, ConnectionSecureOkMethodHandler.getInstance()); + case CONNECTION_NOT_TUNED: + return registry.addHandler(ConnectionTuneOkBody.class, ConnectionTuneOkMethodHandler.getInstance()); + case CONNECTION_NOT_OPENED: + //connection.open override: + return registry.addHandler(ConnectionOpenBody.class, new ConnectionOpenHandler()); + case CONNECTION_OPEN: + return registerConnectionOpened(registry); + } + return registry; + } + + private MethodHandlerRegistry registerConnectionOpened(MethodHandlerRegistry registry) + { + //new cluster method handlers: + registry.addHandler(ClusterJoinBody.class, new JoinHandler()); + registry.addHandler(ClusterLeaveBody.class, new LeaveHandler()); + registry.addHandler(ClusterSuspectBody.class, new SuspectHandler()); + registry.addHandler(ClusterMembershipBody.class, new MembershipHandler()); + registry.addHandler(ClusterPingBody.class, new PingHandler()); + registry.addHandler(ClusterSynchBody.class, new SynchHandler()); + + //connection.close override: + registry.addHandler(ConnectionCloseBody.class, new ConnectionCloseHandler()); + + //replicated handlers: + registry.addHandler(ExchangeDeclareBody.class, replicated(ExchangeDeclareHandler.getInstance())); + registry.addHandler(ExchangeDeleteBody.class, replicated(ExchangeDeleteHandler.getInstance())); + + ChannelQueueManager channelQueueMgr = new ChannelQueueManager(); + + + LocalQueueDeclareHandler handler = new LocalQueueDeclareHandler(_groupMgr); + registry.addHandler(QueueDeclareBody.class, + chain(new QueueNameGenerator(handler), + channelQueueMgr.createQueueDeclareHandler(), + new ReplicatingHandler<QueueDeclareBody>(_groupMgr, handler))); + + registry.addHandler(QueueBindBody.class, chain(channelQueueMgr.createQueueBindHandler(), replicated(QueueBindHandler.getInstance()))); + registry.addHandler(QueueDeleteBody.class, chain(channelQueueMgr.createQueueDeleteHandler(), replicated(alternate(new QueueDeleteHandler(false), new QueueDeleteHandler(true))))); + registry.addHandler(BasicConsumeBody.class, chain(channelQueueMgr.createBasicConsumeHandler(), new ReplicatingConsumeHandler(_groupMgr))); + + //other modified handlers: + registry.addHandler(BasicCancelBody.class, alternate(new RemoteCancelHandler(), BasicCancelMethodHandler.getInstance())); + + //other unaffected handlers: + registry.addHandler(BasicPublishBody.class, BasicPublishMethodHandler.getInstance()); + registry.addHandler(BasicQosBody.class, BasicQosHandler.getInstance()); + registry.addHandler(ChannelOpenBody.class, ChannelOpenHandler.getInstance()); + registry.addHandler(ChannelCloseBody.class, ChannelCloseHandler.getInstance()); + registry.addHandler(ChannelFlowBody.class, ChannelFlowHandler.getInstance()); + registry.addHandler(TxSelectBody.class, TxSelectHandler.getInstance()); + registry.addHandler(TxCommitBody.class, TxCommitHandler.getInstance()); + registry.addHandler(TxRollbackBody.class, TxRollbackHandler.getInstance()); + + + return registry; + } + + private class SynchHandler implements StateAwareMethodListener<ClusterSynchBody> + { + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession session, + AMQMethodEvent<ClusterSynchBody> evt) throws AMQException + { + _groupMgr.handleSynch(ClusteredProtocolSession.getSessionPeer(session)); + } + } + + private class JoinHandler implements StateAwareMethodListener<ClusterJoinBody> + { + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession session, + AMQMethodEvent<ClusterJoinBody> evt) throws AMQException + { + _groupMgr.handleJoin(new SimpleMemberHandle(evt.getMethod().broker)); + } + } + + private class LeaveHandler implements StateAwareMethodListener<ClusterLeaveBody> + { + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ClusterLeaveBody> evt) throws AMQException + { + _groupMgr.handleLeave(new SimpleMemberHandle(evt.getMethod().broker)); + } + } + + private class SuspectHandler implements StateAwareMethodListener<ClusterSuspectBody> + { + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, + AMQMethodEvent<ClusterSuspectBody> evt) throws AMQException + { + _groupMgr.handleSuspect(new SimpleMemberHandle(evt.getMethod().broker)); + } + } + + private class MembershipHandler implements StateAwareMethodListener<ClusterMembershipBody> + { + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession session, + AMQMethodEvent<ClusterMembershipBody> evt) throws AMQException + { + ClusterMembershipBody body = evt.getMethod(); + _groupMgr.handleMembershipAnnouncement(new String(body.members)); + } + } + + private class PingHandler implements StateAwareMethodListener<ClusterPingBody> + { + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, + ExchangeRegistry exchangeRegistry, AMQProtocolSession session, + AMQMethodEvent<ClusterPingBody> evt) throws AMQException + { + MemberHandle peer = new SimpleMemberHandle(evt.getMethod().broker); + _groupMgr.handlePing(peer, evt.getMethod().load); + if (evt.getMethod().responseRequired) + { + evt.getMethod().load = _loadTable.getLocalLoad(); + session.writeFrame(new AMQFrame(evt.getChannelId(), evt.getMethod())); + } + } + } + + private class ConnectionOpenHandler extends ExtendedHandler<ConnectionOpenBody> + { + ConnectionOpenHandler() + { + super(ConnectionOpenMethodHandler.getInstance()); + } + + void postHandle(AMQStateManager stateMgr, AMQProtocolSession session, AMQMethodEvent<ConnectionOpenBody> evt) + { + String capabilities = evt.getMethod().capabilities; + if (ClusterCapability.contains(capabilities)) + { + ClusteredProtocolSession.setSessionPeer(session, ClusterCapability.getPeer(capabilities)); + } + else + { + _loadTable.incrementLocalLoad(); + } + } + } + + private class ConnectionCloseHandler extends ExtendedHandler<ConnectionCloseBody> + { + ConnectionCloseHandler() + { + super(ConnectionCloseMethodHandler.getInstance()); + } + + void postHandle(AMQStateManager stateMgr, AMQProtocolSession session, AMQMethodEvent<ConnectionCloseBody> evt) + { + if (!ClusteredProtocolSession.isPeerSession(session)) + { + _loadTable.decrementLocalLoad(); + } + } + } + + private <B extends AMQMethodBody> ReplicatingHandler<B> replicated(StateAwareMethodListener<B> handler) + { + return new ReplicatingHandler<B>(_groupMgr, handler); + } + + private <B extends AMQMethodBody> StateAwareMethodListener<B> alternate(StateAwareMethodListener<B> peer, StateAwareMethodListener<B> client) + { + return new PeerHandler<B>(peer, client); + } + + private <B extends AMQMethodBody> StateAwareMethodListener<B> chain(ClusterMethodHandler<B>... h) + { + return new ChainedClusterMethodHandler<B>(h); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/ExtendedHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/ExtendedHandler.java new file mode 100644 index 0000000000..08dcfbe121 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/ExtendedHandler.java @@ -0,0 +1,52 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +class ExtendedHandler<A extends AMQMethodBody> implements StateAwareMethodListener<A> +{ + private final StateAwareMethodListener<A> _base; + + ExtendedHandler(StateAwareMethodListener<A> base) + { + _base = base; + } + + public void methodReceived(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + preHandle(stateMgr, session, evt); + _base.methodReceived(stateMgr, queues, exchanges, session, evt); + postHandle(stateMgr, session, evt); + } + + void preHandle(AMQStateManager stateMgr, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + } + + void postHandle(AMQStateManager stateMgr, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/HandlerUtils.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/HandlerUtils.java new file mode 100644 index 0000000000..27eff59685 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/HandlerUtils.java @@ -0,0 +1,22 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +public abstract class HandlerUtils +{ +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/LocalQueueDeclareHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/LocalQueueDeclareHandler.java new file mode 100644 index 0000000000..997c055d77 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/LocalQueueDeclareHandler.java @@ -0,0 +1,74 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.QueueDeclareBody; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.server.cluster.MemberHandle; +import org.apache.qpid.server.handler.QueueDeclareHandler; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.ClusteredQueue; +import org.apache.qpid.server.queue.PrivateQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.queue.RemoteQueueProxy; + +public class LocalQueueDeclareHandler extends QueueDeclareHandler +{ + private static final Logger _logger = Logger.getLogger(LocalQueueDeclareHandler.class); + private final GroupManager _groupMgr; + + LocalQueueDeclareHandler(GroupManager groupMgr) + { + _groupMgr = groupMgr; + } + + protected String createName() + { + return super.createName() + "@" + _groupMgr.getLocal().getDetails(); + } + + protected AMQQueue createQueue(QueueDeclareBody body, QueueRegistry registry, AMQProtocolSession session) throws AMQException + { + //is it private or shared: + if (body.exclusive) + { + if (ClusteredProtocolSession.isPeerSession(session)) + { + //need to get peer from the session... + MemberHandle peer = ClusteredProtocolSession.getSessionPeer(session); + _logger.debug(new LogMessage("Creating proxied queue {0} on behalf of {1}", body.queue, peer)); + return new RemoteQueueProxy(peer, _groupMgr, body.queue, body.durable, peer.getDetails(), body.autoDelete, registry); + } + else + { + _logger.debug(new LogMessage("Creating local private queue {0}", body.queue)); + return new PrivateQueue(_groupMgr, body.queue, body.durable, session.getContextKey(), body.autoDelete, registry); + } + } + else + { + _logger.debug(new LogMessage("Creating local shared queue {0}", body.queue)); + return new ClusteredQueue(_groupMgr, body.queue, body.durable, null, body.autoDelete, registry); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/NullListener.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/NullListener.java new file mode 100644 index 0000000000..7fae2c6598 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/NullListener.java @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class NullListener<T extends AMQMethodBody> implements StateAwareMethodListener<T> +{ + public void methodReceived(AMQStateManager stateManager, QueueRegistry queueRegistry, ExchangeRegistry exchangeRegistry, AMQProtocolSession protocolSession, AMQMethodEvent<T> evt) throws AMQException + { + } +} + diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/PeerHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/PeerHandler.java new file mode 100644 index 0000000000..a2a570f045 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/PeerHandler.java @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +/** + * Base for implementing handlers that carry out different actions based on whether the method they + * are handling was sent by a peer (i.e. another broker in the cluster) or a client (i.e. an end-user + * application). + * + */ +public class PeerHandler<A extends AMQMethodBody> extends ClusterMethodHandler<A> +{ + private final StateAwareMethodListener<A> _peer; + private final StateAwareMethodListener<A> _client; + + PeerHandler(StateAwareMethodListener<A> peer, StateAwareMethodListener<A> client) + { + _peer = peer; + _client = client; + } + + protected void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + _peer.methodReceived(stateMgr, queues, exchanges, session, evt); + } + + protected void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + _client.methodReceived(stateMgr, queues, exchanges, session, evt); + } + +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/QueueNameGenerator.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/QueueNameGenerator.java new file mode 100644 index 0000000000..2f15373eba --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/QueueNameGenerator.java @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.QueueDeclareBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; + +/** + * Generates queue names for queues declared with no name. + * + */ +class QueueNameGenerator extends ClusterMethodHandler<QueueDeclareBody> +{ + private final LocalQueueDeclareHandler _handler; + + QueueNameGenerator(LocalQueueDeclareHandler handler) + { + _handler = handler; + } + + protected void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<QueueDeclareBody> evt) throws AMQException + { + } + + protected void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, + AMQProtocolSession session, AMQMethodEvent<QueueDeclareBody> evt) + throws AMQException + { + setName(evt.getMethod());//need to set the name before propagating this method + } + + protected void setName(QueueDeclareBody body) + { + if (body.queue == null) + { + body.queue = _handler.createName(); + } + } +} + diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/RemoteCancelHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/RemoteCancelHandler.java new file mode 100644 index 0000000000..9a598d7f07 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/RemoteCancelHandler.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicCancelBody; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.ClusteredQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class RemoteCancelHandler implements StateAwareMethodListener<BasicCancelBody> +{ + private final Logger _logger = Logger.getLogger(RemoteCancelHandler.class); + + public void methodReceived(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<BasicCancelBody> evt) throws AMQException + { + //By convention, consumers setup between brokers use the queue name as the consumer tag: + AMQQueue queue = queues.getQueue(evt.getMethod().consumerTag); + if (queue instanceof ClusteredQueue) + { + ((ClusteredQueue) queue).removeRemoteSubscriber(ClusteredProtocolSession.getSessionPeer(session)); + } + else + { + _logger.warn("Got remote cancel request for non-clustered queue: " + queue); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/RemoteConsumeHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/RemoteConsumeHandler.java new file mode 100644 index 0000000000..24ce4087fb --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/RemoteConsumeHandler.java @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicConsumeBody; +import org.apache.qpid.framing.BasicConsumeOkBody; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.ClusteredQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +/** + * Handles consume requests from other cluster members. + * + */ +public class RemoteConsumeHandler implements StateAwareMethodListener<BasicConsumeBody> +{ + private final Logger _logger = Logger.getLogger(RemoteConsumeHandler.class); + + public void methodReceived(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<BasicConsumeBody> evt) throws AMQException + { + AMQQueue queue = queues.getQueue(evt.getMethod().queue); + if (queue instanceof ClusteredQueue) + { + ((ClusteredQueue) queue).addRemoteSubcriber(ClusteredProtocolSession.getSessionPeer(session)); + session.writeFrame(BasicConsumeOkBody.createAMQFrame(evt.getChannelId(), evt.getMethod().queue)); + } + else + { + _logger.warn("Got remote consume request for non-clustered queue: " + queue); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/ReplicatingConsumeHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/ReplicatingConsumeHandler.java new file mode 100644 index 0000000000..4a895fcd0a --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/ReplicatingConsumeHandler.java @@ -0,0 +1,81 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicConsumeBody; +import org.apache.qpid.server.cluster.BroadcastPolicy; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.handler.BasicConsumeMethodHandler; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class ReplicatingConsumeHandler extends ReplicatingHandler<BasicConsumeBody> +{ + ReplicatingConsumeHandler(GroupManager groupMgr) + { + this(groupMgr, null); + } + + ReplicatingConsumeHandler(GroupManager groupMgr, BroadcastPolicy policy) + { + super(groupMgr, base(), policy); + } + + protected void replicate(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<BasicConsumeBody> evt) throws AMQException + { + //only replicate if the queue in question is a shared queue + if (isShared(queues.getQueue(evt.getMethod().queue))) + { + super.replicate(stateMgr, queues, exchanges, session, evt); + } + else + { + _logger.info(new LogMessage("Handling consume for private queue ({0}) locally", evt.getMethod())); + local(stateMgr, queues, exchanges, session, evt); + _logger.info(new LogMessage("Handled consume for private queue ({0}) locally", evt.getMethod())); + + } + } + + protected boolean isShared(AMQQueue queue) + { + return queue != null && queue.isShared(); + } + + static StateAwareMethodListener<BasicConsumeBody> base() + { + return new PeerHandler<BasicConsumeBody>(peer(), client()); + } + + static StateAwareMethodListener<BasicConsumeBody> peer() + { + return new RemoteConsumeHandler(); + } + + static StateAwareMethodListener<BasicConsumeBody> client() + { + return BasicConsumeMethodHandler.getInstance(); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/ReplicatingHandler.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/ReplicatingHandler.java new file mode 100644 index 0000000000..a5fab27d16 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/ReplicatingHandler.java @@ -0,0 +1,127 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.cluster.BroadcastPolicy; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.server.cluster.GroupResponseHandler; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.server.cluster.Member; +import org.apache.qpid.server.cluster.SimpleSendable; +import org.apache.qpid.server.cluster.policy.StandardPolicies; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +import java.util.List; + +/** + * Basic template for handling methods that should be broadcast to the group and + * processed locally after 'completion' of this broadcast. + * + */ +class ReplicatingHandler<A extends AMQMethodBody> extends ClusterMethodHandler<A> implements StandardPolicies +{ + protected static final Logger _logger = Logger.getLogger(ReplicatingHandler.class); + + private final StateAwareMethodListener<A> _base; + private final GroupManager _groupMgr; + private final BroadcastPolicy _policy; + + ReplicatingHandler(GroupManager groupMgr, StateAwareMethodListener<A> base) + { + this(groupMgr, base, null); + } + + ReplicatingHandler(GroupManager groupMgr, StateAwareMethodListener<A> base, BroadcastPolicy policy) + { + _groupMgr = groupMgr; + _base = base; + _policy = policy; + } + + protected void peer(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + local(stateMgr, queues, exchanges, session, evt); + _logger.debug(new LogMessage("Handled {0} locally", evt.getMethod())); + } + + protected void client(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + replicate(stateMgr, queues, exchanges, session, evt); + } + + protected void replicate(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + if (_policy == null) + { + //asynch delivery + _groupMgr.broadcast(new SimpleSendable(evt.getMethod())); + local(stateMgr, queues, exchanges, session, evt); + } + else + { + Callback callback = new Callback(stateMgr, queues, exchanges, session, evt); + _groupMgr.broadcast(new SimpleSendable(evt.getMethod()), _policy, callback); + } + _logger.debug(new LogMessage("Replicated {0} to peers", evt.getMethod())); + } + + protected void local(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) throws AMQException + { + _base.methodReceived(stateMgr, queues, exchanges, session, evt); + } + + private class Callback implements GroupResponseHandler + { + private final AMQStateManager _stateMgr; + private final QueueRegistry _queues; + private final ExchangeRegistry _exchanges; + private final AMQProtocolSession _session; + private final AMQMethodEvent<A> _evt; + + Callback(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<A> evt) + { + _stateMgr = stateMgr; + _queues = queues; + _exchanges = exchanges; + _session = session; + _evt = evt; + } + + public void response(List<AMQMethodBody> responses, List<Member> members) + { + try + { + local(_stateMgr, _queues, _exchanges, _session, _evt); + _logger.debug(new LogMessage("Handled {0} locally, in response to completion of replication", _evt.getMethod())); + } + catch (AMQException e) + { + _logger.error(new LogMessage("Error handling {0}:{1}", _evt.getMethod(), e), e); + } + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/WrappedListener.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/WrappedListener.java new file mode 100644 index 0000000000..18c3f5ce58 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/WrappedListener.java @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public class WrappedListener<T extends AMQMethodBody> implements StateAwareMethodListener<T> +{ + private final StateAwareMethodListener<T> _primary; + private final StateAwareMethodListener _post; + private final StateAwareMethodListener _pre; + + WrappedListener(StateAwareMethodListener<T> primary, StateAwareMethodListener pre, StateAwareMethodListener post) + { + _pre = check(pre); + _post = check(post); + _primary = check(primary); + } + + public void methodReceived(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent<T> evt) throws AMQException + { + _pre.methodReceived(stateMgr, queues, exchanges, session, evt); + _primary.methodReceived(stateMgr, queues, exchanges, session, evt); + _post.methodReceived(stateMgr, queues, exchanges, session, evt); + } + + private static <T extends AMQMethodBody> StateAwareMethodListener<T> check(StateAwareMethodListener<T> in) + { + return in == null ? new NullListener<T>() : in; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/handler/WrappingMethodHandlerFactory.java b/java/cluster/src/org/apache/qpid/server/cluster/handler/WrappingMethodHandlerFactory.java new file mode 100644 index 0000000000..912651d3ce --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/handler/WrappingMethodHandlerFactory.java @@ -0,0 +1,82 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.handler; + +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.cluster.MethodHandlerFactory; +import org.apache.qpid.server.cluster.MethodHandlerRegistry; +import org.apache.qpid.server.state.AMQState; +import org.apache.qpid.server.state.StateAwareMethodListener; + +public abstract class WrappingMethodHandlerFactory implements MethodHandlerFactory +{ + private final MethodHandlerFactory _delegate; + private final StateAwareMethodListener _pre; + private final StateAwareMethodListener _post; + + protected WrappingMethodHandlerFactory(MethodHandlerFactory delegate, + StateAwareMethodListener pre, + StateAwareMethodListener post) + { + _delegate = delegate; + _pre = pre; + _post = post; + } + + public MethodHandlerRegistry register(AMQState state, MethodHandlerRegistry registry) + { + if (isWrappableState(state)) + { + return wrap(_delegate.register(state, registry), state); + } + else + { + return _delegate.register(state, registry); + } + } + + protected abstract boolean isWrappableState(AMQState state); + + protected abstract Iterable<FrameDescriptor> getWrappableFrameTypes(AMQState state); + + private MethodHandlerRegistry wrap(MethodHandlerRegistry registry, AMQState state) + { + for (FrameDescriptor fd : getWrappableFrameTypes(state)) + { + wrap(registry, fd.type, fd.instance); + } + return registry; + } + + private <A extends AMQMethodBody, B extends Class<A>> void wrap(MethodHandlerRegistry r, B type, A frame) + { + r.addHandler(type, new WrappedListener<A>(r.getHandler(frame), _pre, _post)); + } + + protected static class FrameDescriptor<A extends AMQMethodBody, B extends Class<A>> + { + protected final A instance; + protected final B type; + + public FrameDescriptor(B type, A instance) + { + this.instance = instance; + this.type = type; + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/policy/AsynchBroadcastPolicy.java b/java/cluster/src/org/apache/qpid/server/cluster/policy/AsynchBroadcastPolicy.java new file mode 100644 index 0000000000..044d264380 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/policy/AsynchBroadcastPolicy.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.policy; + +import org.apache.qpid.server.cluster.BroadcastPolicy; + +public class AsynchBroadcastPolicy implements BroadcastPolicy +{ + public boolean isComplete(int responded, int members) + { + return true; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/policy/MajorityResponseBroadcastPolicy.java b/java/cluster/src/org/apache/qpid/server/cluster/policy/MajorityResponseBroadcastPolicy.java new file mode 100644 index 0000000000..cd004c36d0 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/policy/MajorityResponseBroadcastPolicy.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.policy; + +import org.apache.qpid.server.cluster.BroadcastPolicy; + +public class MajorityResponseBroadcastPolicy implements BroadcastPolicy +{ + public boolean isComplete(int responded, int members) + { + return responded > members / 2; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/policy/OneResponseBroadcastPolicy.java b/java/cluster/src/org/apache/qpid/server/cluster/policy/OneResponseBroadcastPolicy.java new file mode 100644 index 0000000000..0aca6fbe97 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/policy/OneResponseBroadcastPolicy.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.policy; + +import org.apache.qpid.server.cluster.BroadcastPolicy; + +public class OneResponseBroadcastPolicy implements BroadcastPolicy +{ + public boolean isComplete(int responded, int members) + { + return responded > 0; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/policy/StandardPolicies.java b/java/cluster/src/org/apache/qpid/server/cluster/policy/StandardPolicies.java new file mode 100644 index 0000000000..fbee483967 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/policy/StandardPolicies.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.policy; + +import org.apache.qpid.server.cluster.BroadcastPolicy; + +public interface StandardPolicies +{ + public static final BroadcastPolicy ASYNCH_POLICY = new AsynchBroadcastPolicy(); + public static final BroadcastPolicy SYNCH_POLICY = new SynchBroadcastPolicy(); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/policy/SynchBroadcastPolicy.java b/java/cluster/src/org/apache/qpid/server/cluster/policy/SynchBroadcastPolicy.java new file mode 100644 index 0000000000..1c6023d35d --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/policy/SynchBroadcastPolicy.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.policy; + +import org.apache.qpid.server.cluster.BroadcastPolicy; + +public class SynchBroadcastPolicy implements BroadcastPolicy +{ + public boolean isComplete(int responded, int members) + { + return responded == members; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/replay/ChainedMethodRecorder.java b/java/cluster/src/org/apache/qpid/server/cluster/replay/ChainedMethodRecorder.java new file mode 100644 index 0000000000..cbbc8679a8 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/replay/ChainedMethodRecorder.java @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.replay; + +import org.apache.qpid.framing.AMQMethodBody; + +abstract class ChainedMethodRecorder <T extends AMQMethodBody> implements MethodRecorder<T> +{ + private final MethodRecorder<T> _recorder; + + ChainedMethodRecorder() + { + this(null); + } + + ChainedMethodRecorder(MethodRecorder<T> recorder) + { + _recorder = recorder; + } + + public final void record(T method) + { + if(!doRecord(method) && _recorder != null) + { + _recorder.record(method); + } + } + + protected abstract boolean doRecord(T method); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/replay/ConsumerCounts.java b/java/cluster/src/org/apache/qpid/server/cluster/replay/ConsumerCounts.java new file mode 100644 index 0000000000..7ba51108f5 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/replay/ConsumerCounts.java @@ -0,0 +1,66 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.replay; + +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.framing.BasicConsumeBody; + +import java.util.Map; +import java.util.HashMap; +import java.util.List; + +class ConsumerCounts +{ + private final Map<String, Integer> _counts = new HashMap<String, Integer>(); + + synchronized void increment(String queue) + { + _counts.put(queue, get(queue) + 1); + } + + synchronized void decrement(String queue) + { + _counts.put(queue, get(queue) - 1); + } + + private int get(String queue) + { + Integer count = _counts.get(queue); + return count == null ? 0 : count; + } + + synchronized void replay(List<AMQMethodBody> messages) + { + for(String queue : _counts.keySet()) + { + BasicConsumeBody m = new BasicConsumeBody(); + m.queue = queue; + m.consumerTag = queue; + replay(m, messages); + } + } + + private void replay(BasicConsumeBody msg, List<AMQMethodBody> messages) + { + int count = _counts.get(msg.queue); + for(int i = 0; i < count; i++) + { + messages.add(msg); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/replay/MethodRecorder.java b/java/cluster/src/org/apache/qpid/server/cluster/replay/MethodRecorder.java new file mode 100644 index 0000000000..8d5ce4f18e --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/replay/MethodRecorder.java @@ -0,0 +1,29 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.replay; + +import org.apache.qpid.framing.AMQMethodBody; + +/** + * Abstraction through which a method can be recorded for replay + * + */ +interface MethodRecorder<T extends AMQMethodBody> +{ + public void record(T method); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/replay/RecordingMethodHandlerFactory.java b/java/cluster/src/org/apache/qpid/server/cluster/replay/RecordingMethodHandlerFactory.java new file mode 100644 index 0000000000..638ec64e09 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/replay/RecordingMethodHandlerFactory.java @@ -0,0 +1,70 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.replay; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.framing.BasicCancelBody; +import org.apache.qpid.framing.BasicConsumeBody; +import org.apache.qpid.framing.ExchangeDeclareBody; +import org.apache.qpid.framing.ExchangeDeleteBody; +import org.apache.qpid.framing.QueueBindBody; +import org.apache.qpid.framing.QueueDeclareBody; +import org.apache.qpid.framing.QueueDeleteBody; +import org.apache.qpid.server.cluster.MethodHandlerFactory; +import org.apache.qpid.server.cluster.MethodHandlerRegistry; +import org.apache.qpid.server.cluster.handler.WrappingMethodHandlerFactory; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQState; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +import java.util.Arrays; + +public class RecordingMethodHandlerFactory extends WrappingMethodHandlerFactory +{ + private final Iterable<FrameDescriptor> _frames = Arrays.asList(new FrameDescriptor[] + { + new FrameDescriptor(QueueDeclareBody.class, new QueueDeclareBody()), + new FrameDescriptor(QueueDeleteBody.class, new QueueDeleteBody()), + new FrameDescriptor(QueueBindBody.class, new QueueBindBody()), + new FrameDescriptor(ExchangeDeclareBody.class, new ExchangeDeclareBody()), + new FrameDescriptor(ExchangeDeleteBody.class, new ExchangeDeleteBody()), + new FrameDescriptor(BasicConsumeBody.class, new BasicConsumeBody()), + new FrameDescriptor(BasicCancelBody.class, new BasicCancelBody()) + }); + + + public RecordingMethodHandlerFactory(MethodHandlerFactory factory, ReplayStore store) + { + super(factory, null, store); + } + + protected boolean isWrappableState(AMQState state) + { + return AMQState.CONNECTION_OPEN.equals(state); + } + + protected Iterable<FrameDescriptor> getWrappableFrameTypes(AMQState state) + { + return _frames; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/replay/ReplayManager.java b/java/cluster/src/org/apache/qpid/server/cluster/replay/ReplayManager.java new file mode 100644 index 0000000000..1f555b0f91 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/replay/ReplayManager.java @@ -0,0 +1,34 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.replay; + +import org.apache.qpid.server.cluster.Sendable; +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.framing.AMQMethodBody; + +import java.util.List; + +/** + * Abstraction of a replay strategy for use in getting joining members up to + * date with respect to cluster state. + * + */ +public interface ReplayManager +{ + public List<AMQMethodBody> replay(boolean isLeader); +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/replay/ReplayStore.java b/java/cluster/src/org/apache/qpid/server/cluster/replay/ReplayStore.java new file mode 100644 index 0000000000..66bd8e0b0c --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/replay/ReplayStore.java @@ -0,0 +1,310 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.replay; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.framing.ExchangeDeclareBody; +import org.apache.qpid.framing.ExchangeDeleteBody; +import org.apache.qpid.framing.QueueBindBody; +import org.apache.qpid.framing.QueueDeclareBody; +import org.apache.qpid.framing.QueueDeleteBody; +import org.apache.qpid.framing.ClusterSynchBody; +import org.apache.qpid.framing.BasicConsumeBody; +import org.apache.qpid.framing.BasicCancelBody; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.server.cluster.util.Bindings; +import org.apache.qpid.server.exchange.ExchangeRegistry; +import org.apache.qpid.server.protocol.AMQMethodEvent; +import org.apache.qpid.server.protocol.AMQProtocolSession; +import org.apache.qpid.server.queue.QueueRegistry; +import org.apache.qpid.server.state.AMQStateManager; +import org.apache.qpid.server.state.StateAwareMethodListener; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Stores method invocations for replay to new members. + * + */ +public class ReplayStore implements ReplayManager, StateAwareMethodListener +{ + private static final Logger _logger = Logger.getLogger(ReplayStore.class); + + private final Map<Class<? extends AMQMethodBody>, MethodRecorder> _globalRecorders = new HashMap<Class<? extends AMQMethodBody>, MethodRecorder>(); + private final Map<Class<? extends AMQMethodBody>, MethodRecorder> _localRecorders = new HashMap<Class<? extends AMQMethodBody>, MethodRecorder>(); + private final Map<String, QueueDeclareBody> _sharedQueues = new ConcurrentHashMap<String, QueueDeclareBody>(); + private final Map<String, QueueDeclareBody> _privateQueues = new ConcurrentHashMap<String, QueueDeclareBody>(); + private final Bindings<String, String, QueueBindBody> _sharedBindings = new Bindings<String, String, QueueBindBody>(); + private final Bindings<String, String, QueueBindBody> _privateBindings = new Bindings<String, String, QueueBindBody>(); + private final Map<String, ExchangeDeclareBody> _exchanges = new ConcurrentHashMap<String, ExchangeDeclareBody>(); + private final ConsumerCounts _consumers = new ConsumerCounts(); + + public ReplayStore() + { + _globalRecorders.put(QueueDeclareBody.class, new SharedQueueDeclareRecorder()); + _globalRecorders.put(QueueDeleteBody.class, new SharedQueueDeleteRecorder()); + _globalRecorders.put(QueueBindBody.class, new SharedQueueBindRecorder()); + _globalRecorders.put(ExchangeDeclareBody.class, new ExchangeDeclareRecorder()); + _globalRecorders.put(ExchangeDeleteBody.class, new ExchangeDeleteRecorder()); + + _localRecorders.put(QueueDeclareBody.class, new PrivateQueueDeclareRecorder()); + _localRecorders.put(QueueDeleteBody.class, new PrivateQueueDeleteRecorder()); + _localRecorders.put(QueueBindBody.class, new PrivateQueueBindRecorder()); + _localRecorders.put(BasicConsumeBody.class, new BasicConsumeRecorder()); + _localRecorders.put(BasicCancelBody.class, new BasicCancelRecorder()); + _localRecorders.put(ExchangeDeclareBody.class, new ExchangeDeclareRecorder()); + _localRecorders.put(ExchangeDeleteBody.class, new ExchangeDeleteRecorder()); + } + + public void methodReceived(AMQStateManager stateMgr, QueueRegistry queues, ExchangeRegistry exchanges, AMQProtocolSession session, AMQMethodEvent evt) throws AMQException + { + _logger.debug(new LogMessage("Replay store received {0}", evt.getMethod())); + AMQMethodBody request = evt.getMethod(); + + //allow any (relevant) recorder registered for this type of request to record it: + MethodRecorder recorder = getRecorders(session).get(request.getClass()); + if (recorder != null) + { + recorder.record(request); + } + } + + private Map<Class<? extends AMQMethodBody>, MethodRecorder> getRecorders(AMQProtocolSession session) + { + if (ClusteredProtocolSession.isPeerSession(session)) + { + return _globalRecorders; + } + else + { + return _localRecorders; + } + } + + public List<AMQMethodBody> replay(boolean isLeader) + { + List<AMQMethodBody> methods = new ArrayList<AMQMethodBody>(); + methods.addAll(_exchanges.values()); + methods.addAll(_privateQueues.values()); + synchronized(_privateBindings) + { + methods.addAll(_privateBindings.values()); + } + if (isLeader) + { + methods.addAll(_sharedQueues.values()); + synchronized(_sharedBindings) + { + methods.addAll(_sharedBindings.values()); + } + } + _consumers.replay(methods); + methods.add(new ClusterSynchBody()); + return methods; + } + + private class BasicConsumeRecorder implements MethodRecorder<BasicConsumeBody> + { + public void record(BasicConsumeBody method) + { + if(_sharedQueues.containsKey(method.queue)) + { + _consumers.increment(method.queue); + } + } + } + + private class BasicCancelRecorder implements MethodRecorder<BasicCancelBody> + { + public void record(BasicCancelBody method) + { + if(_sharedQueues.containsKey(method.consumerTag)) + { + _consumers.decrement(method.consumerTag); + } + } + } + + private class SharedQueueDeclareRecorder extends QueueDeclareRecorder + { + SharedQueueDeclareRecorder() + { + super(false, _sharedQueues); + } + } + + private class PrivateQueueDeclareRecorder extends QueueDeclareRecorder + { + PrivateQueueDeclareRecorder() + { + super(true, _privateQueues, new SharedQueueDeclareRecorder()); + } + } + + private class SharedQueueDeleteRecorder extends QueueDeleteRecorder + { + SharedQueueDeleteRecorder() + { + super(_sharedQueues, _sharedBindings); + } + } + + private class PrivateQueueDeleteRecorder extends QueueDeleteRecorder + { + PrivateQueueDeleteRecorder() + { + super(_privateQueues, _privateBindings, new SharedQueueDeleteRecorder()); + } + } + + private class SharedQueueBindRecorder extends QueueBindRecorder + { + SharedQueueBindRecorder() + { + super(_sharedQueues, _sharedBindings); + } + } + + private class PrivateQueueBindRecorder extends QueueBindRecorder + { + PrivateQueueBindRecorder() + { + super(_privateQueues, _privateBindings, new SharedQueueBindRecorder()); + } + } + + + private static class QueueDeclareRecorder extends ChainedMethodRecorder<QueueDeclareBody> + { + private final boolean _exclusive; + private final Map<String, QueueDeclareBody> _queues; + + QueueDeclareRecorder(boolean exclusive, Map<String, QueueDeclareBody> queues) + { + _queues = queues; + _exclusive = exclusive; + } + + QueueDeclareRecorder(boolean exclusive, Map<String, QueueDeclareBody> queues, QueueDeclareRecorder recorder) + { + super(recorder); + _queues = queues; + _exclusive = exclusive; + } + + + protected boolean doRecord(QueueDeclareBody method) + { + if (_exclusive == method.exclusive) + { + _queues.put(method.queue, method); + return true; + } + else + { + return false; + } + } + } + + private class QueueDeleteRecorder extends ChainedMethodRecorder<QueueDeleteBody> + { + private final Map<String, QueueDeclareBody> _queues; + private final Bindings<String, String, QueueBindBody> _bindings; + + QueueDeleteRecorder(Map<String, QueueDeclareBody> queues, Bindings<String, String, QueueBindBody> bindings) + { + this(queues, bindings, null); + } + + QueueDeleteRecorder(Map<String, QueueDeclareBody> queues, Bindings<String, String, QueueBindBody> bindings, QueueDeleteRecorder recorder) + { + super(recorder); + _queues = queues; + _bindings = bindings; + } + + protected boolean doRecord(QueueDeleteBody method) + { + if (_queues.remove(method.queue) != null) + { + _bindings.unbind1(method.queue); + return true; + } + else + { + return false; + } + } + } + + private class QueueBindRecorder extends ChainedMethodRecorder<QueueBindBody> + { + private final Map<String, QueueDeclareBody> _queues; + private final Bindings<String, String, QueueBindBody> _bindings; + + QueueBindRecorder(Map<String, QueueDeclareBody> queues, Bindings<String, String, QueueBindBody> bindings) + { + _queues = queues; + _bindings = bindings; + } + + QueueBindRecorder(Map<String, QueueDeclareBody> queues, Bindings<String, String, QueueBindBody> bindings, QueueBindRecorder recorder) + { + super(recorder); + _queues = queues; + _bindings = bindings; + } + + protected boolean doRecord(QueueBindBody method) + { + if (_queues.containsKey(method.queue)) + { + _bindings.bind(method.queue, method.exchange, method); + return true; + } + else + { + return false; + } + } + } + + private class ExchangeDeclareRecorder implements MethodRecorder<ExchangeDeclareBody> + { + public void record(ExchangeDeclareBody method) + { + _exchanges.put(method.exchange, method); + } + } + + private class ExchangeDeleteRecorder implements MethodRecorder<ExchangeDeleteBody> + { + public void record(ExchangeDeleteBody method) + { + _exchanges.remove(method.exchange); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/util/Bindings.java b/java/cluster/src/org/apache/qpid/server/cluster/util/Bindings.java new file mode 100644 index 0000000000..cca3953f34 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/util/Bindings.java @@ -0,0 +1,80 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.util; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; + +/** + * Maps two separate keys to a list of values. + * + */ +public class Bindings<K1, K2, V> +{ + private final MultiValuedMap<K1, Binding<K2>> _a = new MultiValuedMap<K1, Binding<K2>>(); + private final MultiValuedMap<K2, Binding<K1>> _b = new MultiValuedMap<K2, Binding<K1>>(); + private final Collection<V> _values = new HashSet<V>(); + + public void bind(K1 key1, K2 key2, V value) + { + _a.add(key1, new Binding<K2>(key2, value)); + _b.add(key2, new Binding<K1>(key1, value)); + _values.add(value); + } + + public void unbind1(K1 key1) + { + Collection<Binding<K2>> values = _a.remove(key1); + for (Binding<K2> v : values) + { + _b.remove(v.key); + _values.remove(v.value); + } + } + + public void unbind2(K2 key2) + { + Collection<Binding<K1>> values = _b.remove(key2); + for (Binding<K1> v : values) + { + _a.remove(v.key); + _values.remove(v.value); + } + } + + public Collection<V> values() + { + return Collections.unmodifiableCollection(_values); + } + + /** + * Value needs to hold key to the other map + */ + private class Binding<T> + { + private final T key; + private final V value; + + Binding(T key, V value) + { + this.key = key; + this.value = value; + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/util/InvokeMultiple.java b/java/cluster/src/org/apache/qpid/server/cluster/util/InvokeMultiple.java new file mode 100644 index 0000000000..5bdc824060 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/util/InvokeMultiple.java @@ -0,0 +1,69 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.util; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.util.Set; +import java.util.HashSet; + +/** + * Allows a method to be invoked on a list of listeners with one call + * + */ +public class InvokeMultiple <T> implements InvocationHandler +{ + private final Set<T> _targets = new HashSet<T>(); + private final T _proxy; + + public InvokeMultiple(Class<? extends T> type) + { + _proxy = (T) Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, this); + } + + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable + { + Set<T> targets; + synchronized(this) + { + targets = new HashSet<T>(_targets); + } + + for(T target : targets) + { + method.invoke(target, args); + } + return null; + } + + public synchronized void addListener(T t) + { + _targets.add(t); + } + + public synchronized void removeListener(T t) + { + _targets.remove(t); + } + + public T getProxy() + { + return _proxy; + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/util/LogMessage.java b/java/cluster/src/org/apache/qpid/server/cluster/util/LogMessage.java new file mode 100644 index 0000000000..9824041358 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/util/LogMessage.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.util; + +import java.text.MessageFormat; + +/** + * Convenience class to allow log messages to be specified in terms + * of MessageFormat patterns with a variable set of parameters. The + * production of the string is only done if toSTring is called so it + * works well with debug level messages, allowing complex messages + * to be specified that are only evaluated if actually printed. + * + */ +public class LogMessage +{ + private final String _message; + private final Object[] _args; + + public LogMessage(String message) + { + this(message, new Object[0]); + } + + public LogMessage(String message, Object... args) + { + _message = message; + _args = args; + } + + public String toString() + { + return MessageFormat.format(_message, _args); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/cluster/util/MultiValuedMap.java b/java/cluster/src/org/apache/qpid/server/cluster/util/MultiValuedMap.java new file mode 100644 index 0000000000..1c4e3da6f3 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/cluster/util/MultiValuedMap.java @@ -0,0 +1,58 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster.util; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +/** + * Maps a key to a collection of values + * + */ +public class MultiValuedMap<K, V> +{ + private Map<K, Collection<V>> _map = new HashMap<K, Collection<V>>(); + + public boolean add(K key, V value) + { + Collection<V> values = get(key); + if (values == null) + { + values = createList(); + _map.put(key, values); + } + return values.add(value); + } + + public Collection<V> get(K key) + { + return _map.get(key); + } + + public Collection<V> remove(K key) + { + return _map.remove(key); + } + + protected Collection<V> createList() + { + return new ArrayList<V>(); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/queue/ClusteredQueue.java b/java/cluster/src/org/apache/qpid/server/queue/ClusteredQueue.java new file mode 100644 index 0000000000..14d893b040 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/queue/ClusteredQueue.java @@ -0,0 +1,161 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.BasicCancelBody; +import org.apache.qpid.framing.QueueDeleteBody; +import org.apache.qpid.server.cluster.*; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.server.protocol.AMQProtocolSession; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Executor; + +/** + * Represents a shared queue in a cluster. The key difference is that as well as any + * local consumers, there may be consumers for this queue on other members of the + * cluster. + * + */ +public class ClusteredQueue extends AMQQueue +{ + private static final Logger _logger = Logger.getLogger(ClusteredQueue.class); + private final ConcurrentHashMap<SimpleMemberHandle, RemoteSubscriptionImpl> _peers = new ConcurrentHashMap<SimpleMemberHandle, RemoteSubscriptionImpl>(); + private final GroupManager _groupMgr; + private final NestedSubscriptionManager _subscriptions; + + public ClusteredQueue(GroupManager groupMgr, String name, boolean durable, String owner, boolean autoDelete, QueueRegistry queueRegistry) + throws AMQException + { + super(name, durable, owner, autoDelete, queueRegistry, new ClusteredSubscriptionManager()); + _groupMgr = groupMgr; + _subscriptions = ((ClusteredSubscriptionManager) getSubscribers()).getAllSubscribers(); + } + + public ClusteredQueue(GroupManager groupMgr, String name, boolean durable, String owner, boolean autoDelete, QueueRegistry queueRegistry, Executor asyncDelivery) + throws AMQException + { + super(name, durable, owner, autoDelete, queueRegistry, asyncDelivery, new ClusteredSubscriptionManager(), + new SubscriptionImpl.Factory()); + _groupMgr = groupMgr; + _subscriptions = ((ClusteredSubscriptionManager) getSubscribers()).getAllSubscribers(); + } + + public void deliver(AMQMessage message) throws AMQException + { + _logger.info(new LogMessage("{0} delivered to clustered queue {1}", message, this)); + super.deliver(message); + } + + protected void autodelete() throws AMQException + { + if(!_subscriptions.hasActiveSubscribers()) + { + //delete locally: + delete(); + + //send deletion request to all other members: + QueueDeleteBody request = new QueueDeleteBody(); + request.queue = getName(); + _groupMgr.broadcast(new SimpleSendable(request)); + } + } + + public void unregisterProtocolSession(AMQProtocolSession ps, int channel, String consumerTag) throws AMQException + { + //handle locally: + super.unregisterProtocolSession(ps, channel, consumerTag); + + //signal other members: + BasicCancelBody request = new BasicCancelBody(); + request.consumerTag = getName(); + _groupMgr.broadcast(new SimpleSendable(request)); + } + + public void addRemoteSubcriber(MemberHandle peer) + { + _logger.info(new LogMessage("Added remote subscriber for {0} to clustered queue {1}", peer, this)); + //find (or create) a matching subscriber for the peer then increment the count + getSubscriber(key(peer), true).increment(); + } + + public void removeRemoteSubscriber(MemberHandle peer) + { + //find a matching subscriber for the peer then decrement the count + //if count is now zero, remove the subscriber + SimpleMemberHandle key = key(peer); + RemoteSubscriptionImpl s = getSubscriber(key, true); + if (s == null) + { + throw new RuntimeException("No subscriber for " + peer); + } + if (s.decrement()) + { + _peers.remove(key); + _subscriptions.removeSubscription(s); + } + } + + public void removeAllRemoteSubscriber(MemberHandle peer) + { + SimpleMemberHandle key = key(peer); + RemoteSubscriptionImpl s = getSubscriber(key, true); + _peers.remove(key); + _subscriptions.removeSubscription(s); + } + + private RemoteSubscriptionImpl getSubscriber(SimpleMemberHandle key, boolean create) + { + RemoteSubscriptionImpl s = _peers.get(key); + if (s == null && create) + { + return addSubscriber(key, new RemoteSubscriptionImpl(_groupMgr, key)); + } + else + { + return s; + } + } + + private RemoteSubscriptionImpl addSubscriber(SimpleMemberHandle key, RemoteSubscriptionImpl s) + { + RemoteSubscriptionImpl other = _peers.putIfAbsent(key, s); + if (other == null) + { + _subscriptions.addSubscription(s); + new SubscriberCleanup(key, this, _groupMgr); + return s; + } + else + { + return other; + } + } + + private SimpleMemberHandle key(MemberHandle peer) + { + return peer instanceof SimpleMemberHandle ? (SimpleMemberHandle) peer : (SimpleMemberHandle) SimpleMemberHandle.resolve(peer); + } + + static boolean isFromBroker(AMQMessage msg) + { + return ClusteredProtocolSession.isPayloadFromPeer(msg); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/queue/ClusteredSubscriptionManager.java b/java/cluster/src/org/apache/qpid/server/queue/ClusteredSubscriptionManager.java new file mode 100644 index 0000000000..0005b20fb1 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/queue/ClusteredSubscriptionManager.java @@ -0,0 +1,92 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.log4j.Logger; +import org.apache.qpid.server.cluster.util.LogMessage; + +class ClusteredSubscriptionManager extends SubscriptionSet +{ + private static final Logger _logger = Logger.getLogger(ClusteredSubscriptionManager.class); + private final NestedSubscriptionManager _all; + + ClusteredSubscriptionManager() + { + this(new NestedSubscriptionManager()); + } + + private ClusteredSubscriptionManager(NestedSubscriptionManager all) + { + _all = all; + _all.addSubscription(new Parent()); + } + + NestedSubscriptionManager getAllSubscribers() + { + return _all; + } + + public boolean hasActiveSubscribers() + { + return _all.hasActiveSubscribers(); + } + + public Subscription nextSubscriber(AMQMessage msg) + { + if(ClusteredQueue.isFromBroker(msg)) + { + //if message is from another broker, it should only be delivered + //to another client to meet ordering constraints + Subscription s = super.nextSubscriber(msg); + _logger.info(new LogMessage("Returning next *client* subscriber {0}", s)); + if(s == null) + { + //TODO: deliver to another broker, but set the redelivered flag on the msg + //(this should be policy based) + + //for now just don't deliver it + return null; + } + else + { + return s; + } + } + Subscription s = _all.nextSubscriber(msg); + _logger.info(new LogMessage("Returning next subscriber {0}", s)); + return s; + } + + private class Parent implements WeightedSubscriptionManager + { + public int getWeight() + { + return ClusteredSubscriptionManager.this.getWeight(); + } + + public boolean hasActiveSubscribers() + { + return ClusteredSubscriptionManager.super.hasActiveSubscribers(); + } + + public Subscription nextSubscriber(AMQMessage msg) + { + return ClusteredSubscriptionManager.super.nextSubscriber(msg); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/queue/NestedSubscriptionManager.java b/java/cluster/src/org/apache/qpid/server/queue/NestedSubscriptionManager.java new file mode 100644 index 0000000000..0bb6537930 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/queue/NestedSubscriptionManager.java @@ -0,0 +1,100 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * Distributes messages among a list of subsscription managers, using their + * weighting. + * + */ +class NestedSubscriptionManager implements SubscriptionManager +{ + private final List<WeightedSubscriptionManager> _subscribers = new CopyOnWriteArrayList<WeightedSubscriptionManager>(); + private int _iterations; + private int _index; + + void addSubscription(WeightedSubscriptionManager s) + { + _subscribers.add(s); + } + + void removeSubscription(WeightedSubscriptionManager s) + { + _subscribers.remove(s); + } + + public boolean hasActiveSubscribers() + { + for(WeightedSubscriptionManager s : _subscribers) + { + if(s.hasActiveSubscribers()) + { + return true; + } + } + return false; + } + + public Subscription nextSubscriber(AMQMessage msg) + { + WeightedSubscriptionManager start = current(); + for(WeightedSubscriptionManager s = start; s != null; s = next(start)) + { + if(hasMore(s)) + { + return nextSubscriber(s); + } + } + return null; + } + + private Subscription nextSubscriber(WeightedSubscriptionManager s) + { + _iterations++; + return s.nextSubscriber(null); + } + + private WeightedSubscriptionManager current() + { + return _subscribers.isEmpty() ? null : _subscribers.get(_index); + } + + private boolean hasMore(WeightedSubscriptionManager s) + { + return _iterations < s.getWeight(); + } + + private WeightedSubscriptionManager next(WeightedSubscriptionManager start) + { + WeightedSubscriptionManager s = next(); + return s == start && !hasMore(s) ? null : s; + } + + private WeightedSubscriptionManager next() + { + _iterations = 0; + if(++_index >= _subscribers.size()) + { + _index = 0; + } + return _subscribers.get(_index); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/queue/PrivateQueue.java b/java/cluster/src/org/apache/qpid/server/queue/PrivateQueue.java new file mode 100644 index 0000000000..1e7e13a577 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/queue/PrivateQueue.java @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.AMQException; +import org.apache.qpid.server.cluster.SimpleSendable; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.framing.QueueDeleteBody; + +import java.util.concurrent.Executor; + +/** + * Used to represent a private queue held locally. + * + */ +public class PrivateQueue extends AMQQueue +{ + private final GroupManager _groupMgr; + + public PrivateQueue(GroupManager groupMgr, String name, boolean durable, String owner, boolean autoDelete, QueueRegistry queueRegistry) + throws AMQException + { + super(name, durable, owner, autoDelete, queueRegistry); + _groupMgr = groupMgr; + + } + + public PrivateQueue(GroupManager groupMgr, String name, boolean durable, String owner, boolean autoDelete, QueueRegistry queueRegistry, Executor asyncDelivery) + throws AMQException + { + super(name, durable, owner, autoDelete, queueRegistry, asyncDelivery); + _groupMgr = groupMgr; + } + + protected void autodelete() throws AMQException + { + //delete locally: + super.autodelete(); + + //send delete request to peers: + QueueDeleteBody request = new QueueDeleteBody(); + request.queue = getName(); + _groupMgr.broadcast(new SimpleSendable(request)); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/queue/ProxiedQueueCleanup.java b/java/cluster/src/org/apache/qpid/server/queue/ProxiedQueueCleanup.java new file mode 100644 index 0000000000..dac8b616e5 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/queue/ProxiedQueueCleanup.java @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.server.cluster.MembershipChangeListener; +import org.apache.qpid.server.cluster.MemberHandle; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; + +import java.util.List; + +class ProxiedQueueCleanup implements MembershipChangeListener +{ + private static final Logger _logger = Logger.getLogger(ProxiedQueueCleanup.class); + + private final MemberHandle _subject; + private final RemoteQueueProxy _queue; + + ProxiedQueueCleanup(MemberHandle subject, RemoteQueueProxy queue) + { + _subject = subject; + _queue = queue; + } + + public void changed(List<MemberHandle> members) + { + if(!members.contains(_subject)) + { + try + { + _queue.delete(); + _logger.info(new LogMessage("Deleted {0} in response to exclusion of {1}", _queue, _subject)); + } + catch (AMQException e) + { + _logger.info(new LogMessage("Failed to delete {0} in response to exclusion of {1}: {2}", _queue, _subject, e), e); + } + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/queue/RemoteQueueProxy.java b/java/cluster/src/org/apache/qpid/server/queue/RemoteQueueProxy.java new file mode 100644 index 0000000000..a9a467b306 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/queue/RemoteQueueProxy.java @@ -0,0 +1,106 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQBody; +import org.apache.qpid.framing.BasicPublishBody; +import org.apache.qpid.framing.ContentBody; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.server.cluster.ClusteredProtocolSession; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.qpid.server.cluster.MemberHandle; +import org.apache.qpid.server.cluster.SimpleSendable; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.Executor; + +/** + * TODO: separate out an abstract base class from AMQQueue from which this inherits. It does + * not require all the functionality currently in AMQQueue. + * + */ +public class RemoteQueueProxy extends AMQQueue +{ + private static final Logger _logger = Logger.getLogger(RemoteQueueProxy.class); + private final MemberHandle _target; + private final GroupManager _groupMgr; + + public RemoteQueueProxy(MemberHandle target, GroupManager groupMgr, String name, boolean durable, String owner, boolean autoDelete, QueueRegistry queueRegistry) + throws AMQException + { + super(name, durable, owner, autoDelete, queueRegistry); + _target = target; + _groupMgr = groupMgr; + _groupMgr.addMemberhipChangeListener(new ProxiedQueueCleanup(target, this)); + } + + public RemoteQueueProxy(MemberHandle target, GroupManager groupMgr, String name, boolean durable, String owner, boolean autoDelete, QueueRegistry queueRegistry, Executor asyncDelivery) + throws AMQException + { + super(name, durable, owner, autoDelete, queueRegistry, asyncDelivery); + _target = target; + _groupMgr = groupMgr; + _groupMgr.addMemberhipChangeListener(new ProxiedQueueCleanup(target, this)); + } + + public void deliver(AMQMessage msg) throws NoConsumersException + { + if (ClusteredProtocolSession.canRelay(msg, _target)) + { + try + { + _logger.debug(new LogMessage("Relaying {0} to {1}", msg, _target)); + relay(msg); + } + catch (NoConsumersException e) + { + throw e; + } + catch (AMQException e) + { + //TODO: sort out exception handling... + e.printStackTrace(); + } + } + else + { + _logger.debug(new LogMessage("Cannot relay {0} to {1}", msg, _target)); + } + } + + void relay(AMQMessage msg) throws AMQException + { + BasicPublishBody publish = msg.getPublishBody(); + ContentHeaderBody header = msg.getContentHeaderBody(); + List<ContentBody> bodies = msg.getContentBodies(); + + //(i) construct a new publishing block: + publish.immediate = false;//can't as yet handle the immediate flag in a cluster + List<AMQBody> parts = new ArrayList<AMQBody>(2 + bodies.size()); + parts.add(publish); + parts.add(header); + parts.addAll(bodies); + + //(ii) send this on to the broker for which it is acting as proxy: + _groupMgr.send(_target, new SimpleSendable(parts)); + } +} diff --git a/java/cluster/src/org/apache/qpid/server/queue/RemoteSubscriptionImpl.java b/java/cluster/src/org/apache/qpid/server/queue/RemoteSubscriptionImpl.java new file mode 100644 index 0000000000..9de7a5c849 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/queue/RemoteSubscriptionImpl.java @@ -0,0 +1,93 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.server.cluster.MemberHandle; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.server.cluster.SimpleSendable; +import org.apache.qpid.AMQException; + +class RemoteSubscriptionImpl implements Subscription, WeightedSubscriptionManager +{ + private final GroupManager _groupMgr; + private final MemberHandle _peer; + private boolean _suspended; + private int _count; + + RemoteSubscriptionImpl(GroupManager groupMgr, MemberHandle peer) + { + _groupMgr = groupMgr; + _peer = peer; + } + + synchronized void increment() + { + _count++; + } + + synchronized boolean decrement() + { + return --_count <= 0; + } + + public void send(AMQMessage msg, AMQQueue queue) + { + try + { + _groupMgr.send(_peer, new SimpleSendable(msg.getPayload())); + } + catch (AMQException e) + { + //TODO: handle exceptions properly... + e.printStackTrace(); + } + } + + public synchronized void setSuspended(boolean suspended) + { + _suspended = suspended; + } + + public synchronized boolean isSuspended() + { + return _suspended; + } + + public synchronized int getWeight() + { + return _count; + } + + public boolean hasActiveSubscribers() + { + return getWeight() == 0; + } + + public Subscription nextSubscriber(AMQMessage msg) + { + return this; + } + + public void queueDeleted(AMQQueue queue) + { + if(queue instanceof ClusteredQueue) + { + ((ClusteredQueue) queue).removeAllRemoteSubscriber(_peer); + } + } +} diff --git a/java/cluster/src/org/apache/qpid/server/queue/SubscriberCleanup.java b/java/cluster/src/org/apache/qpid/server/queue/SubscriberCleanup.java new file mode 100644 index 0000000000..cdb6f8f4d2 --- /dev/null +++ b/java/cluster/src/org/apache/qpid/server/queue/SubscriberCleanup.java @@ -0,0 +1,53 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.queue; + +import org.apache.qpid.server.cluster.MembershipChangeListener; +import org.apache.qpid.server.cluster.MemberHandle; +import org.apache.qpid.server.cluster.GroupManager; +import org.apache.qpid.server.cluster.util.LogMessage; +import org.apache.log4j.Logger; + +import java.util.List; + +class SubscriberCleanup implements MembershipChangeListener +{ + private static final Logger _logger = Logger.getLogger(SubscriberCleanup.class); + + private final MemberHandle _subject; + private final ClusteredQueue _queue; + private final GroupManager _manager; + + SubscriberCleanup(MemberHandle subject, ClusteredQueue queue, GroupManager manager) + { + _subject = subject; + _queue = queue; + _manager = manager; + _manager.addMemberhipChangeListener(this); + } + + public void changed(List<MemberHandle> members) + { + if(!members.contains(_subject)) + { + _queue.removeAllRemoteSubscriber(_subject); + _manager.removeMemberhipChangeListener(this); + _logger.info(new LogMessage("Removed {0} from {1}", _subject, _queue)); + } + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/BrokerGroupTest.java b/java/cluster/test/org/apache/qpid/server/cluster/BrokerGroupTest.java new file mode 100644 index 0000000000..015e96f9c6 --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/BrokerGroupTest.java @@ -0,0 +1,267 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import junit.framework.TestCase; + +import java.io.IOException; +import java.util.Arrays; + +public class BrokerGroupTest extends TestCase +{ + private final MemberHandle a = new SimpleMemberHandle("A", 1); + private final MemberHandle b = new SimpleMemberHandle("B", 1); + private final MemberHandle c = new SimpleMemberHandle("C", 1); + private final MemberHandle d = new SimpleMemberHandle("D", 1); + + //join (new members perspective) + // (i) connectToLeader() + // ==> check state + // (ii) setMembers() + // ==> check state + // ==> check members + // (iii) synched(leader) + // ==> check state + // ==> check peers + // (iv) synched(other) + // ==> check state + // ==> check peers + // repeat for all others + public void testJoin_newMember() throws Exception + { + MemberHandle[] pre = new MemberHandle[]{a, b, c}; + MemberHandle[] post = new MemberHandle[]{a, b, c}; + + BrokerGroup group = new BrokerGroup(d, new TestReplayManager(), new TestBrokerFactory()); + assertEquals(JoinState.UNINITIALISED, group.getState()); + //(i) + group.connectToLeader(a); + assertEquals(JoinState.JOINING, group.getState()); + assertEquals("Wrong number of peers", 1, group.getPeers().size()); + //(ii) + group.setMembers(Arrays.asList(post)); + assertEquals(JoinState.INITIATION, group.getState()); + assertEquals(Arrays.asList(post), group.getMembers()); + //(iii) & (iv) + for (MemberHandle member : pre) + { + group.synched(member); + if (member == c) + { + assertEquals(JoinState.JOINED, group.getState()); + assertEquals("Wrong number of peers", pre.length, group.getPeers().size()); + } + else + { + assertEquals(JoinState.INDUCTION, group.getState()); + assertEquals("Wrong number of peers", 1, group.getPeers().size()); + } + } + } + + //join (leaders perspective) + // (i) extablish() + // ==> check state + // ==> check members + // ==> check peers + // (ii) connectToProspect() + // ==> check members + // ==> check peers + // repeat (ii) + public void testJoin_Leader() throws IOException, InterruptedException + { + MemberHandle[] prospects = new MemberHandle[]{b, c, d}; + + BrokerGroup group = new BrokerGroup(a, new TestReplayManager(), new TestBrokerFactory()); + assertEquals(JoinState.UNINITIALISED, group.getState()); + //(i) + group.establish(); + assertEquals(JoinState.JOINED, group.getState()); + assertEquals("Wrong number of peers", 0, group.getPeers().size()); + assertEquals("Wrong number of members", 1, group.getMembers().size()); + assertEquals(a, group.getMembers().get(0)); + //(ii) + for (int i = 0; i < prospects.length; i++) + { + group.connectToProspect(prospects[i]); + assertEquals("Wrong number of peers", i + 1, group.getPeers().size()); + for (int j = 0; j <= i; j++) + { + assertTrue(prospects[i].matches(group.getPeers().get(i))); + } + assertEquals("Wrong number of members", i + 2, group.getMembers().size()); + assertEquals(a, group.getMembers().get(0)); + for (int j = 0; j <= i; j++) + { + assertEquals(prospects[i], group.getMembers().get(i + 1)); + } + } + } + + //join (general perspective) + // (i) set up group + // (ii) setMembers() + // ==> check members + // ==> check peers + public void testJoin_general() throws Exception + { + MemberHandle[] view1 = new MemberHandle[]{a, b, c}; + MemberHandle[] view2 = new MemberHandle[]{a, b, c, d}; + MemberHandle[] peers = new MemberHandle[]{a, b, d}; + + BrokerGroup group = new BrokerGroup(c, new TestReplayManager(), new TestBrokerFactory()); + //(i) + group.connectToLeader(a); + group.setMembers(Arrays.asList(view1)); + for (MemberHandle h : view1) + { + group.synched(h); + } + //(ii) + group.setMembers(Arrays.asList(view2)); + assertEquals(Arrays.asList(view2), group.getMembers()); + assertEquals(peers.length, group.getPeers().size()); + for (int i = 0; i < peers.length; i++) + { + assertTrue(peers[i].matches(group.getPeers().get(i))); + } + } + + //leadership transfer (valid) + // (i) set up group + // (ii) assumeLeadership() + // ==> check return value + // ==> check members + // ==> check peers + // ==> check isLeader() + // ==> check isLeader(old_leader) + // ==> check isMember(old_leader) + public void testTransferLeadership_valid() throws Exception + { + MemberHandle[] view1 = new MemberHandle[]{a, b}; + MemberHandle[] view2 = new MemberHandle[]{a, b, c, d}; + MemberHandle[] view3 = new MemberHandle[]{b, c, d}; + + BrokerGroup group = new BrokerGroup(b, new TestReplayManager(), new TestBrokerFactory()); + //(i) + group.connectToLeader(a); + group.setMembers(Arrays.asList(view1)); + for (MemberHandle h : view1) + { + group.synched(h); + } + group.setMembers(Arrays.asList(view2)); + //(ii) + boolean result = group.assumeLeadership(); + assertTrue(result); + assertTrue(group.isLeader()); + assertFalse(group.isLeader(a)); + assertEquals(Arrays.asList(view3), group.getMembers()); + assertEquals(2, group.getPeers().size()); + assertTrue(c.matches(group.getPeers().get(0))); + assertTrue(d.matches(group.getPeers().get(1))); + } + + //leadership transfer (invalid) + // (i) set up group + // (ii) assumeLeadership() + // ==> check return value + // ==> check members + // ==> check peers + // ==> check isLeader() + // ==> check isLeader(old_leader) + // ==> check isMember(old_leader) + public void testTransferLeadership_invalid() throws Exception + { + MemberHandle[] view1 = new MemberHandle[]{a, b, c}; + MemberHandle[] view2 = new MemberHandle[]{a, b, c, d}; + + BrokerGroup group = new BrokerGroup(c, new TestReplayManager(), new TestBrokerFactory()); + //(i) + group.connectToLeader(a); + group.setMembers(Arrays.asList(view1)); + for (MemberHandle h : view1) + { + group.synched(h); + } + group.setMembers(Arrays.asList(view2)); + //(ii) + boolean result = group.assumeLeadership(); + assertFalse(result); + assertFalse(group.isLeader()); + assertTrue(group.isLeader(a)); + assertEquals(Arrays.asList(view2), group.getMembers()); + assertEquals(3, group.getPeers().size()); + assertTrue(a.matches(group.getPeers().get(0))); + assertTrue(b.matches(group.getPeers().get(1))); + assertTrue(d.matches(group.getPeers().get(2))); + + } + + //leave (leaders perspective) + // (i) set up group + // (ii) remove a member + // ==> check members + // ==> check peers + // ==> check isMember(removed_member) + // repeat (ii) + public void testLeave_leader() + { + MemberHandle[] view1 = new MemberHandle[]{a, b, c, d}; + MemberHandle[] view2 = new MemberHandle[]{a, b, d}; + MemberHandle[] view3 = new MemberHandle[]{a, d}; + MemberHandle[] view4 = new MemberHandle[]{a}; + //(i) + BrokerGroup group = new BrokerGroup(a, new TestReplayManager(), new TestBrokerFactory()); + group.establish(); + group.setMembers(Arrays.asList(view1)); + //(ii) + group.remove(group.findBroker(c, false)); + assertEquals(Arrays.asList(view2), group.getMembers()); + + group.remove(group.findBroker(b, false)); + assertEquals(Arrays.asList(view3), group.getMembers()); + + group.remove(group.findBroker(d, false)); + assertEquals(Arrays.asList(view4), group.getMembers()); + } + + + //leave (general perspective) + // (i) set up group + // (ii) setMember + // ==> check members + // ==> check peers + // ==> check isMember(removed_member) + // repeat (ii) + public void testLeave_general() + { + MemberHandle[] view1 = new MemberHandle[]{a, b, c, d}; + MemberHandle[] view2 = new MemberHandle[]{a, c, d}; + //(i) + BrokerGroup group = new BrokerGroup(c, new TestReplayManager(), new TestBrokerFactory()); + group.establish(); //not strictly the correct way to build up the group, but ok for here + group.setMembers(Arrays.asList(view1)); + //(ii) + group.setMembers(Arrays.asList(view2)); + assertEquals(Arrays.asList(view2), group.getMembers()); + assertEquals(2, group.getPeers().size()); + assertTrue(a.matches(group.getPeers().get(0))); + assertTrue(d.matches(group.getPeers().get(1))); + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/BrokerTest.java b/java/cluster/test/org/apache/qpid/server/cluster/BrokerTest.java new file mode 100644 index 0000000000..d7ede7d3e0 --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/BrokerTest.java @@ -0,0 +1,231 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import junit.framework.TestCase; +import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQBody; +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.AMQFrameDecodingException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.cluster.policy.StandardPolicies; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class BrokerTest extends TestCase +{ + //group request (no failure) + public void testGroupRequest_noFailure() throws AMQException + { + RecordingBroker[] brokers = new RecordingBroker[]{ + new RecordingBroker("A", 1), + new RecordingBroker("B", 2), + new RecordingBroker("C", 3) + }; + GroupResponseValidator handler = new GroupResponseValidator(new TestMethod("response"), new ArrayList<Member>(Arrays.asList(brokers))); + GroupRequest grpRequest = new GroupRequest(new SimpleSendable(new TestMethod("request")), StandardPolicies.SYNCH_POLICY, handler); + for (Broker b : brokers) + { + b.invoke(grpRequest); + } + grpRequest.finishedSend(); + + for (RecordingBroker b : brokers) + { + b.handleResponse(((AMQFrame) b.getMessages().get(0)).channel, new TestMethod("response")); + } + + assertTrue("Handler did not receive response", handler.isCompleted()); + } + + //group request (failure) + public void testGroupRequest_failure() throws AMQException + { + RecordingBroker a = new RecordingBroker("A", 1); + RecordingBroker b = new RecordingBroker("B", 2); + RecordingBroker c = new RecordingBroker("C", 3); + RecordingBroker[] all = new RecordingBroker[]{a, b, c}; + RecordingBroker[] succeeded = new RecordingBroker[]{a, c}; + + GroupResponseValidator handler = new GroupResponseValidator(new TestMethod("response"), new ArrayList<Member>(Arrays.asList(succeeded))); + GroupRequest grpRequest = new GroupRequest(new SimpleSendable(new TestMethod("request")), StandardPolicies.SYNCH_POLICY, handler); + + for (Broker broker : all) + { + broker.invoke(grpRequest); + } + grpRequest.finishedSend(); + + for (RecordingBroker broker : succeeded) + { + broker.handleResponse(((AMQFrame) broker.getMessages().get(0)).channel, new TestMethod("response")); + } + b.remove(); + + assertTrue("Handler did not receive response", handler.isCompleted()); + } + + + //simple send (no response) + public void testSend_noResponse() throws AMQException + { + AMQBody[] msgs = new AMQBody[]{ + new TestMethod("A"), + new TestMethod("B"), + new TestMethod("C") + }; + RecordingBroker broker = new RecordingBroker("myhost", 1); + for (AMQBody msg : msgs) + { + broker.send(new SimpleSendable(msg), null); + } + List<AMQDataBlock> sent = broker.getMessages(); + assertEquals(msgs.length, sent.size()); + for (int i = 0; i < msgs.length; i++) + { + assertTrue(sent.get(i) instanceof AMQFrame); + assertEquals(msgs[i], ((AMQFrame) sent.get(i)).bodyFrame); + } + } + + //simple send (no failure) + public void testSend_noFailure() throws AMQException + { + RecordingBroker broker = new RecordingBroker("myhost", 1); + BlockingHandler handler = new BlockingHandler(); + broker.send(new SimpleSendable(new TestMethod("A")), handler); + List<AMQDataBlock> sent = broker.getMessages(); + assertEquals(1, sent.size()); + assertTrue(sent.get(0) instanceof AMQFrame); + assertEquals(new TestMethod("A"), ((AMQFrame) sent.get(0)).bodyFrame); + + broker.handleResponse(((AMQFrame) sent.get(0)).channel, new TestMethod("B")); + + assertEquals(new TestMethod("B"), handler.getResponse()); + } + + //simple send (failure) + public void testSend_failure() throws AMQException + { + RecordingBroker broker = new RecordingBroker("myhost", 1); + BlockingHandler handler = new BlockingHandler(); + broker.send(new SimpleSendable(new TestMethod("A")), handler); + List<AMQDataBlock> sent = broker.getMessages(); + assertEquals(1, sent.size()); + assertTrue(sent.get(0) instanceof AMQFrame); + assertEquals(new TestMethod("A"), ((AMQFrame) sent.get(0)).bodyFrame); + broker.remove(); + assertEquals(null, handler.getResponse()); + assertTrue(handler.isCompleted()); + assertTrue(handler.failed()); + } + + private static class TestMethod extends AMQMethodBody + { + private final Object id; + + TestMethod(Object id) + { + this.id = id; + } + + protected int getBodySize() + { + return 0; + } + + protected int getClazz() + { + return 1002; + } + + protected int getMethod() + { + return 1003; + } + + protected void writeMethodPayload(ByteBuffer buffer) + { + } + + protected byte getType() + { + return 0; + } + + protected int getSize() + { + return 0; + } + + protected void writePayload(ByteBuffer buffer) + { + } + + protected void populateMethodBodyFromBuffer(ByteBuffer buffer) throws AMQFrameDecodingException + { + } + + protected void populateFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException + { + } + + public boolean equals(Object o) + { + return o instanceof TestMethod && id.equals(((TestMethod) o).id); + } + + public int hashCode() + { + return id.hashCode(); + } + + } + + private static class GroupResponseValidator implements GroupResponseHandler + { + private final AMQMethodBody _response; + private final List<Member> _members; + private boolean _completed = false; + + GroupResponseValidator(AMQMethodBody response, List<Member> members) + { + _response = response; + _members = members; + } + + public void response(List<AMQMethodBody> responses, List<Member> members) + { + for (AMQMethodBody r : responses) + { + assertEquals(_response, r); + } + assertEquals(_members, members); + _completed = true; + } + + boolean isCompleted() + { + return _completed; + } + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/ClusterCapabilityTest.java b/java/cluster/test/org/apache/qpid/server/cluster/ClusterCapabilityTest.java new file mode 100644 index 0000000000..132ebd8ca0 --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/ClusterCapabilityTest.java @@ -0,0 +1,42 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import static org.junit.Assert.assertTrue; +import org.junit.Test; + +public class ClusterCapabilityTest +{ + @Test + public void startWithNull() + { + MemberHandle peer = new SimpleMemberHandle("myhost:9999"); + String c = ClusterCapability.add(null, peer); + assertTrue(ClusterCapability.contains(c)); + assertTrue(peer.matches(ClusterCapability.getPeer(c))); + } + + @Test + public void startWithText() + { + MemberHandle peer = new SimpleMemberHandle("myhost:9999"); + String c = ClusterCapability.add("existing text", peer); + assertTrue(ClusterCapability.contains(c)); + assertTrue(peer.matches(ClusterCapability.getPeer(c))); + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/InductionBufferTest.java b/java/cluster/test/org/apache/qpid/server/cluster/InductionBufferTest.java new file mode 100644 index 0000000000..fedf47d49a --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/InductionBufferTest.java @@ -0,0 +1,103 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.mina.common.IoSession; + +import java.util.List; +import java.util.ArrayList; + +import junit.framework.TestCase; + +public class InductionBufferTest extends TestCase +{ + public void test() throws Exception + { + IoSession session1 = new TestSession(); + IoSession session2 = new TestSession(); + IoSession session3 = new TestSession(); + + TestMessageHandler handler = new TestMessageHandler(); + InductionBuffer buffer = new InductionBuffer(handler); + + buffer.receive(session1, "one"); + buffer.receive(session2, "two"); + buffer.receive(session3, "three"); + + buffer.receive(session1, "four"); + buffer.receive(session1, "five"); + buffer.receive(session1, "six"); + + buffer.receive(session3, "seven"); + buffer.receive(session3, "eight"); + + handler.checkEmpty(); + buffer.deliver(); + + handler.check(session1, "one"); + handler.check(session2, "two"); + handler.check(session3, "three"); + + handler.check(session1, "four"); + handler.check(session1, "five"); + handler.check(session1, "six"); + + handler.check(session3, "seven"); + handler.check(session3, "eight"); + handler.checkEmpty(); + + buffer.receive(session1, "nine"); + buffer.receive(session2, "ten"); + buffer.receive(session3, "eleven"); + + handler.check(session1, "nine"); + handler.check(session2, "ten"); + handler.check(session3, "eleven"); + + handler.checkEmpty(); + } + + private static class TestMessageHandler implements InductionBuffer.MessageHandler + { + private final List<IoSession> _sessions = new ArrayList<IoSession>(); + private final List<Object> _msgs = new ArrayList<Object>(); + + public synchronized void deliver(IoSession session, Object msg) throws Exception + { + _sessions.add(session); + _msgs.add(msg); + } + + void check(IoSession actualSession, Object actualMsg) + { + assertFalse(_sessions.isEmpty()); + assertFalse(_msgs.isEmpty()); + IoSession expectedSession = _sessions.remove(0); + Object expectedMsg = _msgs.remove(0); + assertEquals(expectedSession, actualSession); + assertEquals(expectedMsg, actualMsg); + } + + void checkEmpty() + { + assertTrue(_sessions.isEmpty()); + assertTrue(_msgs.isEmpty()); + } + } +} + diff --git a/java/cluster/test/org/apache/qpid/server/cluster/RecordingBroker.java b/java/cluster/test/org/apache/qpid/server/cluster/RecordingBroker.java new file mode 100644 index 0000000000..388d584288 --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/RecordingBroker.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQDataBlock; + +import java.util.ArrayList; +import java.util.List; + +class RecordingBroker extends TestBroker +{ + private final List<AMQDataBlock> _messages = new ArrayList<AMQDataBlock>(); + + RecordingBroker(String host, int port) + { + super(host, port); + } + + public void send(AMQDataBlock data) throws AMQException + { + _messages.add(data); + } + + List<AMQDataBlock> getMessages() + { + return _messages; + } + + void clear() + { + _messages.clear(); + } + +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/RecordingBrokerFactory.java b/java/cluster/test/org/apache/qpid/server/cluster/RecordingBrokerFactory.java new file mode 100644 index 0000000000..e5e95323af --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/RecordingBrokerFactory.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +class RecordingBrokerFactory implements BrokerFactory +{ + public Broker create(MemberHandle handle) + { + return new RecordingBroker(handle.getHost(), handle.getPort()); + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/SimpleClusterTest.java b/java/cluster/test/org/apache/qpid/server/cluster/SimpleClusterTest.java new file mode 100644 index 0000000000..a4d13ea46d --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/SimpleClusterTest.java @@ -0,0 +1,41 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.junit.Test; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQSession; + +import javax.jms.JMSException; + +public class SimpleClusterTest +{ + @Test + public void declareExchange() throws AMQException, JMSException, URLSyntaxException + { + AMQConnection con = new AMQConnection("localhost:9000", "guest", "guest", "test", "/test"); + AMQSession session = (AMQSession) con.createSession(false, AMQSession.NO_ACKNOWLEDGE); + System.out.println("Session created"); + session.declareExchange("my_exchange", "direct"); + System.out.println("Exchange declared"); + con.close(); + System.out.println("Connection closed"); + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/SimpleMemberHandleTest.java b/java/cluster/test/org/apache/qpid/server/cluster/SimpleMemberHandleTest.java new file mode 100644 index 0000000000..f7c728759b --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/SimpleMemberHandleTest.java @@ -0,0 +1,59 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import org.junit.Test; + +public class SimpleMemberHandleTest +{ + @Test + public void matches() + { + assertMatch(new SimpleMemberHandle("localhost", 8888), new SimpleMemberHandle("localhost", 8888)); + assertNoMatch(new SimpleMemberHandle("localhost", 8889), new SimpleMemberHandle("localhost", 8888)); + assertNoMatch(new SimpleMemberHandle("localhost", 8888), new SimpleMemberHandle("localhost2", 8888)); + } + + + @Test + public void resolve() + { + assertEquivalent(new SimpleMemberHandle("WGLAIBD8XGR0J:9000"), new SimpleMemberHandle("localhost:9000")); + } + + private void assertEquivalent(MemberHandle a, MemberHandle b) + { + String msg = a + " is not equivalent to " + b; + a = SimpleMemberHandle.resolve(a); + b = SimpleMemberHandle.resolve(b); + msg += "(" + a + " does not match " + b + ")"; + assertTrue(msg, a.matches(b)); + } + + private void assertMatch(MemberHandle a, MemberHandle b) + { + assertTrue(a + " does not match " + b, a.matches(b)); + } + + private void assertNoMatch(MemberHandle a, MemberHandle b) + { + assertFalse(a + " matches " + b, a.matches(b)); + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/TestBroker.java b/java/cluster/test/org/apache/qpid/server/cluster/TestBroker.java new file mode 100644 index 0000000000..c4a1985ae3 --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/TestBroker.java @@ -0,0 +1,67 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQDataBlock; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.AMQMethodBody; + +import java.io.IOException; + +class TestBroker extends Broker +{ + TestBroker(String host, int port) + { + super(host, port); + } + + boolean connect() throws IOException, InterruptedException + { + return true; + } + + void connectAsynch(Iterable<AMQMethodBody> msgs) + { + replay(msgs); + } + + void replay(Iterable<AMQMethodBody> msgs) + { + try + { + for (AMQMethodBody b : msgs) + { + send(new AMQFrame(0, b)); + } + } + catch (AMQException e) + { + throw new RuntimeException(e); + } + } + + Broker connectToCluster() throws IOException, InterruptedException + { + return this; + } + + public void send(AMQDataBlock data) throws AMQException + { + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/TestBrokerFactory.java b/java/cluster/test/org/apache/qpid/server/cluster/TestBrokerFactory.java new file mode 100644 index 0000000000..cd4e340925 --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/TestBrokerFactory.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +class TestBrokerFactory implements BrokerFactory +{ + public Broker create(MemberHandle handle) + { + return new TestBroker(handle.getHost(), handle.getPort()); + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/TestReplayManager.java b/java/cluster/test/org/apache/qpid/server/cluster/TestReplayManager.java new file mode 100644 index 0000000000..e2d6f75f19 --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/TestReplayManager.java @@ -0,0 +1,44 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.server.cluster.replay.ReplayManager; + +import java.util.ArrayList; +import java.util.List; + +class TestReplayManager implements ReplayManager +{ + private final List<AMQMethodBody> _msgs; + + TestReplayManager() + { + this(new ArrayList<AMQMethodBody>()); + } + + TestReplayManager(List<AMQMethodBody> msgs) + { + _msgs = msgs; + } + + public List<AMQMethodBody> replay(boolean isLeader) + { + return _msgs; + } +} diff --git a/java/cluster/test/org/apache/qpid/server/cluster/TestSession.java b/java/cluster/test/org/apache/qpid/server/cluster/TestSession.java new file mode 100644 index 0000000000..c66fe27968 --- /dev/null +++ b/java/cluster/test/org/apache/qpid/server/cluster/TestSession.java @@ -0,0 +1,261 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.server.cluster; + +import org.apache.mina.common.*; + +import java.net.SocketAddress; +import java.util.Set; + +class TestSession implements IoSession +{ + public IoService getService() + { + return null; //TODO + } + + public IoHandler getHandler() + { + return null; //TODO + } + + public IoSessionConfig getConfig() + { + return null; //TODO + } + + public IoFilterChain getFilterChain() + { + return null; //TODO + } + + public WriteFuture write(Object message) + { + return null; //TODO + } + + public CloseFuture close() + { + return null; //TODO + } + + public Object getAttachment() + { + return null; //TODO + } + + public Object setAttachment(Object attachment) + { + return null; //TODO + } + + public Object getAttribute(String key) + { + return null; //TODO + } + + public Object setAttribute(String key, Object value) + { + return null; //TODO + } + + public Object setAttribute(String key) + { + return null; //TODO + } + + public Object removeAttribute(String key) + { + return null; //TODO + } + + public boolean containsAttribute(String key) + { + return false; //TODO + } + + public Set getAttributeKeys() + { + return null; //TODO + } + + public TransportType getTransportType() + { + return null; //TODO + } + + public boolean isConnected() + { + return false; //TODO + } + + public boolean isClosing() + { + return false; //TODO + } + + public CloseFuture getCloseFuture() + { + return null; //TODO + } + + public SocketAddress getRemoteAddress() + { + return null; //TODO + } + + public SocketAddress getLocalAddress() + { + return null; //TODO + } + + public SocketAddress getServiceAddress() + { + return null; //TODO + } + + public int getIdleTime(IdleStatus status) + { + return 0; //TODO + } + + public long getIdleTimeInMillis(IdleStatus status) + { + return 0; //TODO + } + + public void setIdleTime(IdleStatus status, int idleTime) + { + //TODO + } + + public int getWriteTimeout() + { + return 0; //TODO + } + + public long getWriteTimeoutInMillis() + { + return 0; //TODO + } + + public void setWriteTimeout(int writeTimeout) + { + //TODO + } + + public TrafficMask getTrafficMask() + { + return null; //TODO + } + + public void setTrafficMask(TrafficMask trafficMask) + { + //TODO + } + + public void suspendRead() + { + //TODO + } + + public void suspendWrite() + { + //TODO + } + + public void resumeRead() + { + //TODO + } + + public void resumeWrite() + { + //TODO + } + + public long getReadBytes() + { + return 0; //TODO + } + + public long getWrittenBytes() + { + return 0; //TODO + } + + public long getReadMessages() + { + return 0; + } + + public long getWrittenMessages() + { + return 0; + } + + public long getWrittenWriteRequests() + { + return 0; //TODO + } + + public int getScheduledWriteRequests() + { + return 0; //TODO + } + + public int getScheduledWriteBytes() + { + return 0; //TODO + } + + public long getCreationTime() + { + return 0; //TODO + } + + public long getLastIoTime() + { + return 0; //TODO + } + + public long getLastReadTime() + { + return 0; //TODO + } + + public long getLastWriteTime() + { + return 0; //TODO + } + + public boolean isIdle(IdleStatus status) + { + return false; //TODO + } + + public int getIdleCount(IdleStatus status) + { + return 0; //TODO + } + + public long getLastIdleTime(IdleStatus status) + { + return 0; //TODO + } +} diff --git a/java/common.xml b/java/common.xml new file mode 100644 index 0000000000..aa3fe81b9e --- /dev/null +++ b/java/common.xml @@ -0,0 +1,72 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="common"> + + <dirname property="project.root" file="${ant.file.common}"/> + <property name="project.name" value="qpid"/> + <property name="project.version" value="0.9"/> + <property name="project.namever" value="${project.name}-${project.version}"/> + <property name="client.namever" value="${project.name}-client-${project.version}"/> + <property name="build.dir" value="${project.root}/build"/> + <!-- <property name="amqp.xml" location="${project.root}/../specs/amqp-8.0.xml"/> --> + + <property name="classes.dir" value="classes"/> + <property name="src.dir" value="src"/> + <property name="lib.dir" value="lib"/> + <property name="doc.dir" value="doc"/> + <property name="etc.dir" value="etc"/> + <property name="bin.dir" value="bin"/> + <property name="src.bin" value="${bin.dir}"/> + <property name="launcher.sfx" value="-launch.jar"/> + + <property name="dist.root" value="${build.dir}/dist"/> + <property name="dist.dir" value="${dist.root}/${project.namever}"/> + <property name="dist.client.dir" value="${dist.dir}/client"/> + <property name="dist.bin" value="${dist.dir}/${bin.dir}"/> + <property name="dist.lib" value="${dist.dir}/${lib.dir}"/> + <property name="dist.doc" value="${dist.dir}/${doc.dir}"/> + <property name="dist.etc" value="${dist.dir}/${etc.dir}"/> + + <property name="build.zip" value="${build.dir}/${project.namever}.zip"/> + <property name="build.tar" value="${build.dir}/${project.namever}.tar"/> + <property name="build.tgz" value="${build.dir}/${project.namever}.tar.gz"/> + <property name="build.bz2" value="${build.dir}/${project.namever}.tar.bz2"/> + + <property name="client.zip" value="${build.dir}/${client.namever}.zip"/> + <property name="client.tar" value="${build.dir}/${client.namever}.tar"/> + <property name="client.tgz" value="${build.dir}/${client.namever}.tar.gz"/> + <property name="client.bz2" value="${build.dir}/${client.namever}.tar.bz2"/> + + <property name="java.target" value="1.5"/> + <property name="java.source" value="1.5"/> + + <property name="tasks.dir" value="${project.root}/tasks"/> + <property name="tasks.classes" value="${tasks.dir}/classes"/> + <property name="tasks.src" value="${tasks.dir}/src"/> + + <mkdir dir="${tasks.classes}"/> + <javac srcdir="${tasks.src}" destdir="${tasks.classes}" + classpath="${java.class.path}"/> + <taskdef name="map" classname="org.apache.qpid.tasks.Map" + classpath="${tasks.classes}"/> + + <target name="clean-tasks"> + <delete dir="${tasks.classes}"/> + </target> + +</project> diff --git a/java/common/bin/qpid-run b/java/common/bin/qpid-run new file mode 100644 index 0000000000..ef2348d45e --- /dev/null +++ b/java/common/bin/qpid-run @@ -0,0 +1,176 @@ +#!/bin/bash +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +die() { + if [[ $1 = -usage ]]; then + shift + usage=true + else + usage=false + fi + echo "$@" + $usage && echo + $usage && usage + exit 1 +} + +if [ -z "$QPID_HOME" ]; then + die "QPID_HOME must be set" +fi + +program=$(basename $0) +sourced=${BASH_SOURCE[0]} +if [[ -z ${sourced:-''} ]]; then + sourced=$(which qpid-run) || ${QPID_HOME}/bin/qpid-run +fi + +usage() { + echo Usage: $program ... "[-run:<option>]" ... + echo + echo Options: + egrep -B 1 "^\s*#USAGE: " ${sourced} |\ + sed "s/#USAGE:/ /" |\ + sed "s/-run:\(.*\))/-run:\1/" |\ + sed "s/-run:\(.*\)=\*/-run:\1=<value>/" |\ + sed "s/^--$//" +} + +cygwin=false +if [[ "$(uname -a | fgrep Cygwin)" != "" ]]; then + cygwin=true +fi + +export EXTERNAL_CLASSPATH=$CLASSPATH +unset CLASSPATH + +conf=$QPID_HOME/etc/$program.conf +if [ ! -e $conf ]; then + conf=$QPID_HOME/etc/$(basename ${sourced}).conf +fi + +if [ -r $conf ]; then + . $conf +else + die "unable to source $conf" +fi + +declare -a RUN_ARGS JAVA_ARGS +for arg in "$@"; do + if [[ $arg == -run:* ]]; then + RUN_ARGS[${#RUN_ARGS[@]}]="$arg" + else + JAVA_ARGS[${#JAVA_ARGS[@]}]="$arg" + fi +done + +# this defines the default behavior, it may be modified during option +# processing below +DISPATCH() { + if $debug; then + echo "CLASSPATH=${CLASSPATH}" + echo "${COMMAND[@]}" + fi + + exec "${COMMAND[@]}" +} + +exclusive() { + if [ -z "$PREVIOUS_ARGS" ]; then + PREVIOUS_ARGS=$1 + else + PREVIOUS_ARGS+=", $1" + DISPATCH() { + die -usage "you must choose one of: $PREVIOUS_ARGS" + } + fi +} + +debug=false + +for arg in "${RUN_ARGS[@]}"; do + case $arg in + -run:debug) +#USAGE: print the classpath and command before running it + debug=true + ;; + -run:jpda) +#USAGE: adds debugging options to the java command, use +#USAGE: JDPA_TRANSPORT and JPDA_ADDRESS to customize the debugging +#USAGE: behavior and use JPDA_OPTS to override it entirely + if [ -z "$JPDA_OPTS" ]; then + JPDA_OPTS="-Xdebug -Xrunjdwp:transport=${JPDA_TRANSPORT:-dt_socket},address=${JPDA_ADDRESS:-8000},server=y,suspend=n" + fi + QPID_OPTS+=" ${JPDA_OPTS}" + ;; + -run:external-classpath=*) +#USAGE: controls how the CLASSPATH environment variable is used by +#USAGE: this script, value can be one of ignore (the default), first, +#USAGE: last, and only + case $arg in + *=ignore) + # do nothing + ;; + *=first) + CLASSPATH=$EXTERNAL_CLASSPATH:$CLASSPATH + ;; + *=last) + CLASSPATH=$CLASSPATH:$EXTERNAL_CLASSPATH + ;; + *=only) + CLASSPATH=$EXTERNAL_CLASSPATH + ;; + *) + die -usage $(echo $arg | sed "s/=/: invalid value '/")\' + ;; + esac + ;; + -run:print-classpath) +#USAGE: print the classpath + DISPATCH() { + echo $CLASSPATH + } + exclusive $arg + ;; + -run:print-command) +#USAGE: print the command + DISPATCH() { + echo "${COMMAND[@]}" + } + exclusive $arg + ;; + -run:help) +#USAGE: print this message + DISPATCH() { + usage + } + exclusive $arg + ;; + *) + die -usage "unrecognized -run option '$arg'" + ;; + esac +done + +if $cygwin; then + QPID_HOME=$(cygpath -w $QPID_HOME) + CLASSPATH=$(cygpath -w -p $CLASSPATH) + JAVA=$(cygpath -u $JAVA) +fi + +COMMAND=($JAVA $JAVA_VM $JAVA_MEM -DQPID_HOME=$QPID_HOME $JAVA_OPTS $QPID_OPTS "${JAVA_ARGS[@]}") + +DISPATCH diff --git a/java/common/build-module.xml b/java/common/build-module.xml new file mode 100644 index 0000000000..2e7a4ec58a --- /dev/null +++ b/java/common/build-module.xml @@ -0,0 +1,129 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Common" default="build"> + + <import file="../module.xml"/> + + <property name="cluster.asl" value="resources/cluster.asl"/> + <property name="stylesheet" value="stylesheets/framing.xsl"/> + <property name="registry_stylesheet" value="stylesheets/registry.xsl"/> + <property name="registry_template" value="resources/registry.template"/> + <property name="saxon.jar" value="lib/saxon/saxon8.jar"/> + <property name="generated.package" value="org/apache/qpid/framing"/> + <property name="generated.dir" value="${module.precompiled}/${generated.package}"/> + <property name="proto_version" value="${generated.dir}/ProtocolVersionList.java"/> + + <macrodef name="saxon"> + <attribute name="out"/> + <attribute name="src"/> + <attribute name="xsl"/> + <element name="args" implicit="true" optional="true"/> + <sequential> + <java jar="${saxon.jar}" fork="true"> + <arg value="-o"/> + <arg value="@{out}"/> + <arg value="@{src}"/> + <arg value="@{xsl}"/> + <args/> + </java> + </sequential> + </macrodef> + + <macrodef name="amqp"> + <attribute name="ver"/> + <sequential> + <!-- Check for the existence of the AMQP specification file --> + <property name="amqpspecfile-@{ver}" value="${project.root}/../specs/amqp-@{ver}.xml"/> + <available file="${project.root}/../specs/amqp-@{ver}.xml" + property="amqpspecfile.present-@{ver}"/> + <fail unless="amqpspecfile.present-@{ver}" + message="ERROR: AMQP specification file ${project.root}/../specs/amqp-@{ver}.xml not found."/> + + <!-- Read in the file as a set of properties; extract the amqp version --> + <xmlproperty prefix="@{ver}" file="${project.root}/../specs/amqp-@{ver}.xml"/> + <echo>Found AMQP specification file "${project.root}/../specs/amqp-@{ver}.xml"; major=${@{ver}.amqp(major)} minor=${@{ver}.amqp(minor)}</echo> + + <!-- Add the version to the ProtocolVersionList.java file --> + <replaceregexp file="${proto_version}" match=" // !VER!" + replace=",${line.separator} {${@{ver}.amqp(major)}, ${@{ver}.amqp(minor)}} // !VER!" + flags="s" byline="true"/> + <replaceregexp file="${proto_version}" match=" // !VER1!" + replace="{${@{ver}.amqp(major)}, ${@{ver}.amqp(minor)}} // !VER!" + flags="s" byline="true"/> + + <!-- Create directory; generate from specification file --> + <mkdir dir="${generated.dir}_${@{ver}.amqp(major)}_${@{ver}.amqp(minor)}"/> + <saxon out="${generated.dir}_${@{ver}.amqp(major)}_${@{ver}.amqp(minor)}/results.out" + src="${project.root}/../specs/amqp-@{ver}.xml" + xsl="${stylesheet}"> + <arg value="major=${@{ver}.amqp(major)}"/> + <arg value="minor=${@{ver}.amqp(minor)}"/> + <arg value="registry_name=MainRegistry"/> + </saxon> + <!-- --> + <saxon out="${generated.dir}_${@{ver}.amqp(major)}_${@{ver}.amqp(minor)}/cluster.out" + src="${cluster.asl}" + xsl="${stylesheet}"> + <arg value="major=${@{ver}.amqp(major)}"/> + <arg value="minor=${@{ver}.amqp(minor)}"/> + <arg value="registry_name=ClusterRegistry"/> + </saxon> + <saxon out="${generated.dir}_${@{ver}.amqp(major)}_${@{ver}.amqp(minor)}/registry.out" + src="${registry_template}" + xsl="${registry_stylesheet}"> + <arg value="major=${@{ver}.amqp(major)}"/> + <arg value="minor=${@{ver}.amqp(minor)}"/> + </saxon> + </sequential> + </macrodef> + +<!-- <uptodate property="generated" targetfile="${generated.dir}/results.out" + srcfile="${amqp.xml}"/> --> + +<!-- <target name="generate" unless="generated"> --> + <target name="generate"> + <mkdir dir="${generated.dir}"/> + <copy file="resources/ProtocolVersionList.java" tofile="${proto_version}" + overwrite="true"/> + <!-- + NOTE: Set the AMQP version numbers to be supported in this build here. + The last version in this list will be the version returned when a protocol + ProtocolInitiation NAK frame is returned by the broker. Usually this is the + highest or most recent version. + --> + <!-- <amqp ver="0.8"/> + <amqp ver="0.9"/> + <amqp ver="0.10"/> --> + <amqp ver="8.0"/> + +<!-- <saxon out="${generated.dir}/results.out" src="${amqp.xml}" + xsl="${stylesheet}"> + <arg value="asl_base=${asl.base}"/> + <arg value="registry_name=MainRegistry"/> + </saxon> + <saxon out="${generated.dir}/cluster.out" src="${cluster.asl}" + xsl="${stylesheet}"> + <arg value="registry_name=ClusterRegistry"/> + </saxon> + <saxon out="${generated.dir}/registry.out" src="${registry_template}" + xsl="${registry_stylesheet}"/> --> + </target> + + <target name="precompile" depends="generate"/> + +</project> diff --git a/java/common/build-old.xml b/java/common/build-old.xml new file mode 100644 index 0000000000..ccf66af21d --- /dev/null +++ b/java/common/build-old.xml @@ -0,0 +1,98 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Java Framing Layer" default="build"> + <property name="amq.home" value="../.."/> + <path id="amq.home.path"> + <pathelement location="${amq.home}"/> + </path> + + <pathconvert targetos="unix" property="amq.home.fixed" refid="amq.home.path"/> + + <property name="amq.asl" value="${amq.home.fixed}/specs/amqp.xml"/> + <property name="cluster.asl" value="resources/cluster.asl"/> + + <property name="stylesheet" value="stylesheets/framing.xsl"/> + <property name="registry_stylesheet" value="stylesheets/registry.xsl"/> + <property name="registry_template" value="resources/registry.template"/> + <property name="saxon.jar" value="lib/saxon/saxon8.jar"/> + <property name="generated.src" value="generated/java/org.apache.qpid/framing"/> + <property name="static.src" value="src"/> + <property name="resources" value="resources"/> + <property name="base.lib" value="lib"/> + + <path id="project.classpath"> + <fileset dir="${base.lib}"> + <include name="**/*.jar"/> + </fileset> + </path> + + <target name="prepare"> + <mkdir dir="classes"/> + </target> + + <target name="build" depends="regenerate, compile" description="re-generates and compiles static and generated source after cleaning"> + </target> + + <target name="compile" depends="prepare" description="compiles static and generated source"> + <javac destdir="classes" debug="true" deprecation="true" source="1.5"> + <src path="${generated.src}"/> + <src path="${static.src}"/> + <classpath refid="project.classpath"/> + </javac> + </target> + + <target name="regenerate" depends="clean, generate" description="generates code"> + </target> + + <target name="check-generate"> + <uptodate property="generateNotRequired" targetfile="${generated.src}/results.out" srcfile="${amq.asl}"/> + </target> + + <target name="generate" depends="check-generate" unless="${generateNotRequired}" description="generates code"> + <mkdir dir="${generated.src}"/> + <java jar="${saxon.jar}" fork="true"> + <arg value="-o"/> + <arg value="${generated.src}/results.out"/> + <arg value="${amq.asl}"/> + <arg value="${stylesheet}"/> + <arg value="asl_base=${asl.base}"/> + <arg value="registry_name=MainRegistry"/> + </java> + <java jar="${saxon.jar}" fork="true"> + <arg value="-o"/> + <arg value="${generated.src}/cluster.out"/> + <arg value="${cluster.asl}"/> + <arg value="${stylesheet}"/> + <arg value="registry_name=ClusterRegistry"/> + </java> + <java jar="${saxon.jar}" fork="true"> + <arg value="-o"/> + <arg value="${generated.src}/registry.out"/> + <arg value="${registry_template}"/> + <arg value="${registry_stylesheet}"/> + </java> + </target> + + <target name="clean" depends="prepare" description="deletes any products of the compile and generate tasks"> + <delete quiet="true"> + <fileset dir="classes" includes="**/*"/> + <fileset dir="${generated.src}" includes="**/*"/> + </delete> + <mkdir dir="${generated.src}"/> + </target> +</project> diff --git a/java/common/etc/qpid-run.conf b/java/common/etc/qpid-run.conf new file mode 100644 index 0000000000..f4391c6116 --- /dev/null +++ b/java/common/etc/qpid-run.conf @@ -0,0 +1,22 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +BLAZE_LIBS=$(find ${BLAZE_HOME}/lib -name "*.jar" -print | sed -e :a -e '$!N;s/\n/:/;ta' -e 'P;D') + +export JAVA=java \ + JAVA_VM=-server \ + JAVA_MEM=-Xmx1024m \ + CLASSPATH=$BLAZE_LIBS diff --git a/java/common/etc/qpid-run.conf.dev b/java/common/etc/qpid-run.conf.dev new file mode 100644 index 0000000000..71a1ebbd95 --- /dev/null +++ b/java/common/etc/qpid-run.conf.dev @@ -0,0 +1,23 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +QPID_LIBS=$(find ${QPID_HOME} -type d -name "classes" -print | sed -e :a -e '$!N;s/\n/:/;ta' -e 'P;D') +QPID_LIBS=${QPID_LIBS}:$(find $(dirname ${QPID_HOME}) -name "*.jar" -print | sed -e :a -e '$!N;s/\n/:/;ta' -e 'P;D') + +export JAVA=java \ + JAVA_VM=-server \ + JAVA_MEM=-Xmx1024m \ + CLASSPATH=$QPID_LIBS diff --git a/java/common/lib/commons-cli/commons-cli-1.0.jar b/java/common/lib/commons-cli/commons-cli-1.0.jar Binary files differnew file mode 100644 index 0000000000..22a004e14e --- /dev/null +++ b/java/common/lib/commons-cli/commons-cli-1.0.jar diff --git a/java/common/lib/commons-collections/commons-collections-3.1.jar b/java/common/lib/commons-collections/commons-collections-3.1.jar Binary files differnew file mode 100644 index 0000000000..41e230feea --- /dev/null +++ b/java/common/lib/commons-collections/commons-collections-3.1.jar diff --git a/java/common/lib/commons-configuration/commons-configuration-1.2.jar b/java/common/lib/commons-configuration/commons-configuration-1.2.jar Binary files differnew file mode 100644 index 0000000000..574d0ac789 --- /dev/null +++ b/java/common/lib/commons-configuration/commons-configuration-1.2.jar diff --git a/java/common/lib/commons-lang/commons-lang-2.1.jar b/java/common/lib/commons-lang/commons-lang-2.1.jar Binary files differnew file mode 100644 index 0000000000..87b80ab5db --- /dev/null +++ b/java/common/lib/commons-lang/commons-lang-2.1.jar diff --git a/java/common/lib/commons-logging/commons-logging-api.jar b/java/common/lib/commons-logging/commons-logging-api.jar Binary files differnew file mode 100644 index 0000000000..ade9a13c78 --- /dev/null +++ b/java/common/lib/commons-logging/commons-logging-api.jar diff --git a/java/common/lib/commons-logging/commons-logging.jar b/java/common/lib/commons-logging/commons-logging.jar Binary files differnew file mode 100644 index 0000000000..b73a80fab6 --- /dev/null +++ b/java/common/lib/commons-logging/commons-logging.jar diff --git a/java/common/lib/junit/junit-4.0.jar b/java/common/lib/junit/junit-4.0.jar Binary files differnew file mode 100644 index 0000000000..b20406924a --- /dev/null +++ b/java/common/lib/junit/junit-4.0.jar diff --git a/java/common/lib/junit/junit.jar b/java/common/lib/junit/junit.jar Binary files differnew file mode 100644 index 0000000000..674d71e89e --- /dev/null +++ b/java/common/lib/junit/junit.jar diff --git a/java/common/lib/logging-log4j/log4j-1.2.13.jar b/java/common/lib/logging-log4j/log4j-1.2.13.jar Binary files differnew file mode 100644 index 0000000000..dde9972109 --- /dev/null +++ b/java/common/lib/logging-log4j/log4j-1.2.13.jar diff --git a/java/common/lib/mina/mina-core-0.9.5-SNAPSHOT.jar b/java/common/lib/mina/mina-core-0.9.5-SNAPSHOT.jar Binary files differnew file mode 100644 index 0000000000..6fcbb64543 --- /dev/null +++ b/java/common/lib/mina/mina-core-0.9.5-SNAPSHOT.jar diff --git a/java/common/lib/mina/mina-filter-ssl-0.9.5-SNAPSHOT.jar b/java/common/lib/mina/mina-filter-ssl-0.9.5-SNAPSHOT.jar Binary files differnew file mode 100644 index 0000000000..45e0333be1 --- /dev/null +++ b/java/common/lib/mina/mina-filter-ssl-0.9.5-SNAPSHOT.jar diff --git a/java/common/lib/saxon/saxon8.jar b/java/common/lib/saxon/saxon8.jar Binary files differnew file mode 100644 index 0000000000..197ce75c5b --- /dev/null +++ b/java/common/lib/saxon/saxon8.jar diff --git a/java/common/lib/slf4j/slf4j-simple.jar b/java/common/lib/slf4j/slf4j-simple.jar Binary files differnew file mode 100644 index 0000000000..5c6567d11c --- /dev/null +++ b/java/common/lib/slf4j/slf4j-simple.jar diff --git a/java/common/readme.txt b/java/common/readme.txt new file mode 100644 index 0000000000..12841fa08d --- /dev/null +++ b/java/common/readme.txt @@ -0,0 +1,4 @@ +AMQP Common Java API + +Common generated functionality for AMQP Java client and broker. See the +readme in the client and broker directories. diff --git a/java/common/resources/ProtocolVersionList.java b/java/common/resources/ProtocolVersionList.java new file mode 100644 index 0000000000..febf002f08 --- /dev/null +++ b/java/common/resources/ProtocolVersionList.java @@ -0,0 +1,37 @@ +/** + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** + * This class is autogenerated, do not modify. + */ + +package org.apache.qpid.framing; + +/** + * NOTE: Don't remove the line containing the token VER or VER1 - these are + * markers for code generation. + */ + +public interface ProtocolVersionList +{ + public final int PROTOCOL_MAJOR = 0; + public final int PROTOCOL_MINOR = 1; + public final byte pv[][] = { + // !VER1! + }; +} diff --git a/java/common/resources/cluster.asl b/java/common/resources/cluster.asl new file mode 100644 index 0000000000..cc5507d79d --- /dev/null +++ b/java/common/resources/cluster.asl @@ -0,0 +1,56 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<amqp major="8" minor="0" port="5672" comment="AMQ protocol 0.80"> + +<class name = "cluster" index = "101"> + +<doc> + An extension that allows brokers to communicate in order to + provide a clustered service to clients. +</doc> + +<method name = "join"> + <field name = "broker" type = "shortstr" /> +</method> + +<method name = "membership"> + <field name = "members" type = "longstr" /> +</method> + +<method name = "synch"> +</method> + +<method name = "leave"> + <field name = "broker" type = "shortstr" /> +</method> + +<method name = "suspect"> + <field name = "broker" type = "shortstr" /> +</method> + +<method name = "ping"> + <field name = "broker" type = "shortstr" /> + <field name = "load" type = "long" /> + <field name = "response required" type = "bit" /> +</method> + +</class> + +</amqp> diff --git a/java/common/resources/org/apache/qpid/ssl/qpid.cert b/java/common/resources/org/apache/qpid/ssl/qpid.cert Binary files differnew file mode 100644 index 0000000000..e6702108e6 --- /dev/null +++ b/java/common/resources/org/apache/qpid/ssl/qpid.cert diff --git a/java/common/resources/registry.template b/java/common/resources/registry.template new file mode 100644 index 0000000000..3dd0f2013c --- /dev/null +++ b/java/common/resources/registry.template @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<registries> + <registry name="MainRegistry"/> + <registry name="ClusterRegistry"/> +</registries> diff --git a/java/common/src/org/apache/qpid/AMQChannelClosedException.java b/java/common/src/org/apache/qpid/AMQChannelClosedException.java new file mode 100644 index 0000000000..694fe75cda --- /dev/null +++ b/java/common/src/org/apache/qpid/AMQChannelClosedException.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid; + +/** + * AMQ channel closed exception. + */ +public class AMQChannelClosedException extends AMQException +{ + public AMQChannelClosedException(int errorCode, String msg) + { + super(errorCode, msg); + } +} + + diff --git a/java/common/src/org/apache/qpid/AMQChannelException.java b/java/common/src/org/apache/qpid/AMQChannelException.java new file mode 100644 index 0000000000..677a4938a0 --- /dev/null +++ b/java/common/src/org/apache/qpid/AMQChannelException.java @@ -0,0 +1,46 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid; + +import org.apache.qpid.framing.ChannelCloseBody; +import org.apache.qpid.framing.AMQFrame; + +public class AMQChannelException extends AMQException +{ + private final int _classId; + private final int _methodId; + + public AMQChannelException(int errorCode, String msg, int classId, int methodId, Throwable t) + { + super(errorCode, msg, t); + _classId = classId; + _methodId = methodId; + } + + public AMQChannelException(int errorCode, String msg, int classId, int methodId) + { + super(errorCode, msg); + _classId = classId; + _methodId = methodId; + } + + public AMQFrame getCloseFrame(int channel) + { + return ChannelCloseBody.createAMQFrame(channel, getErrorCode(), getMessage(), _classId, _methodId); + } +} diff --git a/java/common/src/org/apache/qpid/AMQConnectionClosedException.java b/java/common/src/org/apache/qpid/AMQConnectionClosedException.java new file mode 100644 index 0000000000..dcf393eb65 --- /dev/null +++ b/java/common/src/org/apache/qpid/AMQConnectionClosedException.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid; + +/** + * AMQ channel closed exception. + */ +public class AMQConnectionClosedException extends AMQException +{ + public AMQConnectionClosedException(int errorCode, String msg) + { + super(errorCode, msg); + } +} + + diff --git a/java/common/src/org/apache/qpid/AMQConnectionException.java b/java/common/src/org/apache/qpid/AMQConnectionException.java new file mode 100644 index 0000000000..171af23500 --- /dev/null +++ b/java/common/src/org/apache/qpid/AMQConnectionException.java @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.qpid; + +public class AMQConnectionException extends AMQException +{ + public AMQConnectionException(String message) + { + super(message); + } +} diff --git a/java/common/src/org/apache/qpid/AMQDisconnectedException.java b/java/common/src/org/apache/qpid/AMQDisconnectedException.java new file mode 100644 index 0000000000..616a95bd1b --- /dev/null +++ b/java/common/src/org/apache/qpid/AMQDisconnectedException.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid; + +/** + * AMQ disconnected exception. + */ +public class AMQDisconnectedException extends AMQException +{ + public AMQDisconnectedException(String msg) + { + super(msg); + } +} + + diff --git a/java/common/src/org/apache/qpid/AMQException.java b/java/common/src/org/apache/qpid/AMQException.java new file mode 100644 index 0000000000..423cbf8975 --- /dev/null +++ b/java/common/src/org/apache/qpid/AMQException.java @@ -0,0 +1,74 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid; + +import org.apache.log4j.Logger; + +/** + * Generic AMQ exception. + */ +public class AMQException extends Exception +{ + private int _errorCode; + + public AMQException(String message) + { + super(message); + } + + public AMQException(String msg, Throwable t) + { + super(msg, t); + } + + public AMQException(int errorCode, String msg, Throwable t) + { + super(msg + " [error code " + errorCode + ']', t); + _errorCode = errorCode; + } + + public AMQException(int errorCode, String msg) + { + super(msg + " [error code " + errorCode + ']'); + _errorCode = errorCode; + } + + public AMQException(Logger logger, String msg, Throwable t) + { + this(msg, t); + logger.error(getMessage(), this); + } + + public AMQException(Logger logger, String msg) + { + this(msg); + logger.error(getMessage(), this); + } + + public AMQException(Logger logger, int errorCode, String msg) + { + this(errorCode, msg); + logger.error(getMessage(), this); + } + + public int getErrorCode() + { + return _errorCode; + } + +} diff --git a/java/common/src/org/apache/qpid/AMQUndeliveredException.java b/java/common/src/org/apache/qpid/AMQUndeliveredException.java new file mode 100644 index 0000000000..9424fe8eb1 --- /dev/null +++ b/java/common/src/org/apache/qpid/AMQUndeliveredException.java @@ -0,0 +1,41 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid; + +/** + * Generic AMQ exception. + */ +public class AMQUndeliveredException extends AMQException +{ + private Object _bounced; + + public AMQUndeliveredException(int errorCode, String msg, Object bounced) + { + super(errorCode, msg); + + _bounced = bounced; + } + + public Object getUndeliveredMessage() + { + return _bounced; + } + +} + + diff --git a/java/common/src/org/apache/qpid/AMQUnresolvedAddressException.java b/java/common/src/org/apache/qpid/AMQUnresolvedAddressException.java new file mode 100644 index 0000000000..b290e1e4c7 --- /dev/null +++ b/java/common/src/org/apache/qpid/AMQUnresolvedAddressException.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid; + +public class AMQUnresolvedAddressException extends AMQException +{ + public AMQUnresolvedAddressException(String message) + { + super(message); + } +} diff --git a/java/common/src/org/apache/qpid/bio/Reader.java b/java/common/src/org/apache/qpid/bio/Reader.java new file mode 100644 index 0000000000..165a323337 --- /dev/null +++ b/java/common/src/org/apache/qpid/bio/Reader.java @@ -0,0 +1,98 @@ +/* + * @(#) $Id: SocketSessionImpl.java 398039 2006-04-28 23:36:27Z proyal $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.bio; + +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoHandler; + +import java.io.IOException; +import java.nio.channels.ByteChannel; +import java.nio.channels.ClosedByInterruptException; + +class Reader implements Runnable +{ + private final IoHandler handler; + private final SocketSessionImpl session; + private final ByteChannel channel; + private volatile boolean stopped; + + Reader(IoHandler handler, SocketSessionImpl session) + { + this.handler = handler; + this.session = session; + channel = session.getChannel(); + } + + void stop() + { + stopped = true; + } + + public void run() + { + while (!stopped) + { + try + { + ByteBuffer buffer = ByteBuffer.allocate(session.getReadBufferSize()); + int read = channel.read(buffer.buf()); + if(read > 0) + { + buffer.flip(); + ((SocketFilterChain) session.getFilterChain()).messageReceived(session, buffer); + } + else + { + stopped = true; + } + } + catch (ClosedByInterruptException e) + { + stopped = true; + } + catch (IOException e) + { + if (!stopped) + { + signalException(e); + session.close(); + } + } + catch (Exception e) + { + if (!stopped) + { + signalException(e); + } + } + } + } + + private void signalException(Exception e) + { + try + { + handler.exceptionCaught(session, e); + } + catch (Exception e2) + { + e.printStackTrace(); + } + } +} diff --git a/java/common/src/org/apache/qpid/bio/Sequence.java b/java/common/src/org/apache/qpid/bio/Sequence.java new file mode 100644 index 0000000000..dcaae4d6d7 --- /dev/null +++ b/java/common/src/org/apache/qpid/bio/Sequence.java @@ -0,0 +1,29 @@ +/* + * @(#) $Id: SocketSessionImpl.java 398039 2006-04-28 23:36:27Z proyal $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.bio; + +class Sequence +{ + private int nextId = 0; + + synchronized int nextId() + { + return nextId++; + } +} diff --git a/java/common/src/org/apache/qpid/bio/SimpleSocketChannel.java b/java/common/src/org/apache/qpid/bio/SimpleSocketChannel.java new file mode 100644 index 0000000000..0495654f73 --- /dev/null +++ b/java/common/src/org/apache/qpid/bio/SimpleSocketChannel.java @@ -0,0 +1,82 @@ +/* + * @(#) $Id: SocketSessionImpl.java 398039 2006-04-28 23:36:27Z proyal $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.bio; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.nio.ByteBuffer; +import java.nio.channels.ByteChannel; + +/** + * A simpler alternative to the non-blocking enabled SocketChannel for + * use with blocking io only. Not threadsafe. + */ +class SimpleSocketChannel implements ByteChannel +{ + private final Socket socket; + private final OutputStream out; + private final InputStream in; + private final byte[] buffer = new byte[2048]; + + SimpleSocketChannel(Socket socket) throws IOException + { + this.socket = socket; + out = socket.getOutputStream(); + in = socket.getInputStream(); + } + + Socket socket() + { + return socket; + } + + public int read(ByteBuffer dst) throws IOException + { + if (dst == null) + { + throw new NullPointerException("Null buffer passed into read"); + } + int read = in.read(buffer, 0, Math.min(buffer.length, dst.limit() - dst.position())); + if (read > 0) + { + dst.put(buffer, 0, read); + } + return read; + } + + public int write(ByteBuffer dst) throws IOException + { + byte[] data = new byte[dst.remaining()]; + dst.get(data); + out.write(data); + return data.length; + } + + public boolean isOpen() + { + return socket.isConnected(); + } + + public void close() throws IOException + { + socket.close(); + } +} diff --git a/java/common/src/org/apache/qpid/bio/SocketAcceptor.java b/java/common/src/org/apache/qpid/bio/SocketAcceptor.java new file mode 100644 index 0000000000..d47a29a047 --- /dev/null +++ b/java/common/src/org/apache/qpid/bio/SocketAcceptor.java @@ -0,0 +1,277 @@ +/* + * @(#) $Id: SocketAcceptor.java 389042 2006-03-27 07:49:41Z trustin $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.bio; + +import org.apache.mina.common.IoHandler; +import org.apache.mina.common.IoServiceConfig; +import org.apache.mina.common.support.BaseIoAcceptor; +import org.apache.mina.transport.socket.nio.SocketAcceptorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.nio.channels.ByteChannel; +import java.nio.channels.ServerSocketChannel; +import java.util.*; + +/** + */ +public class SocketAcceptor extends BaseIoAcceptor +{ + private static final Sequence acceptorSeq = new Sequence(); + + private final int id = acceptorSeq.nextId(); + private final String threadName = "SocketAcceptor-" + id; + private final IoServiceConfig defaultConfig = new SocketAcceptorConfig(); + private final Map services = new HashMap();//SocketAddress => SocketBinding + + public SocketAcceptor() + { + } + + /** + * Binds to the specified <code>address</code> and handles incoming connections with the specified + * <code>handler</code>. Backlog value is configured to the value of <code>backlog</code> property. + * + * @throws IOException if failed to bind + */ + public void bind(SocketAddress address, IoHandler handler, IoServiceConfig config) throws IOException + { + if (address == null) + { + throw new NullPointerException("address"); + } + + if (handler == null) + { + throw new NullPointerException("handler"); + } + + if (!(address instanceof InetSocketAddress)) + { + throw new IllegalArgumentException("Unexpected address type: " + address.getClass()); + } + + if (((InetSocketAddress) address).getPort() == 0) + { + throw new IllegalArgumentException("Unsupported port number: 0"); + } + + if (config == null) + { + config = getDefaultConfig(); + } + + SocketBinding service = new SocketBinding(address, handler, config); + synchronized (services) + { + services.put(address, service); + } + service.start(); + } + + public Set getManagedSessions(SocketAddress address) + { + if (address == null) + { + throw new NullPointerException("address"); + } + + SocketBinding service = (SocketBinding) services.get(address); + + if (service == null) + { + throw new IllegalArgumentException("Address not bound: " + address); + } + + return Collections.unmodifiableSet(new HashSet(service.sessions)); + } + + public void unbind(SocketAddress address) + { + if (address == null) + { + throw new NullPointerException("address"); + } + + SocketBinding service; + synchronized (services) + { + service = (SocketBinding) services.remove(address); + } + + if (service == null) + { + throw new IllegalArgumentException("Address not bound: " + address); + } + + try + { + service.unbind(); + } + catch (IOException e) + { + //TODO: handle properly + e.printStackTrace(); + } + } + + public void unbindAll() + { + synchronized (services) + { + for (Iterator i = services.entrySet().iterator(); i.hasNext();) + { + SocketBinding service = (SocketBinding) i.next(); + try + { + service.unbind(); + } + catch (IOException e) + { + //TODO: handle properly + e.printStackTrace(); + } + i.remove(); + } + } + } + + public boolean isBound(SocketAddress address) + { + synchronized (services) + { + return services.containsKey(address); + } + } + + public Set getBoundAddresses() + { + throw new UnsupportedOperationException("getBoundAddresses() not supported by blocking IO Acceptor"); + } + + public IoServiceConfig getDefaultConfig() + { + return defaultConfig; + } + + private class SocketBinding implements Runnable + { + private final SocketAddress address; + private final ServerSocketChannel service; + //private final ServerSocket service; + private final IoServiceConfig config; + private final IoHandler handler; + private final List sessions = new ArrayList(); + private volatile boolean stopped = false; + private Thread runner; + + SocketBinding(SocketAddress address, IoHandler handler, IoServiceConfig config) throws IOException + { + this.address = address; + this.handler = handler; + this.config = config; + + service = ServerSocketChannel.open(); + service.socket().bind(address); + + //service = new ServerSocket(); + //service.bind(address); + } + + void unbind() throws IOException + { + stopped = true; + //shutdown all sessions + for (Iterator i = sessions.iterator(); i.hasNext();) + { + ((SocketSessionImpl) i.next()).close(); + i.remove(); + } + + //close server socket + service.close(); + if (runner != null) + { + try + { + runner.join(); + } + catch (InterruptedException e) + { + //ignore and return + System.err.println("Warning: interrupted on unbind(" + address + ")"); + } + } + } + + void start() + { + runner = new Thread(this); + runner.start(); + } + + public void run() + { + while (!stopped) + { + try + { + accept(); + } + catch (Exception e) + { + //handle this better... + e.printStackTrace(); + } + } + } + + private void accept() throws Exception + { + //accept(new SimpleSocketChannel(service.accept())); + accept(service.accept()); + } + + private void accept(ByteChannel channel) throws Exception + { + //SocketChannel channel; + //start session + SocketSessionImpl session = new SocketSessionImpl(SocketAcceptor.this, + (SocketSessionConfig) defaultConfig.getSessionConfig(), + handler, + channel, + address); + //signal start etc... + sessions.add(session); + + //TODO + //need to set up filter chains somehow... (this is copied from connector...) + getFilterChainBuilder().buildFilterChain(session.getFilterChain()); + config.getFilterChainBuilder().buildFilterChain(session.getFilterChain()); + config.getThreadModel().buildFilterChain(session.getFilterChain()); + ((SocketFilterChain) session.getFilterChain()).sessionCreated(session); + + session.start(); + //not sure if this will work... socket is already opened before the created callback is called... + ((SocketFilterChain) session.getFilterChain()).sessionOpened(session); + } + } +} diff --git a/java/common/src/org/apache/qpid/bio/SocketConnector.java b/java/common/src/org/apache/qpid/bio/SocketConnector.java new file mode 100644 index 0000000000..b107c44726 --- /dev/null +++ b/java/common/src/org/apache/qpid/bio/SocketConnector.java @@ -0,0 +1,150 @@ +/* + * @(#) $Id: SocketConnector.java 389042 2006-03-27 07:49:41Z trustin $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.bio; + +import org.apache.mina.common.ConnectFuture; +import org.apache.mina.common.IoHandler; +import org.apache.mina.common.IoServiceConfig; +import org.apache.mina.common.support.BaseIoConnector; +import org.apache.mina.common.support.DefaultConnectFuture; +import org.apache.mina.transport.socket.nio.SocketConnectorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; +import java.nio.channels.ByteChannel; +import java.nio.channels.SocketChannel; + +/** + */ +public class SocketConnector extends BaseIoConnector +{ + /** + * @noinspection StaticNonFinalField + */ + private static final Sequence idSequence = new Sequence(); + + private final Object lock = new Object(); + private final String threadName = "SocketConnector-" + idSequence.nextId(); + private final IoServiceConfig defaultConfig = new SocketConnectorConfig(); + private final Set managedSessions = Collections.synchronizedSet(new HashSet()); + + /** + * Create a connector with a single processing thread + */ + public SocketConnector() + { + } + + public IoServiceConfig getDefaultConfig() + { + return defaultConfig; + } + + public ConnectFuture connect(SocketAddress address, IoHandler handler, IoServiceConfig config) + { + return connect(address, null, handler, config); + } + + public ConnectFuture connect(SocketAddress address, SocketAddress localAddress, + IoHandler handler, IoServiceConfig config) + { + if (address == null) + { + throw new NullPointerException("address"); + } + if (handler == null) + { + throw new NullPointerException("handler"); + } + + if (! (address instanceof InetSocketAddress)) + { + throw new IllegalArgumentException("Unexpected address type: " + address.getClass()); + } + if (localAddress != null && !(localAddress instanceof InetSocketAddress)) + { + throw new IllegalArgumentException("Unexpected local address type: " + localAddress.getClass()); + } + if (config == null) + { + config = getDefaultConfig(); + } + + DefaultConnectFuture future = new DefaultConnectFuture(); + try + { + + //Socket socket = new Socket(); + //socket.connect(address); + //SimpleSocketChannel channel = new SimpleSocketChannel(socket); + //SocketAddress serviceAddress = socket.getRemoteSocketAddress(); + + SocketChannel channel = SocketChannel.open(address); + channel.configureBlocking(true); + SocketAddress serviceAddress = channel.socket().getRemoteSocketAddress(); + + + SocketSessionImpl session = newSession(channel, handler, config, channel.socket().getRemoteSocketAddress()); + future.setSession(session); + } + catch (IOException e) + { + future.setException(e); + } + + return future; + } + + private SocketSessionImpl newSession(ByteChannel channel, IoHandler handler, IoServiceConfig config, SocketAddress serviceAddress) + throws IOException + { + SocketSessionImpl session = new SocketSessionImpl(this, + (SocketSessionConfig) config.getSessionConfig(), + handler, + channel, + serviceAddress); + try + { + getFilterChainBuilder().buildFilterChain(session.getFilterChain()); + config.getFilterChainBuilder().buildFilterChain(session.getFilterChain()); + config.getThreadModel().buildFilterChain(session.getFilterChain()); + ((SocketFilterChain) session.getFilterChain()).sessionCreated(session); + + session.start(); + //not sure if this will work... socket is already opened before the created callback is called... + ((SocketFilterChain) session.getFilterChain()).sessionOpened(session); + } + catch (Throwable e) + { + throw (IOException) new IOException("Failed to create a session.").initCause(e); + } + + //TODO: figure out how the managed session are used/ what they are etc. + //session.getManagedSessions().add( session ); + + + return session; + } +} diff --git a/java/common/src/org/apache/qpid/bio/SocketFilterChain.java b/java/common/src/org/apache/qpid/bio/SocketFilterChain.java new file mode 100644 index 0000000000..f00a1535aa --- /dev/null +++ b/java/common/src/org/apache/qpid/bio/SocketFilterChain.java @@ -0,0 +1,62 @@ +/* + * @(#) $Id: SocketFilterChain.java 398039 2006-04-28 23:36:27Z proyal $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.bio; + +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoFilter.WriteRequest; +import org.apache.mina.common.IoSession; +import org.apache.mina.common.support.AbstractIoFilterChain; + +import java.io.IOException; +import java.nio.channels.ClosedByInterruptException; + +/** + */ +class SocketFilterChain extends AbstractIoFilterChain +{ + + SocketFilterChain(IoSession parent) + { + super(parent); + } + + protected void doWrite(IoSession session, WriteRequest writeRequest) throws Exception + { + SocketSessionImpl s = (SocketSessionImpl) session; + + //write to socket + try + { + s.getChannel().write(((ByteBuffer) writeRequest.getMessage()).buf()); + + //notify of completion + writeRequest.getFuture().setWritten(true); + } + catch(ClosedByInterruptException e) + { + writeRequest.getFuture().setWritten(false); + } + } + + protected void doClose(IoSession session) throws IOException + { + SocketSessionImpl s = (SocketSessionImpl) session; + s.shutdown(); + } +} diff --git a/java/common/src/org/apache/qpid/bio/SocketSessionImpl.java b/java/common/src/org/apache/qpid/bio/SocketSessionImpl.java new file mode 100644 index 0000000000..d534093533 --- /dev/null +++ b/java/common/src/org/apache/qpid/bio/SocketSessionImpl.java @@ -0,0 +1,421 @@ +/* + * @(#) $Id: SocketSessionImpl.java 398039 2006-04-28 23:36:27Z proyal $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.bio; + +import org.apache.mina.common.IoFilter.WriteRequest; +import org.apache.mina.common.IoFilterChain; +import org.apache.mina.common.IoHandler; +import org.apache.mina.common.IoService; +import org.apache.mina.common.IoSessionConfig; +import org.apache.mina.common.RuntimeIOException; +import org.apache.mina.common.TransportType; +import org.apache.mina.common.support.BaseIoSession; +import org.apache.mina.common.support.BaseIoSessionConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfigImpl; + +import java.io.IOException; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.SocketException; +import java.nio.channels.ByteChannel; +import java.nio.channels.SocketChannel; + +/** + */ +class SocketSessionImpl extends BaseIoSession +{ + private final IoService manager; + private final SocketSessionConfig config; + private final SocketFilterChain filterChain; + private final IoHandler handler; + private final SocketAddress remoteAddress; + private final SocketAddress localAddress; + private final SocketAddress serviceAddress; + private final Socket socket; + private final ByteChannel channel; + private final Reader reader; + private Thread runner; + private int readBufferSize; + + /** + * Creates a new instance. + */ + SocketSessionImpl(IoService manager, + SocketSessionConfig config, + IoHandler handler, + ByteChannel channel, + SocketAddress serviceAddress) throws IOException + { + this.manager = manager; + this.filterChain = new SocketFilterChain(this); + this.handler = handler; + this.channel = channel; + if(channel instanceof SocketChannel) + { + socket = ((SocketChannel) channel).socket(); + } + else if(channel instanceof SimpleSocketChannel) + { + socket = ((SimpleSocketChannel) channel).socket(); + } + else + { + throw new IllegalArgumentException("Unrecognised channel type: " + channel.getClass()); + } + + this.remoteAddress = socket.getRemoteSocketAddress(); + this.localAddress = socket.getLocalSocketAddress(); + this.serviceAddress = serviceAddress; + + this.config = new SessionConfigImpl(config); + + reader = new Reader(handler, this); + } + + void start() + { + //create & start thread for this... + runner = new Thread(reader); + runner.start(); + } + + void shutdown() throws IOException + { + filterChain.sessionClosed( this ); + reader.stop(); + channel.close(); + } + + ByteChannel getChannel() + { + return channel; + } + + protected void write0(WriteRequest writeRequest) + { + filterChain.filterWrite(this, writeRequest); + } + + protected void close0() + { + filterChain.filterClose(this); + super.close0(); + } + + protected void updateTrafficMask() + { + //TODO + } + + public IoService getService() + { + return manager; + } + + public IoSessionConfig getConfig() + { + return config; + } + + public IoFilterChain getFilterChain() + { + return filterChain; + } + + public IoHandler getHandler() + { + return handler; + } + + public int getScheduledWriteRequests() + { + return 0; + } + + public int getScheduledWriteBytes() + { + return 0; + } + + public TransportType getTransportType() + { + return TransportType.SOCKET; + } + + public SocketAddress getRemoteAddress() + { + return remoteAddress; + } + + public SocketAddress getLocalAddress() + { + return localAddress; + } + + public SocketAddress getServiceAddress() + { + return serviceAddress; + } + + int getReadBufferSize() + { + return readBufferSize; + } + + private class SessionConfigImpl extends BaseIoSessionConfig implements SocketSessionConfig + { + SessionConfigImpl() + { + } + + SessionConfigImpl(SocketSessionConfig cfg) + { + setKeepAlive(cfg.isKeepAlive()); + setOobInline(cfg.isOobInline()); + setReceiveBufferSize(cfg.getReceiveBufferSize()); + readBufferSize = cfg.getReceiveBufferSize(); + setReuseAddress(cfg.isReuseAddress()); + setSendBufferSize(cfg.getSendBufferSize()); + setSoLinger(cfg.getSoLinger()); + setTcpNoDelay(cfg.isTcpNoDelay()); + if (getTrafficClass() != cfg.getTrafficClass()) + { + setTrafficClass(cfg.getTrafficClass()); + } + } + + + public boolean isKeepAlive() + { + try + { + return socket.getKeepAlive(); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public void setKeepAlive(boolean on) + { + try + { + socket.setKeepAlive(on); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public boolean isOobInline() + { + try + { + return socket.getOOBInline(); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public void setOobInline(boolean on) + { + try + { + socket.setOOBInline(on); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public boolean isReuseAddress() + { + try + { + return socket.getReuseAddress(); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public void setReuseAddress(boolean on) + { + try + { + socket.setReuseAddress(on); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public int getSoLinger() + { + try + { + return socket.getSoLinger(); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public void setSoLinger(int linger) + { + try + { + if (linger < 0) + { + socket.setSoLinger(false, 0); + } + else + { + socket.setSoLinger(true, linger); + } + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public boolean isTcpNoDelay() + { + try + { + return socket.getTcpNoDelay(); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public void setTcpNoDelay(boolean on) + { + try + { + socket.setTcpNoDelay(on); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public int getTrafficClass() + { + if (SocketSessionConfigImpl.isGetTrafficClassAvailable()) + { + try + { + return socket.getTrafficClass(); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + else + { + return 0; + } + } + + public void setTrafficClass(int tc) + { + if (SocketSessionConfigImpl.isSetTrafficClassAvailable()) + { + try + { + socket.setTrafficClass(tc); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + } + + public int getSendBufferSize() + { + try + { + return socket.getSendBufferSize(); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public void setSendBufferSize(int size) + { + if (SocketSessionConfigImpl.isSetSendBufferSizeAvailable()) + { + try + { + socket.setSendBufferSize(size); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + } + + public int getReceiveBufferSize() + { + try + { + return socket.getReceiveBufferSize(); + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + + public void setReceiveBufferSize(int size) + { + if (SocketSessionConfigImpl.isSetReceiveBufferSizeAvailable()) + { + try + { + socket.setReceiveBufferSize(size); + SocketSessionImpl.this.readBufferSize = size; + } + catch (SocketException e) + { + throw new RuntimeIOException(e); + } + } + } + } +} diff --git a/java/common/src/org/apache/qpid/codec/AMQCodecFactory.java b/java/common/src/org/apache/qpid/codec/AMQCodecFactory.java new file mode 100644 index 0000000000..c62befce6b --- /dev/null +++ b/java/common/src/org/apache/qpid/codec/AMQCodecFactory.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.codec; + +import org.apache.mina.filter.codec.ProtocolCodecFactory; +import org.apache.mina.filter.codec.ProtocolDecoder; +import org.apache.mina.filter.codec.ProtocolEncoder; + +public class AMQCodecFactory implements ProtocolCodecFactory +{ + private AMQEncoder _encoder = new AMQEncoder(); + + private AMQDecoder _frameDecoder; + + /** + * @param expectProtocolInitiation true if the first frame received is going to be + * a protocol initiation frame, false if it is going to be a standard AMQ data block. + * The former case is used for the broker, which always expects to received the + * protocol initiation first from a newly connected client. + */ + public AMQCodecFactory(boolean expectProtocolInitiation) + { + _frameDecoder = new AMQDecoder(expectProtocolInitiation); + } + + public ProtocolEncoder getEncoder() + { + return _encoder; + } + + public ProtocolDecoder getDecoder() + { + return _frameDecoder; + } +} diff --git a/java/common/src/org/apache/qpid/codec/AMQDecoder.java b/java/common/src/org/apache/qpid/codec/AMQDecoder.java new file mode 100644 index 0000000000..594ae11233 --- /dev/null +++ b/java/common/src/org/apache/qpid/codec/AMQDecoder.java @@ -0,0 +1,96 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.codec; + +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoSession; +import org.apache.mina.filter.codec.CumulativeProtocolDecoder; +import org.apache.mina.filter.codec.ProtocolDecoderOutput; +import org.apache.qpid.framing.AMQDataBlockDecoder; +import org.apache.qpid.framing.ProtocolInitiation; + +/** + * There is one instance of this class per session. Any changes or configuration done + * at run time to the encoders or decoders only affects decoding/encoding of the + * protocol session data to which is it bound. + * + */ +public class AMQDecoder extends CumulativeProtocolDecoder +{ + private AMQDataBlockDecoder _dataBlockDecoder = new AMQDataBlockDecoder(); + + private ProtocolInitiation.Decoder _piDecoder = new ProtocolInitiation.Decoder(); + + private boolean _expectProtocolInitiation; + + public AMQDecoder(boolean expectProtocolInitiation) + { + _expectProtocolInitiation = expectProtocolInitiation; + } + + protected boolean doDecode(IoSession session, ByteBuffer in, ProtocolDecoderOutput out) throws Exception + { + if (_expectProtocolInitiation) + { + return doDecodePI(session, in, out); + } + else + { + return doDecodeDataBlock(session, in, out); + } + } + + protected boolean doDecodeDataBlock(IoSession session, ByteBuffer in, ProtocolDecoderOutput out) throws Exception + { + int pos = in.position(); + boolean enoughData = _dataBlockDecoder.decodable(session, in); + in.position(pos); + if (!enoughData) + { + // returning false means it will leave the contents in the buffer and + // call us again when more data has been read + return false; + } + else + { + _dataBlockDecoder.decode(session, in, out); + return true; + } + } + + private boolean doDecodePI(IoSession session, ByteBuffer in, ProtocolDecoderOutput out) throws Exception + { + boolean enoughData = _piDecoder.decodable(session, in); + if (!enoughData) + { + // returning false means it will leave the contents in the buffer and + // call us again when more data has been read + return false; + } + else + { + _piDecoder.decode(session, in, out); + return true; + } + } + + public void setExpectProtocolInitiation(boolean expectProtocolInitiation) + { + _expectProtocolInitiation = expectProtocolInitiation; + } +} diff --git a/java/common/src/org/apache/qpid/codec/AMQEncoder.java b/java/common/src/org/apache/qpid/codec/AMQEncoder.java new file mode 100644 index 0000000000..7d5e8182a6 --- /dev/null +++ b/java/common/src/org/apache/qpid/codec/AMQEncoder.java @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.codec; + +import org.apache.mina.filter.codec.ProtocolEncoder; +import org.apache.mina.filter.codec.ProtocolEncoderOutput; +import org.apache.mina.common.IoSession; +import org.apache.qpid.framing.AMQDataBlockEncoder; + +public class AMQEncoder implements ProtocolEncoder +{ + private AMQDataBlockEncoder _dataBlockEncoder = new AMQDataBlockEncoder(); + + public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception + { + _dataBlockEncoder.encode(session, message, out); + } + + public void dispose(IoSession session) throws Exception + { + + } +} diff --git a/java/common/src/org/apache/qpid/configuration/Configured.java b/java/common/src/org/apache/qpid/configuration/Configured.java new file mode 100644 index 0000000000..cb5e8aff1d --- /dev/null +++ b/java/common/src/org/apache/qpid/configuration/Configured.java @@ -0,0 +1,41 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.configuration; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; + +/** + * Marks a field as being "configured" externally. + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface Configured +{ + /** + * The Commons Configuration path to the configuration element + */ + String path(); + + /** + * The default value to use should the path not be found in the configuration source + */ + String defaultValue(); +} diff --git a/java/common/src/org/apache/qpid/configuration/PropertyException.java b/java/common/src/org/apache/qpid/configuration/PropertyException.java new file mode 100644 index 0000000000..f148ffc0b7 --- /dev/null +++ b/java/common/src/org/apache/qpid/configuration/PropertyException.java @@ -0,0 +1,62 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.configuration; + +import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; + +/** + * Indicates an error parsing a property expansion. + */ +public class PropertyException extends AMQException +{ + public PropertyException(String message) + { + super(message); + } + + public PropertyException(String msg, Throwable t) + { + super(msg, t); + } + + public PropertyException(int errorCode, String msg, Throwable t) + { + super(errorCode, msg, t); + } + + public PropertyException(int errorCode, String msg) + { + super(errorCode, msg); + } + + public PropertyException(Logger logger, String msg, Throwable t) + { + super(logger, msg, t); + } + + public PropertyException(Logger logger, String msg) + { + super(logger, msg); + } + + public PropertyException(Logger logger, int errorCode, String msg) + { + super(logger, errorCode, msg); + } +} diff --git a/java/common/src/org/apache/qpid/configuration/PropertyUtils.java b/java/common/src/org/apache/qpid/configuration/PropertyUtils.java new file mode 100644 index 0000000000..bd4000d3c4 --- /dev/null +++ b/java/common/src/org/apache/qpid/configuration/PropertyUtils.java @@ -0,0 +1,153 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.configuration; + +import java.util.ArrayList; +import java.util.Iterator; + +/** + * Based on code in Apache Ant, this utility class handles property expansion. This + * is most useful in config files and so on. + */ +public class PropertyUtils +{ + /** + * Replaces <code>${xxx}</code> style constructions in the given value + * with the string value of the corresponding data types. Replaces only system + * properties + * + * @param value The string to be scanned for property references. + * May be <code>null</code>, in which case this + * method returns immediately with no effect. + * @return the original string with the properties replaced, or + * <code>null</code> if the original string is <code>null</code>. + * @throws PropertyException if the string contains an opening + * <code>${</code> without a closing + * <code>}</code> + */ + public static String replaceProperties(String value) throws PropertyException + { + if (value == null) + { + return null; + } + + ArrayList<String> fragments = new ArrayList<String>(); + ArrayList<String> propertyRefs = new ArrayList<String>(); + parsePropertyString(value, fragments, propertyRefs); + + StringBuffer sb = new StringBuffer(); + Iterator j = propertyRefs.iterator(); + + for (String fragment : fragments) + { + if (fragment == null) + { + String propertyName = (String) j.next(); + + // try to get it from the project or keys + // Backward compatibility + String replacement = System.getProperty(propertyName); + + if (replacement == null) + { + throw new PropertyException("Property ${" + propertyName + + "} has not been set"); + } + fragment = replacement; + } + sb.append(fragment); + } + + return sb.toString(); + } + + /** + * Default parsing method. Parses the supplied value for properties which are specified + * using ${foo} syntax. $X is left as is, and $$ specifies a single $. + * @param value the property string to parse + * @param fragments is populated with the string fragments. A null means "insert a + * property value here. The number of nulls in the list when populated is equal to the + * size of the propertyRefs list + * @param propertyRefs populated with the property names to be added into the final + * String. + */ + private static void parsePropertyString(String value, ArrayList<String> fragments, + ArrayList<String> propertyRefs) + throws PropertyException + { + int prev = 0; + int pos; + //search for the next instance of $ from the 'prev' position + while ((pos = value.indexOf("$", prev)) >= 0) + { + + //if there was any text before this, add it as a fragment + if (pos > 0) + { + fragments.add(value.substring(prev, pos)); + } + //if we are at the end of the string, we tack on a $ + //then move past it + if (pos == (value.length() - 1)) + { + fragments.add("$"); + prev = pos + 1; + } + else if (value.charAt(pos + 1) != '{') + { + //peek ahead to see if the next char is a property or not + //not a property: insert the char as a literal + if (value.charAt(pos + 1) == '$') + { + // two $ map to one $ + fragments.add("$"); + prev = pos + 2; + } + else + { + // $X maps to $X for all values of X!='$' + fragments.add(value.substring(pos, pos + 2)); + prev = pos + 2; + } + } + else + { + // property found, extract its name or bail on a typo + int endName = value.indexOf('}', pos); + if (endName < 0) + { + throw new PropertyException("Syntax error in property: " + + value); + } + String propertyName = value.substring(pos + 2, endName); + fragments.add(null); + propertyRefs.add(propertyName); + prev = endName + 1; + } + } + //no more $ signs found + //if there is any tail to the file, append it + if (prev < value.length()) + { + fragments.add(value.substring(prev)); + } + } + + +} diff --git a/java/common/src/org/apache/qpid/exchange/ExchangeDefaults.java b/java/common/src/org/apache/qpid/exchange/ExchangeDefaults.java new file mode 100644 index 0000000000..84a5836ff7 --- /dev/null +++ b/java/common/src/org/apache/qpid/exchange/ExchangeDefaults.java @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.exchange; + +public class ExchangeDefaults +{ + public final static String TOPIC_EXCHANGE_NAME = "amq.topic"; + + public final static String TOPIC_EXCHANGE_CLASS = "topic"; + + public final static String DIRECT_EXCHANGE_NAME = "amq.direct"; + + public final static String DIRECT_EXCHANGE_CLASS = "direct"; + + public final static String HEADERS_EXCHANGE_NAME = "amq.match"; + + public final static String HEADERS_EXCHANGE_CLASS = "headers"; +} diff --git a/java/common/src/org/apache/qpid/framing/AMQBody.java b/java/common/src/org/apache/qpid/framing/AMQBody.java new file mode 100644 index 0000000000..fad0450960 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQBody.java @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +public abstract class AMQBody +{ + protected abstract byte getType(); + + /** + * Get the size of the body + * @return unsigned short + */ + protected abstract int getSize(); + + protected abstract void writePayload(ByteBuffer buffer); + + protected abstract void populateFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException; +} diff --git a/java/common/src/org/apache/qpid/framing/AMQDataBlock.java b/java/common/src/org/apache/qpid/framing/AMQDataBlock.java new file mode 100644 index 0000000000..797df391c3 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQDataBlock.java @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +/** + * A data block represents something that has a size in bytes and the ability to write itself to a byte + * buffer (similar to a byte array). + */ +public abstract class AMQDataBlock implements EncodableAMQDataBlock +{ + /** + * Get the size of buffer needed to store the byte representation of this + * frame. + * @return unsigned integer + */ + public abstract long getSize(); + + /** + * Writes the datablock to the specified buffer. + * @param buffer + */ + public abstract void writePayload(ByteBuffer buffer); +} diff --git a/java/common/src/org/apache/qpid/framing/AMQDataBlockDecoder.java b/java/common/src/org/apache/qpid/framing/AMQDataBlockDecoder.java new file mode 100644 index 0000000000..3379cc18e9 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQDataBlockDecoder.java @@ -0,0 +1,113 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoSession; +import org.apache.mina.filter.codec.ProtocolDecoderOutput; + +import java.util.HashMap; +import java.util.Map; + +public class AMQDataBlockDecoder +{ + Logger _logger = Logger.getLogger(AMQDataBlockDecoder.class); + + private final Map _supportedBodies = new HashMap(); + + public AMQDataBlockDecoder() + { + _supportedBodies.put(new Byte(AMQMethodBody.TYPE), AMQMethodBodyFactory.getInstance()); + _supportedBodies.put(new Byte(ContentHeaderBody.TYPE), ContentHeaderBodyFactory.getInstance()); + _supportedBodies.put(new Byte(ContentBody.TYPE), ContentBodyFactory.getInstance()); + _supportedBodies.put(new Byte(HeartbeatBody.TYPE), new HeartbeatBodyFactory()); + } + + public boolean decodable(IoSession session, ByteBuffer in) throws AMQFrameDecodingException + { + // type, channel, body size and end byte + if (in.remaining() < (1 + 2 + 4 + 1)) + { + return false; + } + + final byte type = in.get(); + final int channel = in.getUnsignedShort(); + final long bodySize = in.getUnsignedInt(); + + // bodySize can be zero + if (type <= 0 || channel < 0 || bodySize < 0) + { + throw new AMQFrameDecodingException("Undecodable frame: type = " + type + " channel = " + channel + + " bodySize = " + bodySize); + } + + if (in.remaining() < (bodySize + 1)) + { + return false; + } + return true; + } + + private boolean isSupportedFrameType(byte frameType) + { + final boolean result = _supportedBodies.containsKey(new Byte(frameType)); + + if (!result) + { + _logger.warn("AMQDataBlockDecoder does not handle frame type " + frameType); + } + + return result; + } + + protected Object createAndPopulateFrame(ByteBuffer in) + throws AMQFrameDecodingException + { + final byte type = in.get(); + if (!isSupportedFrameType(type)) + { + throw new AMQFrameDecodingException("Unsupported frame type: " + type); + } + final int channel = in.getUnsignedShort(); + final long bodySize = in.getUnsignedInt(); + + BodyFactory bodyFactory = (BodyFactory) _supportedBodies.get(new Byte(type)); + if (bodyFactory == null) + { + throw new AMQFrameDecodingException("Unsupported body type: " + type); + } + AMQFrame frame = new AMQFrame(); + + frame.populateFromBuffer(in, channel, bodySize, bodyFactory); + + byte marker = in.get(); + if ((marker & 0xFF) != 0xCE) + { + throw new AMQFrameDecodingException("End of frame marker not found. Read " + marker + " size=" + bodySize + " type=" + type); + } + return frame; + } + + public void decode(IoSession session, ByteBuffer in, ProtocolDecoderOutput out) + throws Exception + { + out.write(createAndPopulateFrame(in)); + } +} diff --git a/java/common/src/org/apache/qpid/framing/AMQDataBlockEncoder.java b/java/common/src/org/apache/qpid/framing/AMQDataBlockEncoder.java new file mode 100644 index 0000000000..b0430afac9 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQDataBlockEncoder.java @@ -0,0 +1,62 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoSession; +import org.apache.mina.filter.codec.demux.MessageEncoder; +import org.apache.mina.filter.codec.ProtocolEncoderOutput; + +import java.util.HashSet; +import java.util.Set; + +public class AMQDataBlockEncoder implements MessageEncoder +{ + Logger _logger = Logger.getLogger(AMQDataBlockEncoder.class); + + private Set _messageTypes; + + public AMQDataBlockEncoder() + { + _messageTypes = new HashSet(); + _messageTypes.add(EncodableAMQDataBlock.class); + } + + public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception + { + final AMQDataBlock frame = (AMQDataBlock) message; + int frameSize = (int)frame.getSize(); + final ByteBuffer buffer = ByteBuffer.allocate(frameSize); + //buffer.setAutoExpand(true); + frame.writePayload(buffer); + + if (_logger.isDebugEnabled()) + { + _logger.debug("Encoded frame byte-buffer is '" + EncodingUtils.convertToHexString(buffer) + "'"); + } + + buffer.flip(); + out.write(buffer); + } + + public Set getMessageTypes() + { + return _messageTypes; + } +} diff --git a/java/common/src/org/apache/qpid/framing/AMQFrame.java b/java/common/src/org/apache/qpid/framing/AMQFrame.java new file mode 100644 index 0000000000..17f635c06a --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQFrame.java @@ -0,0 +1,73 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +public class AMQFrame extends AMQDataBlock implements EncodableAMQDataBlock +{ + public int channel; + + public AMQBody bodyFrame; + + public AMQFrame() + { + } + + public AMQFrame(int channel, AMQBody bodyFrame) + { + this.channel = channel; + this.bodyFrame = bodyFrame; + } + + public long getSize() + { + return 1 + 2 + 4 + bodyFrame.getSize() + 1; + } + + public void writePayload(ByteBuffer buffer) + { + buffer.put(bodyFrame.getType()); + // TODO: how does channel get populated + EncodingUtils.writeUnsignedShort(buffer, channel); + EncodingUtils.writeUnsignedInteger(buffer, bodyFrame.getSize()); + bodyFrame.writePayload(buffer); + buffer.put((byte) 0xCE); + } + + /** + * + * @param buffer + * @param channel unsigned short + * @param bodySize unsigned integer + * @param bodyFactory + * @throws AMQFrameDecodingException + */ + public void populateFromBuffer(ByteBuffer buffer, int channel, long bodySize, BodyFactory bodyFactory) + throws AMQFrameDecodingException + { + this.channel = channel; + bodyFrame = bodyFactory.createBody(buffer); + bodyFrame.populateFromBuffer(buffer, bodySize); + } + + public String toString() + { + return "Frame channelId: " + channel + ", bodyFrame: " + String.valueOf(bodyFrame); + } +} diff --git a/java/common/src/org/apache/qpid/framing/AMQFrameDecodingException.java b/java/common/src/org/apache/qpid/framing/AMQFrameDecodingException.java new file mode 100644 index 0000000000..4e8a8c62b1 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQFrameDecodingException.java @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; + +public class AMQFrameDecodingException extends AMQException +{ + public AMQFrameDecodingException(String message) + { + super(message); + } + + public AMQFrameDecodingException(String message, Throwable t) + { + super(message, t); + } + + public AMQFrameDecodingException(Logger log, String message) + { + super(log, message); + } + + public AMQFrameDecodingException(Logger log, String message, Throwable t) + { + super(log, message, t); + } + +} diff --git a/java/common/src/org/apache/qpid/framing/AMQMethodBody.java b/java/common/src/org/apache/qpid/framing/AMQMethodBody.java new file mode 100644 index 0000000000..841295e538 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQMethodBody.java @@ -0,0 +1,87 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.AMQChannelException; + +public abstract class AMQMethodBody extends AMQBody +{ + public static final byte TYPE = 1; + + /** unsigned short */ + protected abstract int getBodySize(); + + /** + * @return unsigned short + */ + protected abstract int getClazz(); + + /** + * @return unsigned short + */ + protected abstract int getMethod(); + + protected abstract void writeMethodPayload(ByteBuffer buffer); + + protected byte getType() + { + return TYPE; + } + + protected int getSize() + { + return 2 + 2 + getBodySize(); + } + + protected void writePayload(ByteBuffer buffer) + { + EncodingUtils.writeUnsignedShort(buffer, getClazz()); + EncodingUtils.writeUnsignedShort(buffer, getMethod()); + writeMethodPayload(buffer); + } + + protected abstract void populateMethodBodyFromBuffer(ByteBuffer buffer) throws AMQFrameDecodingException; + + protected void populateFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException + { + populateMethodBodyFromBuffer(buffer); + } + + public String toString() + { + StringBuffer buf = new StringBuffer(getClass().toString()); + buf.append(" Class: ").append(getClazz()); + buf.append(" Method: ").append(getMethod()); + return buf.toString(); + } + + /** + * Creates an AMQChannelException for the corresponding body type (a channel exception + * should include the class and method ids of the body it resulted from). + */ + public AMQChannelException getChannelException(int code, String message) + { + return new AMQChannelException(code, message, getClazz(), getMethod()); + } + + public AMQChannelException getChannelException(int code, String message, Throwable cause) + { + return new AMQChannelException(code, message, getClazz(), getMethod(), cause); + } +} diff --git a/java/common/src/org/apache/qpid/framing/AMQMethodBodyFactory.java b/java/common/src/org/apache/qpid/framing/AMQMethodBodyFactory.java new file mode 100644 index 0000000000..97f594061e --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQMethodBodyFactory.java @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; + +public class AMQMethodBodyFactory implements BodyFactory +{ + private static final Logger _log = Logger.getLogger(AMQMethodBodyFactory.class); + + private static final AMQMethodBodyFactory _instance = new AMQMethodBodyFactory(); + + public static AMQMethodBodyFactory getInstance() + { + return _instance; + } + + private AMQMethodBodyFactory() + { + _log.debug("Creating method body factory"); + } + + public AMQBody createBody(ByteBuffer in) throws AMQFrameDecodingException + { + return MethodBodyDecoderRegistry.get(in.getUnsignedShort(), in.getUnsignedShort()); + } +} diff --git a/java/common/src/org/apache/qpid/framing/AMQProtocolClassException.java b/java/common/src/org/apache/qpid/framing/AMQProtocolClassException.java new file mode 100644 index 0000000000..8a8175bbc8 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQProtocolClassException.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +public class AMQProtocolClassException extends AMQProtocolHeaderException +{ + public AMQProtocolClassException(String message) + { + super(message); + } +}
\ No newline at end of file diff --git a/java/common/src/org/apache/qpid/framing/AMQProtocolHeaderException.java b/java/common/src/org/apache/qpid/framing/AMQProtocolHeaderException.java new file mode 100644 index 0000000000..6809c3d21e --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQProtocolHeaderException.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.qpid.AMQException; + +public class AMQProtocolHeaderException extends AMQException +{ + public AMQProtocolHeaderException(String message) + { + super(message); + } +} diff --git a/java/common/src/org/apache/qpid/framing/AMQProtocolInstanceException.java b/java/common/src/org/apache/qpid/framing/AMQProtocolInstanceException.java new file mode 100644 index 0000000000..7f5b26010d --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQProtocolInstanceException.java @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +public class AMQProtocolInstanceException extends AMQProtocolHeaderException +{ + public AMQProtocolInstanceException(String message) + { + super(message); + } +} diff --git a/java/common/src/org/apache/qpid/framing/AMQProtocolVersionException.java b/java/common/src/org/apache/qpid/framing/AMQProtocolVersionException.java new file mode 100644 index 0000000000..4f5677b41a --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/AMQProtocolVersionException.java @@ -0,0 +1,30 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +/** + * Exception that is thrown when the client and server differ on expected protocol version (header) information. + * + */ +public class AMQProtocolVersionException extends AMQProtocolHeaderException +{ + public AMQProtocolVersionException(String message) + { + super(message); + } +} diff --git a/java/common/src/org/apache/qpid/framing/BasicContentHeaderProperties.java b/java/common/src/org/apache/qpid/framing/BasicContentHeaderProperties.java new file mode 100644 index 0000000000..20eafa0be7 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/BasicContentHeaderProperties.java @@ -0,0 +1,592 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; + +public class BasicContentHeaderProperties implements ContentHeaderProperties +{ + private static final Logger _logger = Logger.getLogger(BasicContentHeaderProperties.class); + + /** + * We store the encoded form when we decode the content header so that if we need to + * write it out without modifying it we can do so without incurring the expense of + * reencoding it + */ + private byte[] _encodedForm; + + /** + * Flag indicating whether the entire content header has been decoded yet + */ + private boolean _decoded = true; + + /** + * We have some optimisations for partial decoding for maximum performance. The headers are used in the broker + * for routing in some cases so we can decode that separately. + */ + private boolean _decodedHeaders = true; + + /** + * We have some optimisations for partial decoding for maximum performance. The content type is used by all + * clients to determine the message type + */ + private boolean _decodedContentType = true; + + private String _contentType; + + private String _encoding; + + private FieldTable _headers; + + private byte _deliveryMode; + + private byte _priority; + + private String _correlationId; + + private String _replyTo; + + private long _expiration; + + private String _messageId; + + private long _timestamp; + + private String _type; + + private String _userId; + + private String _appId; + + private String _clusterId; + + private int _propertyFlags = 0; + + public BasicContentHeaderProperties() + { + } + + public int getPropertyListSize() + { + if (_encodedForm != null) + { + return _encodedForm.length; + } + else + { + int size = 0; + + if ((_propertyFlags & (1 << 15)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_contentType); + } + if ((_propertyFlags & (1 << 14)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_encoding); + } + if ((_propertyFlags & (1 << 13)) > 0) + { + size += EncodingUtils.encodedFieldTableLength(_headers); + } + if ((_propertyFlags & (1 << 12)) > 0) + { + size += 1; + } + if ((_propertyFlags & (1 << 11)) > 0) + { + size += 1; + } + if ((_propertyFlags & (1 << 10)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_correlationId); + } + if ((_propertyFlags & (1 << 9)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_replyTo); + } + if ((_propertyFlags & (1 << 8)) > 0) + { + size += EncodingUtils.encodedShortStringLength(String.valueOf(_expiration)); + } + if ((_propertyFlags & (1 << 7)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_messageId); + } + if ((_propertyFlags & (1 << 6)) > 0) + { + size += 8; + } + if ((_propertyFlags & (1 << 5)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_type); + } + if ((_propertyFlags & (1 << 4)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_userId); + } + if ((_propertyFlags & (1 << 3)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_appId); + } + if ((_propertyFlags & (1 << 2)) > 0) + { + size += EncodingUtils.encodedShortStringLength(_clusterId); + } + return size; + } + } + + private void clearEncodedForm() + { + if (!_decoded && _encodedForm != null) + { + //decode(); + } + _encodedForm = null; + } + + public void setPropertyFlags(int propertyFlags) + { + clearEncodedForm(); + _propertyFlags = propertyFlags; + } + + public int getPropertyFlags() + { + return _propertyFlags; + } + + public void writePropertyListPayload(ByteBuffer buffer) + { + if (_encodedForm != null) + { + buffer.put(_encodedForm); + } + else + { + if ((_propertyFlags & (1 << 15)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _contentType); + } + if ((_propertyFlags & (1 << 14)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _encoding); + } + if ((_propertyFlags & (1 << 13)) > 0) + { + EncodingUtils.writeFieldTableBytes(buffer, _headers); + } + if ((_propertyFlags & (1 << 12)) > 0) + { + buffer.put(_deliveryMode); + } + if ((_propertyFlags & (1 << 11)) > 0) + { + buffer.put(_priority); + } + if ((_propertyFlags & (1 << 10)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _correlationId); + } + if ((_propertyFlags & (1 << 9)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _replyTo); + } + if ((_propertyFlags & (1 << 8)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, String.valueOf(_expiration)); + } + if ((_propertyFlags & (1 << 7)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _messageId); + } + if ((_propertyFlags & (1 << 6)) > 0) + { + EncodingUtils.writeUnsignedInteger(buffer, 0/*timestamp msb*/); + EncodingUtils.writeUnsignedInteger(buffer, _timestamp); + } + if ((_propertyFlags & (1 << 5)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _type); + } + if ((_propertyFlags & (1 << 4)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _userId); + } + if ((_propertyFlags & (1 << 3)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _appId); + } + if ((_propertyFlags & (1 << 2)) > 0) + { + EncodingUtils.writeShortStringBytes(buffer, _clusterId); + } + } + } + + public void populatePropertiesFromBuffer(ByteBuffer buffer, int propertyFlags, int size) + throws AMQFrameDecodingException + { + _propertyFlags = propertyFlags; + + if (_logger.isDebugEnabled()) + { + _logger.debug("Property flags: " + _propertyFlags); + } + decode(buffer); + /*_encodedForm = new byte[size]; + buffer.get(_encodedForm, 0, size); + _decoded = false; + _decodedHeaders = false; + _decodedContentType = false;*/ + } + + private void decode(ByteBuffer buffer) + { + //ByteBuffer buffer = ByteBuffer.wrap(_encodedForm); + int pos = buffer.position(); + try + { + if ((_propertyFlags & (1 << 15)) > 0) + { + _contentType = EncodingUtils.readShortString(buffer); + } + if ((_propertyFlags & (1 << 14)) > 0) + { + _encoding = EncodingUtils.readShortString(buffer); + } + if ((_propertyFlags & (1 << 13)) > 0) + { + _headers = EncodingUtils.readFieldTable(buffer); + } + if ((_propertyFlags & (1 << 12)) > 0) + { + _deliveryMode = buffer.get(); + } + if ((_propertyFlags & (1 << 11)) > 0) + { + _priority = buffer.get(); + } + if ((_propertyFlags & (1 << 10)) > 0) + { + _correlationId = EncodingUtils.readShortString(buffer); + } + if ((_propertyFlags & (1 << 9)) > 0) + { + _replyTo = EncodingUtils.readShortString(buffer); + } + if ((_propertyFlags & (1 << 8)) > 0) + { + _expiration = Long.parseLong(EncodingUtils.readShortString(buffer)); + } + if ((_propertyFlags & (1 << 7)) > 0) + { + _messageId = EncodingUtils.readShortString(buffer); + } + if ((_propertyFlags & (1 << 6)) > 0) + { + // Discard msb from AMQ timestamp + buffer.getUnsignedInt(); + _timestamp = buffer.getUnsignedInt(); + } + if ((_propertyFlags & (1 << 5)) > 0) + { + _type = EncodingUtils.readShortString(buffer); + } + if ((_propertyFlags & (1 << 4)) > 0) + { + _userId = EncodingUtils.readShortString(buffer); + } + if ((_propertyFlags & (1 << 3)) > 0) + { + _appId = EncodingUtils.readShortString(buffer); + } + if ((_propertyFlags & (1 << 2)) > 0) + { + _clusterId = EncodingUtils.readShortString(buffer); + } + } + catch (AMQFrameDecodingException e) + { + throw new RuntimeException("Error in content header data: " + e); + } + + final int endPos = buffer.position(); + buffer.position(pos); + final int len = endPos - pos; + _encodedForm = new byte[len]; + final int limit = buffer.limit(); + buffer.limit(endPos); + buffer.get(_encodedForm, 0, len); + buffer.limit(limit); + buffer.position(endPos); + _decoded = true; + } + + + private void decodeUpToHeaders() + { + ByteBuffer buffer = ByteBuffer.wrap(_encodedForm); + try + { + if ((_propertyFlags & (1 << 15)) > 0) + { + byte length = buffer.get(); + buffer.skip(length); + } + if ((_propertyFlags & (1 << 14)) > 0) + { + byte length = buffer.get(); + buffer.skip(length); + } + if ((_propertyFlags & (1 << 13)) > 0) + { + _headers = EncodingUtils.readFieldTable(buffer); + } + _decodedHeaders = true; + } + catch (AMQFrameDecodingException e) + { + throw new RuntimeException("Error in content header data: " + e); + } + } + + private void decodeUpToContentType() + { + ByteBuffer buffer = ByteBuffer.wrap(_encodedForm); + + if ((_propertyFlags & (1 << 15)) > 0) + { + _contentType = EncodingUtils.readShortString(buffer); + } + + _decodedContentType = true; + } + + private void decodeIfNecessary() + { + if (!_decoded) + { + //decode(); + } + } + + private void decodeHeadersIfNecessary() + { + if (!_decoded && !_decodedHeaders) + { + decodeUpToHeaders(); + } + } + + private void decodeContentTypeIfNecessary() + { + if (!_decoded && !_decodedContentType) + { + decodeUpToContentType(); + } + } + public String getContentType() + { + decodeContentTypeIfNecessary(); + return _contentType; + } + + public void setContentType(String contentType) + { + clearEncodedForm(); + _propertyFlags |= (1 << 15); + _contentType = contentType; + } + + public String getEncoding() + { + decodeIfNecessary(); + return _encoding; + } + + public void setEncoding(String encoding) + { + clearEncodedForm(); + _propertyFlags |= (1 << 14); + _encoding = encoding; + } + + public FieldTable getHeaders() + { + decodeHeadersIfNecessary(); + return _headers; + } + + public void setHeaders(FieldTable headers) + { + clearEncodedForm(); + _propertyFlags |= (1 << 13); + _headers = headers; + } + + public byte getDeliveryMode() + { + decodeIfNecessary(); + return _deliveryMode; + } + + public void setDeliveryMode(byte deliveryMode) + { + clearEncodedForm(); + _propertyFlags |= (1 << 12); + _deliveryMode = deliveryMode; + } + + public byte getPriority() + { + decodeIfNecessary(); + return _priority; + } + + public void setPriority(byte priority) + { + clearEncodedForm(); + _propertyFlags |= (1 << 11); + _priority = priority; + } + + public String getCorrelationId() + { + decodeIfNecessary(); + return _correlationId; + } + + public void setCorrelationId(String correlationId) + { + clearEncodedForm(); + _propertyFlags |= (1 << 10); + _correlationId = correlationId; + } + + public String getReplyTo() + { + decodeIfNecessary(); + return _replyTo; + } + + public void setReplyTo(String replyTo) + { + clearEncodedForm(); + _propertyFlags |= (1 << 9); + _replyTo = replyTo; + } + + public long getExpiration() + { + decodeIfNecessary(); + return _expiration; + } + + public void setExpiration(long expiration) + { + clearEncodedForm(); + _propertyFlags |= (1 << 8); + _expiration = expiration; + } + + + public String getMessageId() + { + decodeIfNecessary(); + return _messageId; + } + + public void setMessageId(String messageId) + { + clearEncodedForm(); + _propertyFlags |= (1 << 7); + _messageId = messageId; + } + + public long getTimestamp() + { + decodeIfNecessary(); + return _timestamp; + } + + public void setTimestamp(long timestamp) + { + clearEncodedForm(); + _propertyFlags |= (1 << 6); + _timestamp = timestamp; + } + + public String getType() + { + decodeIfNecessary(); + return _type; + } + + public void setType(String type) + { + clearEncodedForm(); + _propertyFlags |= (1 << 5); + _type = type; + } + + public String getUserId() + { + decodeIfNecessary(); + return _userId; + } + + public void setUserId(String userId) + { + clearEncodedForm(); + _propertyFlags |= (1 << 4); + _userId = userId; + } + + public String getAppId() + { + decodeIfNecessary(); + return _appId; + } + + public void setAppId(String appId) + { + clearEncodedForm(); + _propertyFlags |= (1 << 3); + _appId = appId; + } + + public String getClusterId() + { + decodeIfNecessary(); + return _clusterId; + } + + public void setClusterId(String clusterId) + { + clearEncodedForm(); + _propertyFlags |= (1 << 2); + _clusterId = clusterId; + } + + public String toString() + { + return "reply-to = " + _replyTo + " propertyFlags = " + _propertyFlags; + } +} diff --git a/java/common/src/org/apache/qpid/framing/BodyFactory.java b/java/common/src/org/apache/qpid/framing/BodyFactory.java new file mode 100644 index 0000000000..cd40558de8 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/BodyFactory.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +/** + * Any class that is capable of turning a stream of bytes into an AMQ structure must implement this interface. + */ +public interface BodyFactory +{ + AMQBody createBody(ByteBuffer in) throws AMQFrameDecodingException; +} diff --git a/java/common/src/org/apache/qpid/framing/CompositeAMQDataBlock.java b/java/common/src/org/apache/qpid/framing/CompositeAMQDataBlock.java new file mode 100644 index 0000000000..35e29aa064 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/CompositeAMQDataBlock.java @@ -0,0 +1,100 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +public class CompositeAMQDataBlock extends AMQDataBlock implements EncodableAMQDataBlock +{ + private ByteBuffer _encodedBlock; + + private AMQDataBlock[] _blocks; + + public CompositeAMQDataBlock(AMQDataBlock[] blocks) + { + _blocks = blocks; + } + + /** + * The encoded block will be logically first before the AMQDataBlocks which are encoded + * into the buffer afterwards. + * @param encodedBlock already-encoded data + * @param blocks some blocks to be encoded. + */ + public CompositeAMQDataBlock(ByteBuffer encodedBlock, AMQDataBlock[] blocks) + { + this(blocks); + _encodedBlock = encodedBlock; + } + + public AMQDataBlock[] getBlocks() + { + return _blocks; + } + + public ByteBuffer getEncodedBlock() + { + return _encodedBlock; + } + + public long getSize() + { + long frameSize = 0; + for (int i = 0; i < _blocks.length; i++) + { + frameSize += _blocks[i].getSize(); + } + if (_encodedBlock != null) + { + _encodedBlock.rewind(); + frameSize += _encodedBlock.remaining(); + } + return frameSize; + } + + public void writePayload(ByteBuffer buffer) + { + if (_encodedBlock != null) + { + buffer.put(_encodedBlock); + } + for (int i = 0; i < _blocks.length; i++) + { + _blocks[i].writePayload(buffer); + } + } + + public String toString() + { + if (_blocks == null) + { + return "No blocks contained in composite frame"; + } + else + { + StringBuilder buf = new StringBuilder(this.getClass().getName()); + buf.append("{encodedBlock=").append(_encodedBlock); + for (int i = 0 ; i < _blocks.length; i++) + { + buf.append(" ").append(i).append("=[").append(_blocks[i].toString()).append("]"); + } + buf.append("}"); + return buf.toString(); + } + } +} diff --git a/java/common/src/org/apache/qpid/framing/ContentBody.java b/java/common/src/org/apache/qpid/framing/ContentBody.java new file mode 100644 index 0000000000..a345d1d225 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/ContentBody.java @@ -0,0 +1,64 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +public class ContentBody extends AMQBody +{ + public static final byte TYPE = 3; + + public ByteBuffer payload; + + protected byte getType() + { + return TYPE; + } + + public int getSize() + { + return (payload == null?0:payload.limit()); + } + + public void writePayload(ByteBuffer buffer) + { + if (payload != null) + { + ByteBuffer copy = payload.duplicate(); + buffer.put(copy.rewind()); + } + } + + protected void populateFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException + { + if (size > 0) + { + payload = buffer.slice(); + payload.limit((int)size); + buffer.skip((int)size); + } + } + + public static AMQFrame createAMQFrame(int channelId, ContentBody body) + { + final AMQFrame frame = new AMQFrame(); + frame.channel = channelId; + frame.bodyFrame = body; + return frame; + } +} diff --git a/java/common/src/org/apache/qpid/framing/ContentBodyFactory.java b/java/common/src/org/apache/qpid/framing/ContentBodyFactory.java new file mode 100644 index 0000000000..1d6b72ce76 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/ContentBodyFactory.java @@ -0,0 +1,44 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; + +public class ContentBodyFactory implements BodyFactory +{ + private static final Logger _log = Logger.getLogger(AMQMethodBodyFactory.class); + + private static final ContentBodyFactory _instance = new ContentBodyFactory(); + + public static ContentBodyFactory getInstance() + { + return _instance; + } + + private ContentBodyFactory() + { + _log.debug("Creating content body factory"); + } + + public AMQBody createBody(ByteBuffer in) throws AMQFrameDecodingException + { + return new ContentBody(); + } +} + diff --git a/java/common/src/org/apache/qpid/framing/ContentHeaderBody.java b/java/common/src/org/apache/qpid/framing/ContentHeaderBody.java new file mode 100644 index 0000000000..35ce107831 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/ContentHeaderBody.java @@ -0,0 +1,112 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +public class ContentHeaderBody extends AMQBody +{ + public static final byte TYPE = 2; + + public int classId; + + public int weight; + + /** unsigned long but java can't handle that anyway when allocating byte array */ + public long bodySize; + + /** must never be null */ + public ContentHeaderProperties properties; + + public ContentHeaderBody() + { + } + + public ContentHeaderBody(ContentHeaderProperties props, int classId) + { + properties = props; + this.classId = classId; + } + + public ContentHeaderBody(int classId, int weight, ContentHeaderProperties props, long bodySize) + { + this(props, classId); + this.weight = weight; + this.bodySize = bodySize; + } + + protected byte getType() + { + return TYPE; + } + + protected void populateFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException + { + classId = buffer.getUnsignedShort(); + weight = buffer.getUnsignedShort(); + bodySize = buffer.getLong(); + int propertyFlags = buffer.getUnsignedShort(); + ContentHeaderPropertiesFactory factory = ContentHeaderPropertiesFactory.getInstance(); + properties = factory.createContentHeaderProperties(classId, propertyFlags, buffer, (int)size - 14); + } + + /** + * Helper method that is used currently by the persistence layer (by BDB at the moment). + * @param buffer + * @param size + * @return + * @throws AMQFrameDecodingException + */ + public static ContentHeaderBody createFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException + { + ContentHeaderBody body = new ContentHeaderBody(); + body.populateFromBuffer(buffer, size); + return body; + } + + public int getSize() + { + return 2 + 2 + 8 + 2 + properties.getPropertyListSize(); + } + + public void writePayload(ByteBuffer buffer) + { + EncodingUtils.writeUnsignedShort(buffer, classId); + EncodingUtils.writeUnsignedShort(buffer, weight); + buffer.putLong(bodySize); + EncodingUtils.writeUnsignedShort(buffer, properties.getPropertyFlags()); + properties.writePropertyListPayload(buffer); + } + + public static AMQFrame createAMQFrame(int channelId, int classId, int weight, BasicContentHeaderProperties properties, + long bodySize) + { + final AMQFrame frame = new AMQFrame(); + frame.channel = channelId; + frame.bodyFrame = new ContentHeaderBody(classId, weight, properties, bodySize); + return frame; + } + + public static AMQFrame createAMQFrame(int channelId, ContentHeaderBody body) + { + final AMQFrame frame = new AMQFrame(); + frame.channel = channelId; + frame.bodyFrame = body; + return frame; + } +} diff --git a/java/common/src/org/apache/qpid/framing/ContentHeaderBodyFactory.java b/java/common/src/org/apache/qpid/framing/ContentHeaderBodyFactory.java new file mode 100644 index 0000000000..236c5094fc --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/ContentHeaderBodyFactory.java @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; + +public class ContentHeaderBodyFactory implements BodyFactory +{ + private static final Logger _log = Logger.getLogger(AMQMethodBodyFactory.class); + + private static final ContentHeaderBodyFactory _instance = new ContentHeaderBodyFactory(); + + public static ContentHeaderBodyFactory getInstance() + { + return _instance; + } + + private ContentHeaderBodyFactory() + { + _log.debug("Creating content header body factory"); + } + + public AMQBody createBody(ByteBuffer in) throws AMQFrameDecodingException + { + // all content headers are the same - it is only the properties that differ. + // the content header body further delegates construction of properties + return new ContentHeaderBody(); + } + + +} diff --git a/java/common/src/org/apache/qpid/framing/ContentHeaderProperties.java b/java/common/src/org/apache/qpid/framing/ContentHeaderProperties.java new file mode 100644 index 0000000000..65b629bf17 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/ContentHeaderProperties.java @@ -0,0 +1,55 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +/** + * There will be an implementation of this interface for each content type. All content types have associated + * header properties and this provides a way to encode and decode them. + */ +public interface ContentHeaderProperties +{ + /** + * Writes the property list to the buffer, in a suitably encoded form. + * @param buffer The buffer to write to + */ + void writePropertyListPayload(ByteBuffer buffer); + + /** + * Populates the properties from buffer. + * @param buffer The buffer to read from. + * @param propertyFlags he property flags. + * @throws AMQFrameDecodingException when the buffer does not contain valid data + */ + void populatePropertiesFromBuffer(ByteBuffer buffer, int propertyFlags, int size) + throws AMQFrameDecodingException; + + /** + * @return the size of the encoded property list in bytes. + */ + int getPropertyListSize(); + + /** + * Gets the property flags. Property flags indicate which properties are set in the list. The + * position and meaning of each flag is defined in the protocol specification for the particular + * content type with which these properties are associated. + * @return flags + */ + int getPropertyFlags(); +} diff --git a/java/common/src/org/apache/qpid/framing/ContentHeaderPropertiesFactory.java b/java/common/src/org/apache/qpid/framing/ContentHeaderPropertiesFactory.java new file mode 100644 index 0000000000..ea1b0d6ef5 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/ContentHeaderPropertiesFactory.java @@ -0,0 +1,51 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +public class ContentHeaderPropertiesFactory +{ + private static final ContentHeaderPropertiesFactory _instance = new ContentHeaderPropertiesFactory(); + + public static ContentHeaderPropertiesFactory getInstance() + { + return _instance; + } + + private ContentHeaderPropertiesFactory() + { + } + + public ContentHeaderProperties createContentHeaderProperties(int classId, int propertyFlags, + ByteBuffer buffer, int size) + throws AMQFrameDecodingException + { + ContentHeaderProperties properties; + switch (classId) + { + case BasicConsumeBody.CLASS_ID: + properties = new BasicContentHeaderProperties(); + break; + default: + throw new AMQFrameDecodingException("Unsupport content header class id: " + classId); + } + properties.populatePropertiesFromBuffer(buffer, propertyFlags, size); + return properties; + } +} diff --git a/java/common/src/org/apache/qpid/framing/EncodableAMQDataBlock.java b/java/common/src/org/apache/qpid/framing/EncodableAMQDataBlock.java new file mode 100644 index 0000000000..3d493979eb --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/EncodableAMQDataBlock.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +/** + * Marker interface to indicate to MINA that a data block should be encoded with the + * single encoder/decoder that we have defined. + * + * Note that due to a bug in MINA all classes must directly implement this interface, even if + * a superclass implements it. + * TODO: fix MINA so that this is not necessary + * + */ +public interface EncodableAMQDataBlock +{ + +} diff --git a/java/common/src/org/apache/qpid/framing/EncodingUtils.java b/java/common/src/org/apache/qpid/framing/EncodingUtils.java new file mode 100644 index 0000000000..f2f7a3b7a2 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/EncodingUtils.java @@ -0,0 +1,519 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; + +import java.nio.charset.Charset; + +public class EncodingUtils +{ + private static final Logger _logger = Logger.getLogger(EncodingUtils.class); + + private static final String STRING_ENCODING = "iso8859-15"; + + private static final Charset _charset = Charset.forName("iso8859-15"); + + public static final int SIZEOF_UNSIGNED_SHORT = 2; + public static final int SIZEOF_UNSIGNED_INT = 4; + + public static int encodedShortStringLength(String s) + { + if (s == null) + { + return 1; + } + else + { + return (short) (1 + s.length()); + } + } + + public static int encodedLongStringLength(String s) + { + if (s == null) + { + return 4; + } + else + { + return 4 + s.length(); + } + } + + public static int encodedLongStringLength(char[] s) + { + if (s == null) + { + return 4; + } + else + { + return 4 + s.length; + } + } + + public static int encodedLongstrLength(byte[] bytes) + { + if (bytes == null) + { + return 4; + } + else + { + return 4 + bytes.length; + } + } + + public static int encodedFieldTableLength(FieldTable table) + { + if (table == null) + { + // size is encoded as 4 octets + return 4; + } + else + { + // size of the table plus 4 octets for the size + return (int)table.getEncodedSize() + 4; + } + } + + public static void writeShortStringBytes(ByteBuffer buffer, String s) + { + if (s != null) + { + byte[] encodedString = new byte[s.length()]; + char[] cha = s.toCharArray(); + for (int i = 0; i < cha.length; i++) + { + encodedString[i] = (byte) cha[i]; + } + // TODO: check length fits in an unsigned byte + writeUnsignedByte(buffer, (short)encodedString.length); + buffer.put(encodedString); + } + else + { + // really writing out unsigned byte + buffer.put((byte) 0); + } + } + + public static void writeLongStringBytes(ByteBuffer buffer, String s) + { + assert s == null || s.length() <= 0xFFFE; + if (s != null) + { + int len = s.length(); + writeUnsignedInteger(buffer, s.length()); + byte[] encodedString = new byte[len]; + char[] cha = s.toCharArray(); + for (int i = 0; i < cha.length; i++) + { + encodedString[i] = (byte) cha[i]; + } + buffer.put(encodedString); + } + else + { + writeUnsignedInteger(buffer, 0); + } + } + + public static void writeLongStringBytes(ByteBuffer buffer, char[] s) + { + assert s == null || s.length <= 0xFFFE; + if (s != null) + { + int len = s.length; + writeUnsignedInteger(buffer, s.length); + byte[] encodedString = new byte[len]; + for (int i = 0; i < s.length; i++) + { + encodedString[i] = (byte) s[i]; + } + buffer.put(encodedString); + } + else + { + writeUnsignedInteger(buffer, 0); + } + } + + public static void writeLongStringBytes(ByteBuffer buffer, byte[] bytes) + { + assert bytes == null || bytes.length <= 0xFFFE; + if (bytes != null) + { + writeUnsignedInteger(buffer, bytes.length); + buffer.put(bytes); + } + else + { + writeUnsignedInteger(buffer, 0); + } + } + + public static void writeUnsignedByte(ByteBuffer buffer, short b) + { + byte bv = (byte) b; + buffer.put(bv); + } + + public static void writeUnsignedShort(ByteBuffer buffer, int s) + { + // TODO: Is this comparison safe? Do I need to cast RHS to long? + if (s < Short.MAX_VALUE) + { + buffer.putShort((short)s); + } + else + { + short sv = (short) s; + buffer.put((byte) (0xFF & (sv >> 8))); + buffer.put((byte)(0xFF & sv)); + } + } + + public static void writeUnsignedInteger(ByteBuffer buffer, long l) + { + // TODO: Is this comparison safe? Do I need to cast RHS to long? + if (l < Integer.MAX_VALUE) + { + buffer.putInt((int)l); + } + else + { + int iv = (int) l; + + // FIXME: This *may* go faster if we build this into a local 4-byte array and then + // put the array in a single call. + buffer.put((byte) (0xFF & (iv >> 24))); + buffer.put((byte) (0xFF & (iv >> 16))); + buffer.put((byte) (0xFF & (iv >> 8 ))); + buffer.put((byte) (0xFF & iv)); + } + } + + public static void writeFieldTableBytes(ByteBuffer buffer, FieldTable table) + { + if (table != null) + { + table.writeToBuffer(buffer); + } + else + { + EncodingUtils.writeUnsignedInteger(buffer, 0); + } + } + + public static void writeBooleans(ByteBuffer buffer, boolean[] values) + { + byte packedValue = 0; + for (int i = 0; i < values.length; i++) + { + if (values[i]) + { + packedValue = (byte)(packedValue | (1 << i)); + } + } + + buffer.put(packedValue); + } + + /** + * This is used for writing longstrs. + * @param buffer + * @param data + */ + public static void writeLongstr(ByteBuffer buffer, byte[] data) + { + if (data != null) + { + writeUnsignedInteger(buffer, data.length); + buffer.put(data); + } + else + { + writeUnsignedInteger(buffer, 0); + } + } + + public static boolean[] readBooleans(ByteBuffer buffer) + { + byte packedValue = buffer.get(); + boolean[] result = new boolean[8]; + + for (int i = 0; i < 8; i++) + { + result[i] = ((packedValue & (1 << i)) != 0); + } + return result; + } + + public static FieldTable readFieldTable(ByteBuffer buffer) throws AMQFrameDecodingException + { + long length = buffer.getUnsignedInt(); + if (length == 0) + { + return null; + } + else + { + return new FieldTable(buffer, length); + } + } + + public static String readShortString(ByteBuffer buffer) + { + short length = buffer.getUnsigned(); + if (length == 0) + { + return null; + } + else + { + // this may seem rather odd to declare two array but testing has shown + // that constructing a string from a byte array is 5 (five) times slower + // than constructing one from a char array. + // this approach here is valid since we know that all the chars are + // ASCII (0-127) + byte[] stringBytes = new byte[length]; + buffer.get(stringBytes, 0, length); + char[] stringChars = new char[length]; + for (int i = 0; i < stringChars.length; i++) + { + stringChars[i] = (char) stringBytes[i]; + } + + return new String(stringChars); + } + } + + public static String readLongString(ByteBuffer buffer) + { + long length = buffer.getUnsignedInt(); + if (length == 0) + { + return null; + } + else + { + // this may seem rather odd to declare two array but testing has shown + // that constructing a string from a byte array is 5 (five) times slower + // than constructing one from a char array. + // this approach here is valid since we know that all the chars are + // ASCII (0-127) + byte[] stringBytes = new byte[(int)length]; + buffer.get(stringBytes, 0, (int)length); + char[] stringChars = new char[(int)length]; + for (int i = 0; i < stringChars.length; i++) + { + stringChars[i] = (char) stringBytes[i]; + } + return new String(stringChars); + } + } + + public static byte[] readLongstr(ByteBuffer buffer) throws AMQFrameDecodingException + { + long length = buffer.getUnsignedInt(); + if (length == 0) + { + return null; + } + else + { + byte[] result = new byte[(int)length]; + buffer.get(result); + return result; + } + } + + // Will barf with a NPE on a null input. Not sure whether it should return null or + // an empty field-table (which would be slower - perhaps unnecessarily). + // + // Some sample input and the result output: + // + // Input: "a=1" "a=2 c=3" "a=3 c=4 d" "a='four' b='five'" "a=bad" + // + // Parsing <a=1>... + // {a=1} + // Parsing <a=2 c=3>... + // {a=2, c=3} + // Parsing <a=3 c=4 d>... + // {a=3, c=4, d=null} + // Parsing <a='four' b='five'>... + // {a=four, b=five} + // Parsing <a=bad>... + // java.lang.IllegalArgumentException: a: Invalid integer in <bad> from <a=bad>. + // + public static FieldTable createFieldTableFromMessageSelector(String selector) + { + boolean debug = _logger.isDebugEnabled(); + + // TODO: Doesn't support embedded quotes properly. + String[] expressions = selector.split(" +"); + + FieldTable result = new FieldTable(); + + for(int i = 0; i < expressions.length; i++) + { + String expr = expressions[i]; + + if (debug) _logger.debug("Expression = <" + expr + ">"); + + int equals = expr.indexOf('='); + + if (equals < 0) + { + // Existence check + result.put("S" + expr.trim(),null); + } + else + { + String key = expr.substring(0,equals).trim(); + String value = expr.substring(equals + 1).trim(); + + if (debug) _logger.debug("Key = <" + key + ">, Value = <" + value + ">"); + + if (value.charAt(0) == '\'') + { + if (value.charAt(value.length()- 1) != '\'') + { + throw new IllegalArgumentException(key + ": Missing quote in <" + value + "> from <" + selector + ">."); + } + else + { + value = value.substring(1,value.length() - 1); + + result.put("S" + key,value); + } + } + else + { + try + { + int intValue = Integer.parseInt(value); + + result.put("i" + key,value); + } + catch(NumberFormatException e) + { + throw new IllegalArgumentException(key + ": Invalid integer in <" + value + "> from <" + selector + ">."); + + } + } + } + } + + if (debug) _logger.debug("Field-table created from <" + selector + "> is <" + result + ">"); + + return(result); + + } + + static byte[] hexToByteArray(String id) + { + // Should check param for null, long enough for this check, upper-case and trailing char + String s = (id.charAt(1) == 'x') ? id.substring(2) : id; // strip 0x + + int len = s.length(); + int byte_len = len / 2; + byte[] b = new byte[byte_len]; + + for(int i = 0; i < byte_len; i++) + { + // fixme: refine these repetitive subscript calcs. + int ch = i * 2; + + byte b1 = Byte.parseByte(s.substring(ch,ch + 1),16); + byte b2 = Byte.parseByte(s.substring(ch + 1,ch + 2),16); + + b[i] = (byte)(b1 * 16 + b2); + } + + return(b); + } + + public static char[] convertToHexCharArray(byte[] from) + { + int length = from.length; + char[] result_buff = new char[length * 2 + 2]; + + result_buff[0] = '0'; + result_buff[1] = 'x'; + + int bite; + int dest = 2; + + for(int i = 0; i < length; i++) + { + bite = from[i]; + + if (bite < 0) bite += 256; + + result_buff[dest++] = hex_chars[bite >> 4]; + result_buff[dest++] = hex_chars[bite & 0x0f]; + } + + return(result_buff); + } + + public static String convertToHexString(byte[] from) + { + return(new String(convertToHexCharArray(from))); + } + + public static String convertToHexString(ByteBuffer bb) + { + int size = bb.limit(); + + byte[] from = new byte[size]; + + for(int i = 0; i < size; i++) + { + from[i] = bb.get(i); + } + + return(new String(convertToHexCharArray(from))); + } + + public static void main(String[] args) + { + for(int i = 0; i < args.length; i++) + { + String selector = args[i]; + + System.err.println("Parsing <" + selector + ">..."); + + try + { + System.err.println(createFieldTableFromMessageSelector(selector)); + } + catch(IllegalArgumentException e) + { + System.err.println(e); + } + } + } + + private static char hex_chars[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; +} diff --git a/java/common/src/org/apache/qpid/framing/FieldTable.java b/java/common/src/org/apache/qpid/framing/FieldTable.java new file mode 100644 index 0000000000..30f41205dd --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/FieldTable.java @@ -0,0 +1,319 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; + +import java.util.*; + +/** + * From the protocol document: + * field-table = short-integer *field-value-pair + * field-value-pair = field-name field-value + * field-name = short-string + * field-value = 'S' long-string + * / 'I' long-integer + * / 'D' decimal-value + * / 'T' long-integer + * decimal-value = decimals long-integer + * decimals = OCTET + */ +public class FieldTable extends LinkedHashMap +{ + private static final Logger _logger = Logger.getLogger(FieldTable.class); + private long _encodedSize = 0; + + public FieldTable() + { + super(); + } + + /** + * Construct a new field table. + * + * @param buffer the buffer from which to read data. The length byte must be read already + * @param length the length of the field table. Must be > 0. + * @throws AMQFrameDecodingException if there is an error decoding the table + */ + public FieldTable(ByteBuffer buffer, long length) throws AMQFrameDecodingException + { + super(); + final boolean debug = _logger.isDebugEnabled(); + assert length > 0; + _encodedSize = length; + int sizeRead = 0; + while (sizeRead < _encodedSize) + { + int sizeRemaining = buffer.remaining(); + final String key = EncodingUtils.readShortString(buffer); + // TODO: use proper charset decoder + byte iType = buffer.get(); + final char type = (char) iType; + Object value; + switch (type) + { + case 'S': + value = EncodingUtils.readLongString(buffer); + break; + case 'I': + value = new Long(buffer.getUnsignedInt()); + break; + default: + String msg = "Field '" + key + "' - unsupported field table type: " + type; + //some extra debug information... + msg += " (" + iType + "), length=" + length + ", sizeRead=" + sizeRead + ", sizeRemaining=" + sizeRemaining; + throw new AMQFrameDecodingException(msg); + } + sizeRead += (sizeRemaining - buffer.remaining()); + + if (debug) + { + _logger.debug("FieldTable::FieldTable(buffer," + length + "): Read type '" + type + "', key '" + key + "', value '" + value + "' (now read " + sizeRead + " of " + length + " encoded bytes)..."); + } + + // we deliberately want to call put in the parent class since we do + // not need to do the size calculations + super.put(key, value); + } + + if (debug) + { + _logger.debug("FieldTable::FieldTable(buffer," + length + "): Done."); + } + } + + public void writeToBuffer(ByteBuffer buffer) + { + final boolean debug = _logger.isDebugEnabled(); + + if (debug) + { + _logger.debug("FieldTable::writeToBuffer: Writing encoded size of " + _encodedSize + "..."); + } + + // write out the total length, which we have kept up to date as data is added + EncodingUtils.writeUnsignedInteger(buffer, _encodedSize); + final Iterator it = this.entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry me = (Map.Entry) it.next(); + String key = (String) me.getKey(); + + EncodingUtils.writeShortStringBytes(buffer, key); + Object value = me.getValue(); + + if (debug) + { + _logger.debug("FieldTable::writeToBuffer: Writing key '" + key + "' of type " + value.getClass() + ", value '" + value + "'..."); + } + + if (value instanceof byte[]) + { + buffer.put((byte) 'S'); + EncodingUtils.writeLongstr(buffer, (byte[]) value); + } + else if (value instanceof String) + { + // TODO: look at using proper charset encoder + buffer.put((byte) 'S'); + EncodingUtils.writeLongStringBytes(buffer, (String) value); + } + else if (value instanceof Long) + { + // TODO: look at using proper charset encoder + buffer.put((byte) 'I'); + EncodingUtils.writeUnsignedInteger(buffer, ((Long) value).longValue()); + } + else + { + // Should never get here + throw new IllegalArgumentException("Key '" + key + "': Unsupported type in field table, type: " + ((value == null) ? "null-object" : value.getClass())); + } + } + + if (debug) + { + _logger.debug("FieldTable::writeToBuffer: Done."); + } + } + + public byte[] getDataAsBytes() + { + final ByteBuffer buffer = ByteBuffer.allocate((int) _encodedSize); // XXX: Is cast a problem? + final Iterator it = this.entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry me = (Map.Entry) it.next(); + String key = (String) me.getKey(); + EncodingUtils.writeShortStringBytes(buffer, key); + Object value = me.getValue(); + if (value instanceof byte[]) + { + buffer.put((byte) 'S'); + EncodingUtils.writeLongstr(buffer, (byte[]) value); + } + else if (value instanceof String) + { + // TODO: look at using proper charset encoder + buffer.put((byte) 'S'); + EncodingUtils.writeLongStringBytes(buffer, (String) value); + } + else if (value instanceof char[]) + { + // TODO: look at using proper charset encoder + buffer.put((byte) 'S'); + EncodingUtils.writeLongStringBytes(buffer, (char[]) value); + } + else if (value instanceof Long || value instanceof Integer) + { + // TODO: look at using proper charset encoder + buffer.put((byte) 'I'); + EncodingUtils.writeUnsignedInteger(buffer, ((Long) value).longValue()); + } + else + { + // Should never get here + assert false; + } + } + final byte[] result = new byte[(int) _encodedSize]; + buffer.flip(); + buffer.get(result); + buffer.release(); + return result; + } + + public Object put(Object key, Object value) + { + final boolean debug = _logger.isDebugEnabled(); + + if (key == null) + { + throw new IllegalArgumentException("All keys must be Strings - was passed: null"); + } + else if (!(key instanceof String)) + { + throw new IllegalArgumentException("All keys must be Strings - was passed: " + key.getClass()); + } + + Object existing; + + if ((existing = super.remove(key)) != null) + { + if (debug) + { + _logger.debug("Found duplicate of key '" + key + "', previous value '" + existing + "' (" + existing.getClass() + "), to be replaced by '" + value + "', (" + value.getClass() + ") - stack trace of source of duplicate follows...", new Throwable().fillInStackTrace()); + } + + // If we are in effect deleting the value (see comment on null values being deleted + // below) then we also need to remove the name from the encoding length. + if (value == null) + { + _encodedSize -= EncodingUtils.encodedShortStringLength((String) key); + } + + // FIXME: Should be able to short-cut this process if the old and new values are + // the same object and/or type and size... + _encodedSize -= getEncodingSize(existing); + } + else + { + if (value != null) + { + _encodedSize += EncodingUtils.encodedShortStringLength((String) key); + } + } + + // For now: Setting a null value is the equivalent of deleting it. + // This is ambiguous in the JMS spec and needs thrashing out and potentially + // testing against other implementations. + if (value != null) + { + _encodedSize += getEncodingSize(value); + } + + return super.put(key, value); + } + + public Object remove(Object key) + { + if (super.containsKey(key)) + { + final Object value = super.remove(key); + _encodedSize -= EncodingUtils.encodedShortStringLength((String) key); + + // This check is, for now, unnecessary (we don't store null values). + if (value != null) + { + _encodedSize -= getEncodingSize(value); + } + + return value; + } + else + { + return null; + } + } + + /** + * @return unsigned integer + */ + public long getEncodedSize() + { + return _encodedSize; + } + + /** + * @return integer + */ + private static int getEncodingSize(Object value) + { + int encodingSize; + + // the extra byte if for the type indicator that is written out + if (value instanceof String) + { + encodingSize = 1 + EncodingUtils.encodedLongStringLength((String) value); + } + else if (value instanceof char[]) + { + encodingSize = 1 + EncodingUtils.encodedLongStringLength((char[]) value); + } + else if (value instanceof Integer) + { + encodingSize = 1 + 4; + } + else if (value instanceof Long) + { + encodingSize = 1 + 4; + } + else + { + throw new IllegalArgumentException("Unsupported type in field table: " + value.getClass()); + } + + return encodingSize; + } + + public Enumeration keys() + { + return new FieldTableKeyEnumeration(this); + } +} diff --git a/java/common/src/org/apache/qpid/framing/FieldTableKeyEnumeration.java b/java/common/src/org/apache/qpid/framing/FieldTableKeyEnumeration.java new file mode 100644 index 0000000000..2bc890ebbc --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/FieldTableKeyEnumeration.java @@ -0,0 +1,44 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import java.util.Enumeration; +import java.util.Iterator; + + +public class FieldTableKeyEnumeration implements Enumeration +{ + protected FieldTable _table; + protected Iterator _iterator; + + public FieldTableKeyEnumeration(FieldTable ft) + { + _table = ft; + _iterator = ft.keySet().iterator(); + } + + public boolean hasMoreElements() + { + return _iterator.hasNext(); + } + + public Object nextElement() + { + return _iterator.next(); + } +} diff --git a/java/common/src/org/apache/qpid/framing/HeartbeatBody.java b/java/common/src/org/apache/qpid/framing/HeartbeatBody.java new file mode 100644 index 0000000000..4dda794427 --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/HeartbeatBody.java @@ -0,0 +1,54 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +public class HeartbeatBody extends AMQBody +{ + public static final byte TYPE = 8; + public static AMQFrame FRAME = new HeartbeatBody().toFrame(); + + protected byte getType() + { + return TYPE; + } + + protected int getSize() + { + return 0;//heartbeats we generate have no payload + } + + protected void writePayload(ByteBuffer buffer) + { + } + + protected void populateFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException + { + if(size > 0) + { + //allow other implementations to have a payload, but ignore it: + buffer.skip((int) size); + } + } + + public AMQFrame toFrame() + { + return new AMQFrame(0, this); + } +} diff --git a/java/common/src/org/apache/qpid/framing/HeartbeatBodyFactory.java b/java/common/src/org/apache/qpid/framing/HeartbeatBodyFactory.java new file mode 100644 index 0000000000..1d63f3827b --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/HeartbeatBodyFactory.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; + +public class HeartbeatBodyFactory implements BodyFactory +{ + public AMQBody createBody(ByteBuffer in) throws AMQFrameDecodingException + { + return new HeartbeatBody(); + } +} diff --git a/java/common/src/org/apache/qpid/framing/ProtocolInitiation.java b/java/common/src/org/apache/qpid/framing/ProtocolInitiation.java new file mode 100644 index 0000000000..e500a683dc --- /dev/null +++ b/java/common/src/org/apache/qpid/framing/ProtocolInitiation.java @@ -0,0 +1,176 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoSession; +import org.apache.mina.filter.codec.ProtocolDecoderOutput; +import org.apache.qpid.AMQException; + +public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQDataBlock +{ + public char[] header = new char[]{'A','M','Q','P'}; + // TODO: generate these constants automatically from the xml protocol spec file + + private static byte CURRENT_PROTOCOL_CLASS = 1; + private static final int CURRENT_PROTOCOL_INSTANCE = 1; + + public byte protocolClass = CURRENT_PROTOCOL_CLASS; + public byte protocolInstance = CURRENT_PROTOCOL_INSTANCE; + public byte protocolMajor; + public byte protocolMinor; + +// public ProtocolInitiation() {} + + public ProtocolInitiation(byte major, byte minor) + { + protocolMajor = major; + protocolMinor = minor; + } + + public long getSize() + { + return 4 + 1 + 1 + 1 + 1; + } + + public void writePayload(ByteBuffer buffer) + { + for (int i = 0; i < header.length; i++) + { + buffer.put((byte) header[i]); + } + buffer.put(protocolClass); + buffer.put(protocolInstance); + buffer.put(protocolMajor); + buffer.put(protocolMinor); + } + + public void populateFromBuffer(ByteBuffer buffer) throws AMQException + { + throw new AMQException("Method not implemented"); + } + + public boolean equals(Object o) + { + if (!(o instanceof ProtocolInitiation)) + { + return false; + } + + ProtocolInitiation pi = (ProtocolInitiation) o; + if (pi.header == null) + { + return false; + } + + if (header.length != pi.header.length) + { + return false; + } + + for (int i = 0; i < header.length; i++) + { + if (header[i] != pi.header[i]) + { + return false; + } + } + + return (protocolClass == pi.protocolClass && + protocolInstance == pi.protocolInstance && + protocolMajor == pi.protocolMajor && + protocolMinor == pi.protocolMinor); + } + + public static class Decoder //implements MessageDecoder + { + /** + * + * @param session + * @param in + * @return true if we have enough data to decode the PI frame fully, false if more + * data is required + */ + public boolean decodable(IoSession session, ByteBuffer in) + { + return (in.remaining() >= 8); + } + + public void decode(IoSession session, ByteBuffer in, ProtocolDecoderOutput out) + throws Exception + { + byte[] theHeader = new byte[4]; + in.get(theHeader); + ProtocolInitiation pi = new ProtocolInitiation((byte)0, (byte)0); + pi.header = new char[]{(char) theHeader[0],(char) theHeader[CURRENT_PROTOCOL_INSTANCE],(char) theHeader[2], (char) theHeader[3]}; + String stringHeader = new String(pi.header); + if (!"AMQP".equals(stringHeader)) + { + throw new AMQProtocolHeaderException("Invalid protocol header - read " + stringHeader); + } + pi.protocolClass = in.get(); + pi.protocolInstance = in.get(); + pi.protocolMajor = in.get(); + pi.protocolMinor = in.get(); + out.write(pi); + } + } + + public void checkVersion(ProtocolVersionList pvl) throws AMQException + { + if (protocolClass != CURRENT_PROTOCOL_CLASS) + { + throw new AMQProtocolClassException("Protocol class " + CURRENT_PROTOCOL_CLASS + " was expected; received " + + protocolClass); + } + if (protocolInstance != CURRENT_PROTOCOL_INSTANCE) + { + throw new AMQProtocolInstanceException("Protocol instance " + CURRENT_PROTOCOL_INSTANCE + " was expected; received " + + protocolInstance); + } + /* + if (protocolMajor != CURRENT_PROTOCOL_VERSION_MAJOR) + { + throw new AMQProtocolVersionException("Protocol major version " + CURRENT_PROTOCOL_VERSION_MAJOR + + " was expected; received " + protocolMajor); + } + if (protocolMinor != CURRENT_PROTOCOL_VERSION_MINOR) + { + throw new AMQProtocolVersionException("Protocol minor version " + CURRENT_PROTOCOL_VERSION_MINOR + + " was expected; received " + protocolMinor); + } + */ + + /* Look through list of available protocol versions */ + boolean found = false; + for (int i=0; i<pvl.pv.length; i++) + { + if (pvl.pv[i][pvl.PROTOCOL_MAJOR] == protocolMajor && + pvl.pv[i][pvl.PROTOCOL_MINOR] == protocolMinor) + { + found = true; + } + } + if (!found) + { + // TODO: add list of available versions in list to msg... + throw new AMQProtocolVersionException("Protocol version " + + protocolMajor + "." + protocolMinor + " not found in protocol version list."); + } + } +} diff --git a/java/common/src/org/apache/qpid/nio/SocketAcceptor.java b/java/common/src/org/apache/qpid/nio/SocketAcceptor.java new file mode 100644 index 0000000000..1033d16191 --- /dev/null +++ b/java/common/src/org/apache/qpid/nio/SocketAcceptor.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.nio; + +import org.apache.mina.common.support.DelegatedIoAcceptor; + +public class SocketAcceptor extends DelegatedIoAcceptor +{ + /** + * Creates a new instance. + */ + public SocketAcceptor() + { + init(new SocketAcceptorDelegate(this)); + } +} diff --git a/java/common/src/org/apache/qpid/nio/SocketAcceptorDelegate.java b/java/common/src/org/apache/qpid/nio/SocketAcceptorDelegate.java new file mode 100644 index 0000000000..7339482ac0 --- /dev/null +++ b/java/common/src/org/apache/qpid/nio/SocketAcceptorDelegate.java @@ -0,0 +1,602 @@ +/* + * @(#) $Id: SocketAcceptorDelegate.java 379346 2006-02-21 05:10:30Z trustin $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.nio; + +import org.apache.mina.common.*; +import org.apache.mina.common.support.BaseIoAcceptor; +import org.apache.mina.transport.socket.nio.SocketAcceptorConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; +import org.apache.mina.util.IdentityHashSet; +import org.apache.mina.util.Queue; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.ServerSocketChannel; +import java.nio.channels.SocketChannel; +import java.util.*; + +/** + * {@link IoAcceptor} for socket transport (TCP/IP). + * + * @author The Apache Directory Project (dev@directory.apache.org) + * @version $Rev: 379346 $, $Date: 2006-02-21 05:10:30 +0000 (Tue, 21 Feb 2006) $ + */ +public class SocketAcceptorDelegate extends BaseIoAcceptor +{ + private static volatile int nextId = 0; + + private final IoAcceptor wrapper; + private final int id = nextId ++; + private final String threadName = "SocketAcceptor-" + id; + private final IoServiceConfig defaultConfig = new SocketAcceptorConfig(); + private Selector selector; + private final Map channels = new HashMap(); + private final Hashtable sessions = new Hashtable(); + + private final Queue registerQueue = new Queue(); + private final Queue cancelQueue = new Queue(); + + private Worker worker; + + /** + * Creates a new instance. + */ + public SocketAcceptorDelegate(IoAcceptor wrapper) + { + this.wrapper = wrapper; + } + + /** + * Binds to the specified <code>address</code> and handles incoming + * connections with the specified <code>handler</code>. Backlog value + * is configured to the value of <code>backlog</code> property. + * + * @throws IOException if failed to bind + */ + public void bind(SocketAddress address, IoHandler handler, IoServiceConfig config) throws IOException + { + if (address == null) + { + throw new NullPointerException("address"); + } + + if (handler == null) + { + throw new NullPointerException("handler"); + } + + if (!(address instanceof InetSocketAddress)) + { + throw new IllegalArgumentException("Unexpected address type: " + address.getClass()); + } + + if (((InetSocketAddress) address).getPort() == 0) + { + throw new IllegalArgumentException("Unsupported port number: 0"); + } + + if (config == null) + { + config = getDefaultConfig(); + } + + RegistrationRequest request = new RegistrationRequest(address, handler, config); + + synchronized (this) + { + synchronized (registerQueue) + { + registerQueue.push(request); + } + startupWorker(); + } + + selector.wakeup(); + + synchronized (request) + { + while (!request.done) + { + try + { + request.wait(); + } + catch (InterruptedException e) + { + } + } + } + + if (request.exception != null) + { + throw request.exception; + } + } + + + private synchronized void startupWorker() throws IOException + { + if (worker == null) + { + selector = Selector.open(); + worker = new Worker(); + + worker.start(); + } + } + + public Set getManagedSessions(SocketAddress address) + { + if (address == null) + { + throw new NullPointerException("address"); + } + + Set managedSessions = (Set) sessions.get(address); + + if (managedSessions == null) + { + throw new IllegalArgumentException("Address not bound: " + address); + } + + return Collections.unmodifiableSet( + new IdentityHashSet(Arrays.asList(managedSessions.toArray()))); + } + + public void unbind(SocketAddress address) + { + if (address == null) + { + throw new NullPointerException("address"); + } + + final Set managedSessions = (Set) sessions.get(address); + CancellationRequest request = new CancellationRequest(address); + synchronized (this) + { + try + { + startupWorker(); + } + catch (IOException e) + { + // IOException is thrown only when Worker thread is not + // running and failed to open a selector. We simply throw + // IllegalArgumentException here because we can simply + // conclude that nothing is bound to the selector. + throw new IllegalArgumentException("Address not bound: " + address); + } + + synchronized (cancelQueue) + { + cancelQueue.push(request); + } + } + + selector.wakeup(); + + synchronized (request) + { + while (!request.done) + { + try + { + request.wait(); + } + catch (InterruptedException e) + { + } + } + } + + if (request.exception != null) + { + request.exception.fillInStackTrace(); + + throw request.exception; + } + + // Disconnect all clients + IoServiceConfig cfg = request.registrationRequest.config; + boolean disconnectOnUnbind; + if (cfg instanceof IoAcceptorConfig) + { + disconnectOnUnbind = ((IoAcceptorConfig) cfg).isDisconnectOnUnbind(); + } + else + { + disconnectOnUnbind = ((IoAcceptorConfig) getDefaultConfig()).isDisconnectOnUnbind(); + } + + if (disconnectOnUnbind && managedSessions != null) + { + IoSession[] tempSessions = (IoSession[]) + managedSessions.toArray(new IoSession[ 0 ]); + + final Object lock = new Object(); + + for (int i = 0; i < tempSessions.length; i++) + { + if (!managedSessions.contains(tempSessions[i])) + { + // The session has already been closed and have been + // removed from managedSessions by the SocketIoProcessor. + continue; + } + tempSessions[i].close().setCallback(new IoFuture.Callback() + { + public void operationComplete(IoFuture future) + { + synchronized (lock) + { + lock.notify(); + } + } + }); + } + + try + { + synchronized (lock) + { + while (!managedSessions.isEmpty()) + { + lock.wait(1000); + } + } + } + catch (InterruptedException ie) + { + // Ignored + } + } + } + + public void unbindAll() + { + List addresses; + synchronized (channels) + { + addresses = new ArrayList(channels.keySet()); + } + + for (Iterator i = addresses.iterator(); i.hasNext();) + { + unbind((SocketAddress) i.next()); + } + } + + public boolean isBound(SocketAddress address) + { + synchronized (channels) + { + return channels.containsKey(address); + } + } + + public Set getBoundAddresses() + { + return wrapper.getBoundAddresses(); + } + + private class Worker extends Thread + { + public Worker() + { + super(SocketAcceptorDelegate.this.threadName); + } + + public void run() + { + for (; ;) + { + try + { + int nKeys = selector.select(); + + registerNew(); + cancelKeys(); + + if (nKeys > 0) + { + processSessions(selector.selectedKeys()); + } + + if (selector.keys().isEmpty()) + { + synchronized (SocketAcceptorDelegate.this) + { + if (selector.keys().isEmpty() && + registerQueue.isEmpty() && + cancelQueue.isEmpty()) + { + worker = null; + try + { + selector.close(); + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + } + finally + { + selector = null; + } + break; + } + } + } + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + + try + { + Thread.sleep(1000); + } + catch (InterruptedException e1) + { + } + } + } + } + + private void processSessions(Set keys) throws IOException + { + Iterator it = keys.iterator(); + while (it.hasNext()) + { + SelectionKey key = (SelectionKey) it.next(); + + it.remove(); + + if (!key.isAcceptable()) + { + continue; + } + + ServerSocketChannel ssc = (ServerSocketChannel) key.channel(); + + SocketChannel ch = ssc.accept(); + + if (ch == null) + { + continue; + } + + boolean success = false; + SocketSessionImpl session = null; + try + { + RegistrationRequest req = (RegistrationRequest) key.attachment(); + session = new SocketSessionImpl( + SocketAcceptorDelegate.this.wrapper, + (Set) sessions.get(req.address), + (SocketSessionConfig) req.config.getSessionConfig(), + ch, req.handler, + req.address); + getFilterChainBuilder().buildFilterChain(session.getFilterChain()); + req.config.getFilterChainBuilder().buildFilterChain(session.getFilterChain()); + ((SocketFilterChain) session.getFilterChain()).sessionCreated(session); + session.getManagedSessions().add(session); + session.getIoProcessor().addNew(session); + success = true; + } + catch (Throwable t) + { + ExceptionMonitor.getInstance().exceptionCaught(t); + } + finally + { + if (!success) + { + if (session != null) + { + session.getManagedSessions().remove(session); + } + ch.close(); + } + } + } + } + } + + public IoServiceConfig getDefaultConfig() + { + return defaultConfig; + } + + private void registerNew() + { + if (registerQueue.isEmpty()) + { + return; + } + + for (; ;) + { + RegistrationRequest req; + + synchronized (registerQueue) + { + req = (RegistrationRequest) registerQueue.pop(); + } + + if (req == null) + { + break; + } + + ServerSocketChannel ssc = null; + + try + { + ssc = ServerSocketChannel.open(); + ssc.configureBlocking(false); + + // Configure the server socket, + SocketAcceptorConfig cfg; + if (req.config instanceof SocketAcceptorConfig) + { + cfg = (SocketAcceptorConfig) req.config; + } + else + { + cfg = (SocketAcceptorConfig) getDefaultConfig(); + } + + ssc.socket().setReuseAddress(cfg.isReuseAddress()); + ssc.socket().setReceiveBufferSize( + ((SocketSessionConfig) cfg.getSessionConfig()).getReceiveBufferSize()); + + // and bind. + ssc.socket().bind(req.address, cfg.getBacklog()); + ssc.register(selector, SelectionKey.OP_ACCEPT, req); + + synchronized (channels) + { + channels.put(req.address, ssc); + } + sessions.put(req.address, Collections.synchronizedSet(new HashSet())); + } + catch (IOException e) + { + req.exception = e; + } + finally + { + synchronized (req) + { + req.done = true; + + req.notify(); + } + + if (ssc != null && req.exception != null) + { + try + { + ssc.close(); + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + } + } + } + } + } + + + private void cancelKeys() + { + if (cancelQueue.isEmpty()) + { + return; + } + + for (; ;) + { + CancellationRequest request; + + synchronized (cancelQueue) + { + request = (CancellationRequest) cancelQueue.pop(); + } + + if (request == null) + { + break; + } + + sessions.remove(request.address); + ServerSocketChannel ssc; + synchronized (channels) + { + ssc = (ServerSocketChannel) channels.remove(request.address); + } + + // close the channel + try + { + if (ssc == null) + { + request.exception = new IllegalArgumentException("Address not bound: " + request.address); + } + else + { + SelectionKey key = ssc.keyFor(selector); + request.registrationRequest = (RegistrationRequest) key.attachment(); + key.cancel(); + + selector.wakeup(); // wake up again to trigger thread death + + ssc.close(); + } + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + } + finally + { + synchronized (request) + { + request.done = true; + request.notify(); + } + } + } + } + + private static class RegistrationRequest + { + private final SocketAddress address; + private final IoHandler handler; + private final IoServiceConfig config; + private IOException exception; + private boolean done; + + private RegistrationRequest(SocketAddress address, IoHandler handler, IoServiceConfig config) + { + this.address = address; + this.handler = handler; + this.config = config; + } + } + + + private static class CancellationRequest + { + private final SocketAddress address; + private boolean done; + private RegistrationRequest registrationRequest; + private RuntimeException exception; + + private CancellationRequest(SocketAddress address) + { + this.address = address; + } + } +} diff --git a/java/common/src/org/apache/qpid/nio/SocketConnector.java b/java/common/src/org/apache/qpid/nio/SocketConnector.java new file mode 100644 index 0000000000..ce74fd0c96 --- /dev/null +++ b/java/common/src/org/apache/qpid/nio/SocketConnector.java @@ -0,0 +1,32 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.nio; + +import org.apache.mina.common.support.DelegatedIoConnector; +import org.apache.mina.transport.socket.nio.support.*; + +public class SocketConnector extends DelegatedIoConnector +{ + /** + * Creates a new instance. + */ + public SocketConnector() + { + init(new SocketConnectorDelegate(this)); + } +}
\ No newline at end of file diff --git a/java/common/src/org/apache/qpid/nio/SocketConnectorDelegate.java b/java/common/src/org/apache/qpid/nio/SocketConnectorDelegate.java new file mode 100644 index 0000000000..50c122d1c8 --- /dev/null +++ b/java/common/src/org/apache/qpid/nio/SocketConnectorDelegate.java @@ -0,0 +1,402 @@ +/* + * @(#) $Id: SocketConnectorDelegate.java 379044 2006-02-20 07:40:37Z trustin $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.nio; + +import org.apache.mina.common.*; +import org.apache.mina.common.support.BaseIoConnector; +import org.apache.mina.common.support.DefaultConnectFuture; +import org.apache.mina.transport.socket.nio.SocketConnectorConfig; +import org.apache.mina.util.Queue; + +import java.io.IOException; +import java.net.ConnectException; +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.SocketChannel; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +/** + * {@link IoConnector} for socket transport (TCP/IP). + * + * @author The Apache Directory Project (dev@directory.apache.org) + * @version $Rev: 379044 $, $Date: 2006-02-20 07:40:37 +0000 (Mon, 20 Feb 2006) $ + */ +public class SocketConnectorDelegate extends BaseIoConnector +{ + private static volatile int nextId = 0; + + private final IoConnector wrapper; + private final int id = nextId++; + private final String threadName = "SocketConnector-" + id; + private final IoServiceConfig defaultConfig = new SocketConnectorConfig(); + private Selector selector; + private final Queue connectQueue = new Queue(); + private final Set managedSessions = Collections.synchronizedSet(new HashSet()); + private Worker worker; + + /** + * Creates a new instance. + */ + public SocketConnectorDelegate(IoConnector wrapper) + { + this.wrapper = wrapper; + } + + public ConnectFuture connect(SocketAddress address, IoHandler handler, IoServiceConfig config) + { + return connect(address, null, handler, config); + } + + public ConnectFuture connect(SocketAddress address, SocketAddress localAddress, + IoHandler handler, IoServiceConfig config) + { + if (address == null) + { + throw new NullPointerException("address"); + } + if (handler == null) + { + throw new NullPointerException("handler"); + } + + if (! (address instanceof InetSocketAddress)) + { + throw new IllegalArgumentException("Unexpected address type: " + + address.getClass()); + } + + if (localAddress != null && !(localAddress instanceof InetSocketAddress)) + { + throw new IllegalArgumentException("Unexpected local address type: " + + localAddress.getClass()); + } + + if (config == null) + { + config = getDefaultConfig(); + } + + SocketChannel ch = null; + boolean success = false; + try + { + ch = SocketChannel.open(); + ch.socket().setReuseAddress(true); + if (localAddress != null) + { + ch.socket().bind(localAddress); + } + + ch.configureBlocking(false); + + if (ch.connect(address)) + { + SocketSessionImpl session = newSession(ch, handler, config); + success = true; + ConnectFuture future = new DefaultConnectFuture(); + future.setSession(session); + return future; + } + + success = true; + } + catch (IOException e) + { + return DefaultConnectFuture.newFailedFuture(e); + } + finally + { + if (!success && ch != null) + { + try + { + ch.close(); + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + } + } + } + + ConnectionRequest request = new ConnectionRequest(ch, handler, config); + synchronized (this) + { + try + { + startupWorker(); + } + catch (IOException e) + { + try + { + ch.close(); + } + catch (IOException e2) + { + ExceptionMonitor.getInstance().exceptionCaught(e2); + } + + return DefaultConnectFuture.newFailedFuture(e); + } + synchronized (connectQueue) + { + connectQueue.push(request); + } + selector.wakeup(); + } + + return request; + } + + public IoServiceConfig getDefaultConfig() + { + return defaultConfig; + } + + private synchronized void startupWorker() throws IOException + { + if (worker == null) + { + selector = Selector.open(); + worker = new Worker(); + worker.start(); + } + } + + private void registerNew() + { + if (connectQueue.isEmpty()) + { + return; + } + + for (; ;) + { + ConnectionRequest req; + synchronized (connectQueue) + { + req = (ConnectionRequest) connectQueue.pop(); + } + + if (req == null) + { + break; + } + + SocketChannel ch = req.channel; + try + { + ch.register(selector, SelectionKey.OP_CONNECT, req); + } + catch (IOException e) + { + req.setException(e); + } + } + } + + private void processSessions(Set keys) + { + Iterator it = keys.iterator(); + + while (it.hasNext()) + { + SelectionKey key = (SelectionKey) it.next(); + + if (!key.isConnectable()) + { + continue; + } + + SocketChannel ch = (SocketChannel) key.channel(); + ConnectionRequest entry = (ConnectionRequest) key.attachment(); + + boolean success = false; + try + { + ch.finishConnect(); + SocketSessionImpl session = newSession(ch, entry.handler, entry.config); + entry.setSession(session); + success = true; + } + catch (Throwable e) + { + entry.setException(e); + } + finally + { + key.cancel(); + if (!success) + { + try + { + ch.close(); + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + } + } + } + } + + keys.clear(); + } + + private void processTimedOutSessions(Set keys) + { + long currentTime = System.currentTimeMillis(); + Iterator it = keys.iterator(); + + while (it.hasNext()) + { + SelectionKey key = (SelectionKey) it.next(); + + if (!key.isValid()) + { + continue; + } + + ConnectionRequest entry = (ConnectionRequest) key.attachment(); + + if (currentTime >= entry.deadline) + { + entry.setException(new ConnectException()); + key.cancel(); + } + } + } + + private SocketSessionImpl newSession(SocketChannel ch, IoHandler handler, IoServiceConfig config) throws IOException + { + SocketSessionImpl session = new SocketSessionImpl( + wrapper, managedSessions, + config.getSessionConfig(), + ch, handler, ch.socket().getRemoteSocketAddress()); + try + { + getFilterChainBuilder().buildFilterChain(session.getFilterChain()); + config.getFilterChainBuilder().buildFilterChain(session.getFilterChain()); + ((SocketFilterChain) session.getFilterChain()).sessionCreated(session); + } + catch (Throwable e) + { + throw (IOException) new IOException("Failed to create a session.").initCause(e); + } + session.getManagedSessions().add(session); + session.getIoProcessor().addNew(session); + return session; + } + + private class Worker extends Thread + { + public Worker() + { + super(SocketConnectorDelegate.this.threadName); + } + + public void run() + { + for (; ;) + { + try + { + int nKeys = selector.select(1000); + + registerNew(); + + if (nKeys > 0) + { + processSessions(selector.selectedKeys()); + } + + processTimedOutSessions(selector.keys()); + + if (selector.keys().isEmpty()) + { + synchronized (SocketConnectorDelegate.this) + { + if (selector.keys().isEmpty() && + connectQueue.isEmpty()) + { + worker = null; + try + { + selector.close(); + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + } + finally + { + selector = null; + } + break; + } + } + } + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + + try + { + Thread.sleep(1000); + } + catch (InterruptedException e1) + { + } + } + } + } + } + + private class ConnectionRequest extends DefaultConnectFuture + { + private final SocketChannel channel; + private final long deadline; + private final IoHandler handler; + private final IoServiceConfig config; + + private ConnectionRequest(SocketChannel channel, IoHandler handler, IoServiceConfig config) + { + this.channel = channel; + long timeout; + if (config instanceof IoConnectorConfig) + { + timeout = ((IoConnectorConfig) config).getConnectTimeoutMillis(); + } + else + { + timeout = ((IoConnectorConfig) getDefaultConfig()).getConnectTimeoutMillis(); + } + this.deadline = System.currentTimeMillis() + timeout; + this.handler = handler; + this.config = config; + } + } +}
\ No newline at end of file diff --git a/java/common/src/org/apache/qpid/nio/SocketFilterChain.java b/java/common/src/org/apache/qpid/nio/SocketFilterChain.java new file mode 100644 index 0000000000..07143512b5 --- /dev/null +++ b/java/common/src/org/apache/qpid/nio/SocketFilterChain.java @@ -0,0 +1,48 @@ +package org.apache.qpid.nio; + +import java.io.IOException; + +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.IoFilterChain; +import org.apache.mina.common.IoSession; +import org.apache.mina.common.IoFilter.WriteRequest; +import org.apache.mina.common.support.AbstractIoFilterChain; +import org.apache.mina.util.Queue; + +/** + * An {@link IoFilterChain} for socket transport (TCP/IP). + * + * @author The Apache Directory Project + */ +class SocketFilterChain extends AbstractIoFilterChain { + + public SocketFilterChain( IoSession parent ) + { + super( parent ); + } + + protected void doWrite( IoSession session, WriteRequest writeRequest ) + { + SocketSessionImpl s = ( SocketSessionImpl ) session; + Queue writeRequestQueue = s.getWriteRequestQueue(); + + // SocketIoProcessor.doFlush() will reset it after write is finished + // because the buffer will be passed with messageSent event. + ( ( ByteBuffer ) writeRequest.getMessage() ).mark(); + synchronized( writeRequestQueue ) + { + writeRequestQueue.push( writeRequest ); + if( writeRequestQueue.size() == 1 && session.getTrafficMask().isWritable() ) + { + // Notify SocketIoProcessor only when writeRequestQueue was empty. + s.getIoProcessor().flush( s ); + } + } + } + + protected void doClose( IoSession session ) throws IOException + { + SocketSessionImpl s = ( SocketSessionImpl ) session; + s.getIoProcessor().remove( s ); + } +} diff --git a/java/common/src/org/apache/qpid/nio/SocketIoProcessor.java b/java/common/src/org/apache/qpid/nio/SocketIoProcessor.java new file mode 100644 index 0000000000..d20ab41b96 --- /dev/null +++ b/java/common/src/org/apache/qpid/nio/SocketIoProcessor.java @@ -0,0 +1,770 @@ +/* + * @(#) $Id: SocketIoProcessor.java 372449 2006-01-26 05:24:58Z trustin $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.nio; + +import org.apache.log4j.Logger; +import org.apache.mina.common.ByteBuffer; +import org.apache.mina.common.ExceptionMonitor; +import org.apache.mina.common.IdleStatus; +import org.apache.mina.common.IoFilter.WriteRequest; +import org.apache.mina.common.WriteTimeoutException; +import org.apache.mina.util.Queue; + +import java.io.IOException; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.SocketChannel; +import java.util.Iterator; +import java.util.Set; + +/** + * Performs all I/O operations for sockets which is connected or bound. + * This class is used by MINA internally. + * + * @author The Apache Directory Project (dev@directory.apache.org) + * @version $Rev: 372449 $, $Date: 2006-01-26 05:24:58 +0000 (Thu, 26 Jan 2006) $, + */ +class SocketIoProcessor +{ + private static final Logger _logger = Logger.getLogger(SocketIoProcessor.class); + + private static final String PROCESSORS_PROPERTY = "mina.socket.processors"; + private static final String THREAD_PREFIX = "SocketIoProcessor-"; + private static final int DEFAULT_PROCESSORS = 1; + private static final int PROCESSOR_COUNT; + private static final SocketIoProcessor[] PROCESSORS; + + private static int nextId; + + static + { + PROCESSOR_COUNT = configureProcessorCount(); + PROCESSORS = createProcessors(); + } + + /** + * Returns the {@link SocketIoProcessor} to be used for a newly + * created session + * + * @return The processor to be employed + */ + static synchronized SocketIoProcessor getInstance() + { + SocketIoProcessor processor = PROCESSORS[nextId ++]; + nextId %= PROCESSOR_COUNT; + return processor; + } + + private final String threadName; + private Selector selector; + + private final Queue newSessions = new Queue(); + private final Queue removingSessions = new Queue(); + private final Queue flushingSessions = new Queue(); + private final Queue trafficControllingSessions = new Queue(); + + private Worker worker; + private long lastIdleCheckTime = System.currentTimeMillis(); + + private SocketIoProcessor(String threadName) + { + this.threadName = threadName; + } + + void addNew(SocketSessionImpl session) throws IOException + { + synchronized (this) + { + synchronized (newSessions) + { + newSessions.push(session); + } + startupWorker(); + } + + selector.wakeup(); + } + + void remove(SocketSessionImpl session) throws IOException + { + scheduleRemove(session); + startupWorker(); + selector.wakeup(); + } + + private synchronized void startupWorker() throws IOException + { + if (worker == null) + { + selector = Selector.open(); + worker = new Worker(); + worker.start(); + } + } + + void flush(SocketSessionImpl session) + { + scheduleFlush(session); + Selector selector = this.selector; + if (selector != null) + { + selector.wakeup(); + } + } + + void updateTrafficMask(SocketSessionImpl session) + { + scheduleTrafficControl(session); + Selector selector = this.selector; + if (selector != null) + { + selector.wakeup(); + } + } + + private void scheduleRemove(SocketSessionImpl session) + { + synchronized (removingSessions) + { + removingSessions.push(session); + } + } + + private void scheduleFlush(SocketSessionImpl session) + { + synchronized (flushingSessions) + { + flushingSessions.push(session); + } + } + + private void scheduleTrafficControl(SocketSessionImpl session) + { + synchronized (trafficControllingSessions) + { + trafficControllingSessions.push(session); + } + } + + private void doAddNew() + { + if (newSessions.isEmpty()) + { + return; + } + + SocketSessionImpl session; + + for (; ;) + { + synchronized (newSessions) + { + session = (SocketSessionImpl) newSessions.pop(); + } + + if (session == null) + { + break; + } + + SocketChannel ch = session.getChannel(); + boolean registered; + + try + { + ch.configureBlocking(false); + session.setSelectionKey(ch.register(selector, + SelectionKey.OP_READ, + session)); + registered = true; + } + catch (IOException e) + { + session.getManagedSessions().remove(session); + registered = false; + ((SocketFilterChain) session.getFilterChain()).exceptionCaught(session, e); + } + + if (registered) + { + ((SocketFilterChain) session.getFilterChain()).sessionOpened(session); + } + } + } + + private void doRemove() + { + if (removingSessions.isEmpty()) + { + return; + } + + for (; ;) + { + SocketSessionImpl session; + + synchronized (removingSessions) + { + session = (SocketSessionImpl) removingSessions.pop(); + } + + if (session == null) + { + break; + } + + SocketChannel ch = session.getChannel(); + SelectionKey key = session.getSelectionKey(); + // Retry later if session is not yet fully initialized. + // (In case that Session.close() is called before addSession() is processed) + if (key == null) + { + scheduleRemove(session); + break; + } + // skip if channel is already closed + if (!key.isValid()) + { + continue; + } + + try + { + key.cancel(); + ch.close(); + } + catch (IOException e) + { + ((SocketFilterChain) session.getFilterChain()).exceptionCaught(session, e); + } + finally + { + releaseWriteBuffers(session); + session.getManagedSessions().remove(session); + + ((SocketFilterChain) session.getFilterChain()).sessionClosed(session); + session.getCloseFuture().setClosed(); + } + } + } + + private void process(Set selectedKeys) + { + Iterator it = selectedKeys.iterator(); + + while (it.hasNext()) + { + SelectionKey key = (SelectionKey) it.next(); + SocketSessionImpl session = (SocketSessionImpl) key.attachment(); + + if (key.isReadable() && session.getTrafficMask().isReadable()) + { + read(session); + } + + if (key.isWritable() && session.getTrafficMask().isWritable()) + { + scheduleFlush(session); + } + } + + selectedKeys.clear(); + } + + private void read(SocketSessionImpl session) + { + ByteBuffer buf = ByteBuffer.allocate(session.getReadBufferSize()); + SocketChannel ch = session.getChannel(); + + try + { + int readBytes = 0; + int ret; + + buf.clear(); + + try + { + while ((ret = ch.read(buf.buf())) > 0) + { + readBytes += ret; + } + } + finally + { + buf.flip(); + } + + session.increaseReadBytes(readBytes); + + if (readBytes > 0) + { + /*ByteBuffer newBuf = ByteBuffer.allocate(readBytes); + newBuf.put(buf); + newBuf.flip();*/ + //((SocketFilterChain) session.getFilterChain()).messageReceived(session, newBuf); + ((SocketFilterChain) session.getFilterChain()).messageReceived(session, buf); + } + if (ret < 0) + { + scheduleRemove(session); + } + } + catch (Throwable e) + { + if (e instanceof IOException) + { + scheduleRemove(session); + } + buf.release(); + ((SocketFilterChain) session.getFilterChain()).exceptionCaught(session, e); + } + /*finally + { + buf.release(); + } */ + } + + private void notifyIdleness() + { + // process idle sessions + long currentTime = System.currentTimeMillis(); + if ((currentTime - lastIdleCheckTime) >= 1000) + { + lastIdleCheckTime = currentTime; + Set keys = selector.keys(); + if (keys != null) + { + for (Iterator it = keys.iterator(); it.hasNext();) + { + SelectionKey key = (SelectionKey) it.next(); + SocketSessionImpl session = (SocketSessionImpl) key.attachment(); + notifyIdleness(session, currentTime); + } + } + } + } + + private void notifyIdleness(SocketSessionImpl session, long currentTime) + { + notifyIdleness0( + session, currentTime, + session.getIdleTimeInMillis(IdleStatus.BOTH_IDLE), + IdleStatus.BOTH_IDLE, + Math.max(session.getLastIoTime(), session.getLastIdleTime(IdleStatus.BOTH_IDLE))); + notifyIdleness0( + session, currentTime, + session.getIdleTimeInMillis(IdleStatus.READER_IDLE), + IdleStatus.READER_IDLE, + Math.max(session.getLastReadTime(), session.getLastIdleTime(IdleStatus.READER_IDLE))); + notifyIdleness0( + session, currentTime, + session.getIdleTimeInMillis(IdleStatus.WRITER_IDLE), + IdleStatus.WRITER_IDLE, + Math.max(session.getLastWriteTime(), session.getLastIdleTime(IdleStatus.WRITER_IDLE))); + + notifyWriteTimeout(session, currentTime, session + .getWriteTimeoutInMillis(), session.getLastWriteTime()); + } + + private void notifyIdleness0(SocketSessionImpl session, long currentTime, + long idleTime, IdleStatus status, + long lastIoTime) + { + if (idleTime > 0 && lastIoTime != 0 + && (currentTime - lastIoTime) >= idleTime) + { + session.increaseIdleCount(status); + ((SocketFilterChain) session.getFilterChain()).sessionIdle(session, status); + } + } + + private void notifyWriteTimeout(SocketSessionImpl session, + long currentTime, + long writeTimeout, long lastIoTime) + { + SelectionKey key = session.getSelectionKey(); + if (writeTimeout > 0 + && (currentTime - lastIoTime) >= writeTimeout + && key != null && key.isValid() + && (key.interestOps() & SelectionKey.OP_WRITE) != 0) + { + ((SocketFilterChain) session.getFilterChain()).exceptionCaught(session, new WriteTimeoutException()); + } + } + + private void doFlush() + { + if (flushingSessions.size() == 0) + { + return; + } + + for (; ;) + { + SocketSessionImpl session; + + synchronized (flushingSessions) + { + session = (SocketSessionImpl) flushingSessions.pop(); + } + + if (session == null) + { + break; + } + + if (!session.isConnected()) + { + releaseWriteBuffers(session); + continue; + } + + SelectionKey key = session.getSelectionKey(); + // Retry later if session is not yet fully initialized. + // (In case that Session.write() is called before addSession() is processed) + if (key == null) + { + scheduleFlush(session); + break; + } + // skip if channel is already closed + if (!key.isValid()) + { + continue; + } + + try + { + doFlush(session); + } + catch (IOException e) + { + scheduleRemove(session); + ((SocketFilterChain) session.getFilterChain()).exceptionCaught(session, e); + } + } + } + + private void releaseWriteBuffers(SocketSessionImpl session) + { + Queue writeRequestQueue = session.getWriteRequestQueue(); + WriteRequest req; + + while ((req = (WriteRequest) writeRequestQueue.pop()) != null) + { + try + { + ((ByteBuffer) req.getMessage()).release(); + } + catch (IllegalStateException e) + { + ((SocketFilterChain) session.getFilterChain()).exceptionCaught(session, e); + } + finally + { + req.getFuture().setWritten(false); + } + } + } + + private void doFlush(SocketSessionImpl session) throws IOException + { + // Clear OP_WRITE + SelectionKey key = session.getSelectionKey(); + key.interestOps(key.interestOps() & (~SelectionKey.OP_WRITE)); + + SocketChannel ch = session.getChannel(); + Queue writeRequestQueue = session.getWriteRequestQueue(); + + WriteRequest req; + for (; ;) + { + synchronized (writeRequestQueue) + { + req = (WriteRequest) writeRequestQueue.first(); + } + + if (req == null) + { + break; + } + + ByteBuffer buf = (ByteBuffer) req.getMessage(); + if (buf.remaining() == 0) + { + synchronized (writeRequestQueue) + { + writeRequestQueue.pop(); + } + + session.increaseWrittenWriteRequests(); + buf.reset(); + ((SocketFilterChain) session.getFilterChain()).messageSent(session, req); + continue; + } + + int writtenBytes = ch.write(buf.buf()); + if (writtenBytes > 0) + { + session.increaseWrittenBytes(writtenBytes); + } + + if (buf.hasRemaining()) + { + //_logger.info("Kernel buf full"); + // Kernel buffer is full + key.interestOps(key.interestOps() | SelectionKey.OP_WRITE); + selector.wakeup(); + break; + } + } + } + + private void doUpdateTrafficMask() + { + if (trafficControllingSessions.isEmpty()) + { + return; + } + + for (; ;) + { + SocketSessionImpl session; + + synchronized (trafficControllingSessions) + { + session = (SocketSessionImpl) trafficControllingSessions.pop(); + } + + if (session == null) + { + break; + } + + SelectionKey key = session.getSelectionKey(); + // Retry later if session is not yet fully initialized. + // (In case that Session.suspend??() or session.resume??() is + // called before addSession() is processed) + if (key == null) + { + scheduleTrafficControl(session); + break; + } + // skip if channel is already closed + if (!key.isValid()) + { + continue; + } + + // The normal is OP_READ and, if there are write requests in the + // session's write queue, set OP_WRITE to trigger flushing. + int ops = SelectionKey.OP_READ; + Queue writeRequestQueue = session.getWriteRequestQueue(); + synchronized (writeRequestQueue) + { + if (!writeRequestQueue.isEmpty()) + { + ops |= SelectionKey.OP_WRITE; + } + } + + // Now mask the preferred ops with the mask of the current session + int mask = session.getTrafficMask().getInterestOps(); + key.interestOps(ops & mask); + } + } + + /** + * Configures the number of processors employed. + * We first check for a system property "mina.IoProcessors". If this + * property is present and can be interpreted as an integer value greater + * or equal to 1, this value is used as the number of processors. + * Otherwise a default of 1 processor is employed. + * + * @return The nubmer of processors to employ + */ + private static int configureProcessorCount() + { + int processors = DEFAULT_PROCESSORS; + String processorProperty = System.getProperty(PROCESSORS_PROPERTY); + if (processorProperty != null) + { + try + { + processors = Integer.parseInt(processorProperty); + } + catch (NumberFormatException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + } + processors = Math.max(processors, 1); + + System.setProperty(PROCESSORS_PROPERTY, String.valueOf(processors)); + } + + return processors; + } + + private static SocketIoProcessor[] createProcessors() + { + SocketIoProcessor[] processors = new SocketIoProcessor[ PROCESSOR_COUNT ]; + for (int i = 0; i < PROCESSOR_COUNT; i ++) + { + processors[i] = new SocketIoProcessor(THREAD_PREFIX + i); + } + return processors; + } + + private class WorkerFlusher implements Runnable + { + private volatile boolean _shutdown = false; + + private volatile boolean _sleep = false; + + private final Object _lock = new Object(); + + public void run() + { + while (!_shutdown) + { + doFlush(); + try + { + sleep(); + } + catch (InterruptedException e) + { + // IGNORE + } + } + _logger.info("Flusher shutting down"); + } + + private void sleep() throws InterruptedException + { + synchronized (_lock) + { + while (_sleep && !_shutdown) + { + _logger.debug("Flusher going to sleep"); + _lock.wait(); + } + _sleep = true; + } + } + + void wakeup() + { + synchronized (_lock) + { + if (_sleep) + { + _logger.debug("Waking up flusher"); + _sleep = false; + _lock.notify(); + } + } + } + + void shutdown() + { + _shutdown = true; + wakeup(); + } + } + + private class Worker extends Thread + { + private WorkerFlusher _flusher; + + public Worker() + { + super(SocketIoProcessor.this.threadName); + _flusher = new WorkerFlusher(); + new Thread(_flusher, SocketIoProcessor.this.threadName + "Flusher").start(); + } + + public void run() + { + for (; ;) + { + try + { + int nKeys = selector.select(1000); + doAddNew(); + doUpdateTrafficMask(); + + if (nKeys > 0) + { + process(selector.selectedKeys()); + } + + //doFlush(); + // in case the flusher has gone to sleep we wake it up + if (flushingSessions.size() > 0) + { + _flusher.wakeup(); + } + doRemove(); + notifyIdleness(); + + if (selector.keys().isEmpty()) + { + synchronized (SocketIoProcessor.this) + { + if (selector.keys().isEmpty() && + newSessions.isEmpty()) + { + worker = null; + _flusher.shutdown(); + try + { + selector.close(); + } + catch (IOException e) + { + ExceptionMonitor.getInstance().exceptionCaught(e); + } + finally + { + selector = null; + } + break; + } + } + } + } + catch (Throwable t) + { + ExceptionMonitor.getInstance().exceptionCaught(t); + + try + { + Thread.sleep(1000); + } + catch (InterruptedException e1) + { + } + } + } + } + } + +} diff --git a/java/common/src/org/apache/qpid/nio/SocketSessionImpl.java b/java/common/src/org/apache/qpid/nio/SocketSessionImpl.java new file mode 100644 index 0000000000..f7c74f7a14 --- /dev/null +++ b/java/common/src/org/apache/qpid/nio/SocketSessionImpl.java @@ -0,0 +1,404 @@ +/* + * @(#) $Id: SocketSessionImpl.java 385247 2006-03-12 05:06:11Z trustin $ + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.nio; + +import org.apache.mina.common.IoFilter.WriteRequest; +import org.apache.mina.common.*; +import org.apache.mina.common.support.BaseIoSession; +import org.apache.mina.common.support.BaseIoSessionConfig; +import org.apache.mina.transport.socket.nio.SocketSessionConfig; +import org.apache.mina.util.Queue; + +import java.net.SocketAddress; +import java.net.SocketException; +import java.nio.channels.SelectionKey; +import java.nio.channels.SocketChannel; +import java.util.Set; + +/** + * An {@link IoSession} for socket transport (TCP/IP). + * + * @author The Apache Directory Project (dev@directory.apache.org) + * @version $Rev: 385247 $, $Date: 2006-03-12 05:06:11 +0000 (Sun, 12 Mar 2006) $ + */ +class SocketSessionImpl extends BaseIoSession +{ + private final IoService manager; + private final SocketSessionConfig config = new SocketSessionConfigImpl(); + private final SocketIoProcessor ioProcessor; + private final SocketFilterChain filterChain; + private final SocketChannel ch; + private final Queue writeRequestQueue; + private final IoHandler handler; + private final SocketAddress remoteAddress; + private final SocketAddress localAddress; + private final SocketAddress serviceAddress; + private final Set managedSessions; + private SelectionKey key; + private int readBufferSize; + + /** + * Creates a new instance. + */ + public SocketSessionImpl( + IoService manager, Set managedSessions, + IoSessionConfig config, + SocketChannel ch, IoHandler defaultHandler, + SocketAddress serviceAddress ) + { + this.manager = manager; + this.managedSessions = managedSessions; + this.ioProcessor = SocketIoProcessor.getInstance(); + this.filterChain = new SocketFilterChain( this ); + this.ch = ch; + this.writeRequestQueue = new Queue(); + this.handler = defaultHandler; + this.remoteAddress = ch.socket().getRemoteSocketAddress(); + this.localAddress = ch.socket().getLocalSocketAddress(); + this.serviceAddress = serviceAddress; + + // Apply the initial session settings + if( config instanceof SocketSessionConfig ) + { + SocketSessionConfig cfg = ( SocketSessionConfig ) config; + this.config.setKeepAlive( cfg.isKeepAlive() ); + this.config.setOobInline( cfg.isOobInline() ); + this.config.setReceiveBufferSize( cfg.getReceiveBufferSize() ); + this.readBufferSize = cfg.getReceiveBufferSize(); + this.config.setReuseAddress( cfg.isReuseAddress() ); + this.config.setSendBufferSize( cfg.getSendBufferSize() ); + this.config.setSoLinger( cfg.getSoLinger() ); + this.config.setTcpNoDelay( cfg.isTcpNoDelay() ); + + if( this.config.getTrafficClass() != cfg.getTrafficClass() ) + { + this.config.setTrafficClass( cfg.getTrafficClass() ); + } + } + } + + public IoService getService() + { + return manager; + } + + public IoSessionConfig getConfig() + { + return config; + } + + SocketIoProcessor getIoProcessor() + { + return ioProcessor; + } + + public IoFilterChain getFilterChain() + { + return filterChain; + } + + SocketChannel getChannel() + { + return ch; + } + + Set getManagedSessions() + { + return managedSessions; + } + + SelectionKey getSelectionKey() + { + return key; + } + + void setSelectionKey( SelectionKey key ) + { + this.key = key; + } + + public IoHandler getHandler() + { + return handler; + } + + protected void close0() + { + filterChain.filterClose( this ); + } + + Queue getWriteRequestQueue() + { + return writeRequestQueue; + } + + public int getScheduledWriteRequests() + { + synchronized( writeRequestQueue ) + { + return writeRequestQueue.size(); + } + } + + public int getScheduledWriteBytes() + { + synchronized( writeRequestQueue ) + { + return writeRequestQueue.byteSize(); + } + } + + protected void write0( WriteRequest writeRequest ) + { + filterChain.filterWrite( this, writeRequest ); + } + + public TransportType getTransportType() + { + return TransportType.SOCKET; + } + + public SocketAddress getRemoteAddress() + { + return remoteAddress; + } + + public SocketAddress getLocalAddress() + { + return localAddress; + } + + public SocketAddress getServiceAddress() + { + return serviceAddress; + } + + protected void updateTrafficMask() + { + this.ioProcessor.updateTrafficMask( this ); + } + + int getReadBufferSize() + { + return readBufferSize; + } + + private class SocketSessionConfigImpl extends BaseIoSessionConfig implements SocketSessionConfig + { + public boolean isKeepAlive() + { + try + { + return ch.socket().getKeepAlive(); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public void setKeepAlive( boolean on ) + { + try + { + ch.socket().setKeepAlive( on ); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public boolean isOobInline() + { + try + { + return ch.socket().getOOBInline(); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public void setOobInline( boolean on ) + { + try + { + ch.socket().setOOBInline( on ); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public boolean isReuseAddress() + { + try + { + return ch.socket().getReuseAddress(); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public void setReuseAddress( boolean on ) + { + try + { + ch.socket().setReuseAddress( on ); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public int getSoLinger() + { + try + { + return ch.socket().getSoLinger(); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public void setSoLinger( int linger ) + { + try + { + if( linger < 0 ) + { + ch.socket().setSoLinger( false, 0 ); + } + else + { + ch.socket().setSoLinger( true, linger ); + } + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public boolean isTcpNoDelay() + { + try + { + return ch.socket().getTcpNoDelay(); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public void setTcpNoDelay( boolean on ) + { + try + { + ch.socket().setTcpNoDelay( on ); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public int getTrafficClass() + { + try + { + return ch.socket().getTrafficClass(); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public void setTrafficClass( int tc ) + { + try + { + ch.socket().setTrafficClass( tc ); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public int getSendBufferSize() + { + try + { + return ch.socket().getSendBufferSize(); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public void setSendBufferSize( int size ) + { + try + { + ch.socket().setSendBufferSize( size ); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public int getReceiveBufferSize() + { + try + { + return ch.socket().getReceiveBufferSize(); + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + + public void setReceiveBufferSize( int size ) + { + try + { + ch.socket().setReceiveBufferSize( size ); + SocketSessionImpl.this.readBufferSize = size; + } + catch( SocketException e ) + { + throw new RuntimeIOException( e ); + } + } + } +} diff --git a/java/common/src/org/apache/qpid/pool/Event.java b/java/common/src/org/apache/qpid/pool/Event.java new file mode 100644 index 0000000000..6bf86ffc2e --- /dev/null +++ b/java/common/src/org/apache/qpid/pool/Event.java @@ -0,0 +1,111 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.pool; + +import org.apache.log4j.Logger; +import org.apache.mina.common.IoFilter; +import org.apache.mina.common.IoSession; +import org.apache.mina.common.IdleStatus; + +/** + * Represents an operation on IoFilter. + */ +enum EventType +{ + OPENED, CLOSED, READ, WRITE, WRITTEN, RECEIVED, SENT, IDLE, EXCEPTION +} + +class Event +{ + private static final Logger _log = Logger.getLogger(Event.class); + + private final EventType type; + private final IoFilter.NextFilter nextFilter; + private final Object data; + + public Event(IoFilter.NextFilter nextFilter, EventType type, Object data) + { + this.type = type; + this.nextFilter = nextFilter; + this.data = data; + if (type == EventType.EXCEPTION) + { + _log.error("Exception event constructed: " + data, (Exception) data); + } + } + + public Object getData() + { + return data; + } + + + public IoFilter.NextFilter getNextFilter() + { + return nextFilter; + } + + + public EventType getType() + { + return type; + } + + void process(IoSession session) + { + if (_log.isDebugEnabled()) + { + _log.debug("Processing " + this); + } + if (type == EventType.RECEIVED) + { + nextFilter.messageReceived(session, data); + //ByteBufferUtil.releaseIfPossible( data ); + } + else if (type == EventType.SENT) + { + nextFilter.messageSent(session, data); + //ByteBufferUtil.releaseIfPossible( data ); + } + else if (type == EventType.EXCEPTION) + { + nextFilter.exceptionCaught(session, (Throwable) data); + } + else if (type == EventType.IDLE) + { + nextFilter.sessionIdle(session, (IdleStatus) data); + } + else if (type == EventType.OPENED) + { + nextFilter.sessionOpened(session); + } + else if (type == EventType.WRITE) + { + nextFilter.filterWrite(session, (IoFilter.WriteRequest) data); + } + else if (type == EventType.CLOSED) + { + nextFilter.sessionClosed(session); + } + } + + public String toString() + { + return "Event: type " + type + ", data: " + data; + } +} diff --git a/java/common/src/org/apache/qpid/pool/Job.java b/java/common/src/org/apache/qpid/pool/Job.java new file mode 100644 index 0000000000..45a115bcd3 --- /dev/null +++ b/java/common/src/org/apache/qpid/pool/Job.java @@ -0,0 +1,110 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.pool; + +import org.apache.mina.common.IoSession; + +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * Holds events for a session that will be processed asynchronously by + * the thread pool in PoolingFilter. + */ +class Job implements Runnable +{ + private final int _maxEvents; + private final IoSession _session; + private final java.util.Queue<Event> _eventQueue = new ConcurrentLinkedQueue<Event>(); + private final AtomicBoolean _active = new AtomicBoolean(); + private final AtomicInteger _refCount = new AtomicInteger(); + private final JobCompletionHandler _completionHandler; + + Job(IoSession session, JobCompletionHandler completionHandler, int maxEvents) + { + _session = session; + _completionHandler = completionHandler; + _maxEvents = maxEvents; + } + + void acquire() + { + _refCount.incrementAndGet(); + } + + void release() + { + _refCount.decrementAndGet(); + } + + boolean isReferenced() + { + return _refCount.get() > 0; + } + + void add(Event evt) + { + _eventQueue.add(evt); + } + + void processAll() + { + //limit the number of events processed in one run + for (int i = 0; i < _maxEvents; i++) + { + Event e = _eventQueue.poll(); + if (e == null) + { + break; + } + else + { + e.process(_session); + } + } + } + + boolean isComplete() + { + return _eventQueue.peek() == null; + } + + boolean activate() + { + return _active.compareAndSet(false, true); + } + + void deactivate() + { + _active.set(false); + } + + public void run() + { + processAll(); + deactivate(); + _completionHandler.completed(_session, this); + } + + + static interface JobCompletionHandler + { + public void completed(IoSession session, Job job); + } +} diff --git a/java/common/src/org/apache/qpid/pool/PoolingFilter.java b/java/common/src/org/apache/qpid/pool/PoolingFilter.java new file mode 100644 index 0000000000..ecb0bd5048 --- /dev/null +++ b/java/common/src/org/apache/qpid/pool/PoolingFilter.java @@ -0,0 +1,183 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.pool; + +import org.apache.log4j.Logger; +import org.apache.mina.common.IdleStatus; +import org.apache.mina.common.IoFilterAdapter; +import org.apache.mina.common.IoSession; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +public class PoolingFilter extends IoFilterAdapter implements Job.JobCompletionHandler +{ + private static final Logger _logger = Logger.getLogger(PoolingFilter.class); + public static final Set<EventType> READ_EVENTS = new HashSet<EventType>(Arrays.asList(EventType.RECEIVED)); + public static final Set<EventType> WRITE_EVENTS = new HashSet<EventType>(Arrays.asList(EventType.WRITE)); + + private final ConcurrentMap<IoSession, Job> _jobs = new ConcurrentHashMap<IoSession, Job>(); + private final ReferenceCountingExecutorService _poolReference; + private final Set<EventType> _asyncTypes; + + private final String _name; + private final int _maxEvents = Integer.getInteger("amqj.server.read_write_pool.max_events", 10); + + public PoolingFilter(ReferenceCountingExecutorService refCountingPool, Set<EventType> asyncTypes, String name) + { + _poolReference = refCountingPool; + _asyncTypes = asyncTypes; + _name = name; + } + + private void fireEvent(IoSession session, Event event) + { + if (_asyncTypes.contains(event.getType())) + { + Job job = getJobForSession(session); + job.acquire(); //prevents this job being removed from _jobs + job.add(event); + if (job.activate()) + { + _poolReference.getPool().execute(job); + } + } + else + { + event.process(session); + } + } + + private Job getJobForSession(IoSession session) + { + Job job = _jobs.get(session); + return job == null ? createJobForSession(session) : job; + } + + private Job createJobForSession(IoSession session) + { + return addJobForSession(session, new Job(session, this, _maxEvents)); + } + + private Job addJobForSession(IoSession session, Job job) + { + //atomic so ensures all threads agree on the same job + Job existing = _jobs.putIfAbsent(session, job); + return existing == null ? job : existing; + } + + //Job.JobCompletionHandler + public void completed(IoSession session, Job job) + { + if (job.isComplete()) + { + job.release(); + if (!job.isReferenced()) + { + _jobs.remove(session); + } + } + else + { + if (job.activate()) + { + _poolReference.getPool().execute(job); + } + } + } + + //IoFilter methods that are processed by threads on the pool + + public void sessionOpened(NextFilter nextFilter, IoSession session) throws Exception + { + fireEvent(session, new Event(nextFilter, EventType.OPENED, null)); + } + + public void sessionClosed(NextFilter nextFilter, IoSession session) throws Exception + { + fireEvent(session, new Event(nextFilter, EventType.CLOSED, null)); + } + + public void sessionIdle(NextFilter nextFilter, IoSession session, + IdleStatus status) throws Exception + { + fireEvent(session, new Event(nextFilter, EventType.IDLE, status)); + } + + public void exceptionCaught(NextFilter nextFilter, IoSession session, + Throwable cause) throws Exception + { + fireEvent(session, new Event(nextFilter, EventType.EXCEPTION, cause)); + } + + public void messageReceived(NextFilter nextFilter, IoSession session, + Object message) throws Exception + { + //ByteBufferUtil.acquireIfPossible( message ); + fireEvent(session, new Event(nextFilter, EventType.RECEIVED, message)); + } + + public void messageSent(NextFilter nextFilter, IoSession session, + Object message) throws Exception + { + //ByteBufferUtil.acquireIfPossible( message ); + fireEvent(session, new Event(nextFilter, EventType.SENT, message)); + } + + public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception + { + fireEvent(session, new Event(nextFilter, EventType.WRITE, writeRequest)); + } + + //IoFilter methods that are processed on current thread (NOT on pooled thread) + + public void filterClose(NextFilter nextFilter, IoSession session) throws Exception + { + nextFilter.filterClose(session); + } + + public void sessionCreated(NextFilter nextFilter, IoSession session) + { + nextFilter.sessionCreated(session); + } + + public String toString() + { + return _name; + } + + // LifeCycle methods + + public void init() + { + _logger.info("Init called on PoolingFilter " + toString()); + // called when the filter is initialised in the chain. If the reference count is + // zero this acquire will initialise the pool + _poolReference.acquireExecutorService(); + } + + public void destroy() + { + _logger.info("Destroy called on PoolingFilter " + toString()); + // when the reference count gets to zero we release the executor service + _poolReference.releaseExecutorService(); + } +} diff --git a/java/common/src/org/apache/qpid/pool/ReadWriteThreadModel.java b/java/common/src/org/apache/qpid/pool/ReadWriteThreadModel.java new file mode 100644 index 0000000000..5de2bf8d0e --- /dev/null +++ b/java/common/src/org/apache/qpid/pool/ReadWriteThreadModel.java @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.pool; + +import org.apache.mina.common.IoFilterChain; +import org.apache.mina.common.ReferenceCountingIoFilter; +import org.apache.mina.common.ThreadModel; + +public class ReadWriteThreadModel implements ThreadModel +{ + public void buildFilterChain(IoFilterChain chain) throws Exception + { + ReferenceCountingExecutorService executor = ReferenceCountingExecutorService.getInstance(); + PoolingFilter asyncRead = new PoolingFilter(executor, PoolingFilter.READ_EVENTS, + "AsynchronousReadFilter"); + PoolingFilter asyncWrite = new PoolingFilter(executor, PoolingFilter.WRITE_EVENTS, + "AsynchronousWriteFilter"); + + chain.addFirst("AsynchronousReadFilter", new ReferenceCountingIoFilter(asyncRead)); + chain.addLast("AsynchronousWriteFilter", new ReferenceCountingIoFilter(asyncWrite)); + } +} diff --git a/java/common/src/org/apache/qpid/pool/ReferenceCountingExecutorService.java b/java/common/src/org/apache/qpid/pool/ReferenceCountingExecutorService.java new file mode 100644 index 0000000000..f048a12b90 --- /dev/null +++ b/java/common/src/org/apache/qpid/pool/ReferenceCountingExecutorService.java @@ -0,0 +1,95 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.pool; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * We share the executor service among several PoolingFilters. This class reference counts + * how many filter chains are using the executor service and destroys the service, thus + * freeing up its threads, when the count reaches zero. It recreates the service when + * the count is incremented. + * + * This is particularly important on the client where failing to destroy the executor + * service prevents the JVM from shutting down due to the existence of non-daemon threads. + * + */ +public class ReferenceCountingExecutorService +{ + private static final int MINIMUM_POOL_SIZE = 4; + private static final int NUM_CPUS = Runtime.getRuntime().availableProcessors(); + private static final int DEFAULT_POOL_SIZE = Math.max(NUM_CPUS, MINIMUM_POOL_SIZE); + + /** + * We need to be able to check the current reference count and if necessary + * create the executor service atomically. + */ + private static final ReferenceCountingExecutorService _instance = new ReferenceCountingExecutorService(); + + private final Object _lock = new Object(); + + private ExecutorService _pool; + + private int _refCount = 0; + + private int _poolSize = Integer.getInteger("amqj.read_write_pool_size", DEFAULT_POOL_SIZE); + + public static ReferenceCountingExecutorService getInstance() + { + return _instance; + } + + private ReferenceCountingExecutorService() + { + } + + ExecutorService acquireExecutorService() + { + synchronized (_lock) + { + if (_refCount++ == 0) + { + _pool = Executors.newFixedThreadPool(_poolSize); + } + return _pool; + } + } + + void releaseExecutorService() + { + synchronized (_lock) + { + if (--_refCount == 0) + { + _pool.shutdownNow(); + } + } + } + + /** + * The filters that use the executor service should call this method to get access + * to the service. Note that this method does not alter the reference count. + * + * @return the underlying executor service + */ + public ExecutorService getPool() + { + return _pool; + } +} diff --git a/java/common/src/org/apache/qpid/protocol/AMQConstant.java b/java/common/src/org/apache/qpid/protocol/AMQConstant.java new file mode 100644 index 0000000000..0716104688 --- /dev/null +++ b/java/common/src/org/apache/qpid/protocol/AMQConstant.java @@ -0,0 +1,105 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.protocol; + +import java.util.Map; +import java.util.HashMap; + +public final class AMQConstant +{ + private int _code; + + private String _name; + + private static Map _codeMap = new HashMap(); + + private AMQConstant(int code, String name, boolean map) + { + _code = code; + _name = name; + if (map) + { + _codeMap.put(new Integer(code), this); + } + } + + public String toString() + { + return _code + ": " + _name; + } + + public int getCode() + { + return _code; + } + + public String getName() + { + return _name; + } + + public static final AMQConstant FRAME_MIN_SIZE = new AMQConstant(4096, "frame min size", true); + + public static final AMQConstant FRAME_END = new AMQConstant(206, "frame end", true); + + public static final AMQConstant REPLY_SUCCESS = new AMQConstant(200, "reply success", true); + + public static final AMQConstant NOT_DELIVERED = new AMQConstant(310, "not delivered", true); + + public static final AMQConstant MESSAGE_TOO_LARGE = new AMQConstant(311, "message too large", true); + + public static final AMQConstant NO_ROUTE = new AMQConstant(312, "no route", true); + + public static final AMQConstant NO_CONSUMERS = new AMQConstant(313, "no consumers", true); + + public static final AMQConstant CONTEXT_IN_USE = new AMQConstant(320, "context in use", true); + + public static final AMQConstant CONTEXT_UNKNOWN = new AMQConstant(321, "context unknown", true); + + public static final AMQConstant INVALID_PATH = new AMQConstant(402, "invalid path", true); + + public static final AMQConstant ACCESS_REFUSED = new AMQConstant(403, "access refused", true); + + public static final AMQConstant NOT_FOUND = new AMQConstant(404, "not found", true); + + public static final AMQConstant FRAME_ERROR = new AMQConstant(501, "frame error", true); + + public static final AMQConstant SYNTAX_ERROR = new AMQConstant(502, "syntax error", true); + + public static final AMQConstant COMMAND_INVALID = new AMQConstant(503, "command invalid", true); + + public static final AMQConstant CHANNEL_ERROR = new AMQConstant(504, "channel error", true); + + public static final AMQConstant RESOURCE_ERROR = new AMQConstant(506, "resource error", true); + + public static final AMQConstant NOT_ALLOWED = new AMQConstant(507, "not allowed", true); + + public static final AMQConstant NOT_IMPLEMENTED = new AMQConstant(540, "not implemented", true); + + public static final AMQConstant INTERNAL_ERROR = new AMQConstant(541, "internal error", true); + + public static AMQConstant getConstant(int code) + { + AMQConstant c = (AMQConstant) _codeMap.get(new Integer(code)); + if (c == null) + { + c = new AMQConstant(code, "unknown code", false); + } + return c; + } +} diff --git a/java/common/src/org/apache/qpid/ssl/BogusSSLContextFactory.java b/java/common/src/org/apache/qpid/ssl/BogusSSLContextFactory.java new file mode 100644 index 0000000000..c066fd0370 --- /dev/null +++ b/java/common/src/org/apache/qpid/ssl/BogusSSLContextFactory.java @@ -0,0 +1,156 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ssl; + +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.SSLContext; +import java.io.IOException; +import java.io.InputStream; +import java.security.GeneralSecurityException; +import java.security.KeyStore; + +/** + * Factory to create a bogus SSLContext. This means that it is easy to test SSL but this + * cannot be used in a production environment. + * <p/> + * This is based on the sample that comes with MINA, written by Trustin Lee + */ +public class BogusSSLContextFactory +{ + /** + * Protocol to use. + */ + private static final String PROTOCOL = "TLS"; + + /** + * Bougus Server certificate keystore file name. + */ + private static final String BOGUS_KEYSTORE = "qpid.cert"; + + // NOTE: The keystore was generated using keytool: + // keytool -genkey -alias qpid -keysize 512 -validity 3650 + // -keyalg RSA -dname "CN=amqp.org" -keypass qpidpw + // -storepass qpidpw -keystore qpid.cert + + private static final char[] BOGUS_KEYSTORE_PASSWORD = {'q', 'p', 'i', 'd', 'p', 'w'}; + + private static SSLContext serverInstance = null; + + private static SSLContext clientInstance = null; + + /** + * Get SSLContext singleton. + * + * @return SSLContext + * @throws java.security.GeneralSecurityException + */ + public static SSLContext getInstance(boolean server) + throws GeneralSecurityException + { + SSLContext retInstance; + if (server) + { + // FIXME: looks like double-checking locking + if (serverInstance == null) + { + synchronized (BogusSSLContextFactory.class) + { + if (serverInstance == null) + { + try + { + serverInstance = createBougusServerSSLContext(); + } + catch (Exception ioe) + { + throw new GeneralSecurityException( + "Can't create Server SSLContext:" + ioe); + } + } + } + } + retInstance = serverInstance; + } + else + { + // FIXME: looks like double-checking locking + if (clientInstance == null) + { + synchronized (BogusSSLContextFactory.class) + { + if (clientInstance == null) + { + clientInstance = createBougusClientSSLContext(); + } + } + } + retInstance = clientInstance; + } + return retInstance; + } + + private static SSLContext createBougusServerSSLContext() + throws GeneralSecurityException, IOException + { + // Create keystore + KeyStore ks = KeyStore.getInstance("JKS"); + InputStream in = null; + try + { + in = BogusSSLContextFactory.class.getResourceAsStream(BOGUS_KEYSTORE); + if (in == null) + { + throw new IOException("Unable to load keystore resource: " + BOGUS_KEYSTORE); + } + ks.load(in, BOGUS_KEYSTORE_PASSWORD); + } + finally + { + if (in != null) + { + //noinspection EmptyCatchBlock + try + { + in.close(); + } + catch (IOException ignored) + { + } + } + } + + // Set up key manager factory to use our key store + KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); + kmf.init(ks, BOGUS_KEYSTORE_PASSWORD); + + // Initialize the SSLContext to work with our key managers. + SSLContext sslContext = SSLContext.getInstance(PROTOCOL); + sslContext.init(kmf.getKeyManagers(), BogusTrustManagerFactory.X509_MANAGERS, null); + + return sslContext; + } + + private static SSLContext createBougusClientSSLContext() + throws GeneralSecurityException + { + SSLContext context = SSLContext.getInstance(PROTOCOL); + context.init(null, BogusTrustManagerFactory.X509_MANAGERS, null); + return context; + } + +} diff --git a/java/common/src/org/apache/qpid/ssl/BogusTrustManagerFactory.java b/java/common/src/org/apache/qpid/ssl/BogusTrustManagerFactory.java new file mode 100644 index 0000000000..8a71e3d7c8 --- /dev/null +++ b/java/common/src/org/apache/qpid/ssl/BogusTrustManagerFactory.java @@ -0,0 +1,79 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ssl; + +import javax.net.ssl.ManagerFactoryParameters; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactorySpi; +import javax.net.ssl.X509TrustManager; +import java.security.InvalidAlgorithmParameterException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; + +/** + * Bogus trust manager factory. Used to make testing SSL simpler - i.e no need to + * mess about with keystores. + * <p/> + * This is based on the example that comes with MINA, written by Trustin Lee. + */ +class BogusTrustManagerFactory extends TrustManagerFactorySpi +{ + + static final X509TrustManager X509 = new X509TrustManager() + { + public void checkClientTrusted(X509Certificate[] x509Certificates, + String s) throws CertificateException + { + } + + public void checkServerTrusted(X509Certificate[] x509Certificates, + String s) throws CertificateException + { + } + + public X509Certificate[] getAcceptedIssuers() + { + return new X509Certificate[ 0 ]; + } + }; + + static final TrustManager[] X509_MANAGERS = new TrustManager[]{X509}; + + public BogusTrustManagerFactory() + { + } + + protected TrustManager[] engineGetTrustManagers() + { + return X509_MANAGERS; + } + + protected void engineInit(KeyStore keystore) throws KeyStoreException + { + // noop + } + + protected void engineInit( + ManagerFactoryParameters managerFactoryParameters) + throws InvalidAlgorithmParameterException + { + // noop + } +} diff --git a/java/common/src/org/apache/qpid/ssl/SSLServerSocketFactory.java b/java/common/src/org/apache/qpid/ssl/SSLServerSocketFactory.java new file mode 100644 index 0000000000..f2d5396637 --- /dev/null +++ b/java/common/src/org/apache/qpid/ssl/SSLServerSocketFactory.java @@ -0,0 +1,105 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ssl; + +import javax.net.ServerSocketFactory; +import java.io.IOException; +import java.net.InetAddress; +import java.net.ServerSocket; +import java.security.GeneralSecurityException; + +/** + * Simple Server Socket factory to create sockets with or without SSL enabled. + * If SSL enabled a "bogus" SSL Context is used (suitable for test purposes) + * <p/> + * This is based on the example that comes with MINA, written by Trustin Lee. + */ +public class SSLServerSocketFactory extends javax.net.ServerSocketFactory +{ + private static boolean sslEnabled = false; + + private static javax.net.ServerSocketFactory sslFactory = null; + + private static ServerSocketFactory factory = null; + + public SSLServerSocketFactory() + { + super(); + } + + public ServerSocket createServerSocket(int port) throws IOException + { + return new ServerSocket(port); + } + + public ServerSocket createServerSocket(int port, int backlog) + throws IOException + { + return new ServerSocket(port, backlog); + } + + public ServerSocket createServerSocket(int port, int backlog, + InetAddress ifAddress) + throws IOException + { + return new ServerSocket(port, backlog, ifAddress); + } + + public static javax.net.ServerSocketFactory getServerSocketFactory() + throws IOException + { + if (isSslEnabled()) + { + if (sslFactory == null) + { + try + { + sslFactory = BogusSSLContextFactory.getInstance(true) + .getServerSocketFactory(); + } + catch (GeneralSecurityException e) + { + IOException ioe = new IOException( + "could not create SSL socket"); + ioe.initCause(e); + throw ioe; + } + } + return sslFactory; + } + else + { + if (factory == null) + { + factory = new SSLServerSocketFactory(); + } + return factory; + } + + } + + public static boolean isSslEnabled() + { + return sslEnabled; + } + + public static void setSslEnabled(boolean newSslEnabled) + { + sslEnabled = newSslEnabled; + } +} diff --git a/java/common/src/org/apache/qpid/ssl/SSLSocketFactory.java b/java/common/src/org/apache/qpid/ssl/SSLSocketFactory.java new file mode 100644 index 0000000000..31dccb593e --- /dev/null +++ b/java/common/src/org/apache/qpid/ssl/SSLSocketFactory.java @@ -0,0 +1,135 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.ssl; + +import javax.net.SocketFactory; +import java.io.IOException; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import java.security.GeneralSecurityException; + +/** + * Simple Socket factory to create sockets with or without SSL enabled. + * If SSL enabled a "bogus" SSL Context is used (suitable for test purposes). + * <p/> + * This is based on an example that comes with MINA, written by Trustin Lee. + */ +public class SSLSocketFactory extends SocketFactory +{ + private static boolean sslEnabled = false; + + private static javax.net.ssl.SSLSocketFactory sslFactory = null; + + private static javax.net.SocketFactory factory = null; + + public SSLSocketFactory() + { + super(); + } + + public Socket createSocket(String arg1, int arg2) throws IOException, + UnknownHostException + { + if (isSslEnabled()) + { + return getSSLFactory().createSocket(arg1, arg2); + } + else + { + return new Socket(arg1, arg2); + } + } + + public Socket createSocket(String arg1, int arg2, InetAddress arg3, + int arg4) throws IOException, + UnknownHostException + { + if (isSslEnabled()) + { + return getSSLFactory().createSocket(arg1, arg2, arg3, arg4); + } + else + { + return new Socket(arg1, arg2, arg3, arg4); + } + } + + public Socket createSocket(InetAddress arg1, int arg2) + throws IOException + { + if (isSslEnabled()) + { + return getSSLFactory().createSocket(arg1, arg2); + } + else + { + return new Socket(arg1, arg2); + } + } + + public Socket createSocket(InetAddress arg1, int arg2, InetAddress arg3, + int arg4) throws IOException + { + if (isSslEnabled()) + { + return getSSLFactory().createSocket(arg1, arg2, arg3, arg4); + } + else + { + return new Socket(arg1, arg2, arg3, arg4); + } + } + + public static javax.net.SocketFactory getSocketFactory() + { + if (factory == null) + { + factory = new SSLSocketFactory(); + } + return factory; + } + + private javax.net.ssl.SSLSocketFactory getSSLFactory() + { + if (sslFactory == null) + { + try + { + sslFactory = BogusSSLContextFactory.getInstance(false) + .getSocketFactory(); + } + catch (GeneralSecurityException e) + { + throw new RuntimeException("could not create SSL socket", e); + } + } + return sslFactory; + } + + public static boolean isSslEnabled() + { + return sslEnabled; + } + + public static void setSslEnabled(boolean newSslEnabled) + { + sslEnabled = newSslEnabled; + } + +} diff --git a/java/common/src/org/apache/qpid/url/AMQBindingURL.java b/java/common/src/org/apache/qpid/url/AMQBindingURL.java new file mode 100644 index 0000000000..5ea1a55f2a --- /dev/null +++ b/java/common/src/org/apache/qpid/url/AMQBindingURL.java @@ -0,0 +1,260 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.url; + +import org.apache.qpid.url.BindingURL; +import org.apache.qpid.url.URLHelper; +import org.apache.qpid.exchange.ExchangeDefaults; + +import java.util.HashMap; +import java.net.URI; +import java.net.URISyntaxException; + +public class AMQBindingURL implements BindingURL +{ + String _url; + String _exchangeClass; + String _exchangeName; + String _destinationName; + String _queueName; + private HashMap<String, String> _options; + + + public AMQBindingURL(String url) throws URLSyntaxException + { + //format: + // <exch_class>://<exch_name>/[<destination>]/[<queue>]?<option>='<value>'[,<option>='<value>']* + + _url = url; + _options = new HashMap<String, String>(); + + parseBindingURL(); + } + + private void parseBindingURL() throws URLSyntaxException + { + try + { + URI connection = new URI(_url); + + String exchangeClass = connection.getScheme(); + + if (exchangeClass == null) + { + _url = ExchangeDefaults.DIRECT_EXCHANGE_CLASS + "://" + + ExchangeDefaults.DIRECT_EXCHANGE_NAME + "//" + _url; + //URLHelper.parseError(-1, "Exchange Class not specified.", _url); + parseBindingURL(); + return; + } + else + { + setExchangeClass(exchangeClass); + } + + String exchangeName = connection.getHost(); + + if (exchangeName == null) + { + URLHelper.parseError(-1, "Exchange Name not specified.", _url); + } + else + { + setExchangeName(exchangeName); + } + + if (connection.getPath() == null || + connection.getPath().equals("")) + { + URLHelper.parseError(_url.indexOf(_exchangeName) + _exchangeName.length(), + "Destination or Queue requried", _url); + } + else + { + int slash = connection.getPath().indexOf("/", 1); + if (slash == -1) + { + URLHelper.parseError(_url.indexOf(_exchangeName) + _exchangeName.length(), + "Destination requried", _url); + } + else + { + String path = connection.getPath(); + setDestinationName(path.substring(1, slash)); + + setQueueName(path.substring(slash + 1)); + + } + } + + URLHelper.parseOptions(_options, connection.getQuery()); + + processOptions(); + + //Fragment is #string (not used) + //System.out.println(connection.getFragment()); + + } + catch (URISyntaxException uris) + { + + URLHelper.parseError(uris.getIndex(), uris.getReason(), uris.getInput()); + + } + } + + private void processOptions() + { + //this is where we would parse any options that needed more than just storage. + } + + public String getURL() + { + return _url; + } + + public String getExchangeClass() + { + return _exchangeClass; + } + + public void setExchangeClass(String exchangeClass) + { + _exchangeClass = exchangeClass; + } + + public String getExchangeName() + { + return _exchangeName; + } + + public void setExchangeName(String name) + { + _exchangeName = name; + + if (name.equals(ExchangeDefaults.TOPIC_EXCHANGE_NAME)) + { + setOption(BindingURL.OPTION_EXCLUSIVE, "true"); + } + } + + public String getDestinationName() + { + return _destinationName; + } + + public void setDestinationName(String name) + { + _destinationName = name; + } + + public String getQueueName() + { + if (_exchangeClass.equals(ExchangeDefaults.TOPIC_EXCHANGE_CLASS)) + { + if (Boolean.parseBoolean(getOption(OPTION_DURABLE))) + { + if (containsOption(BindingURL.OPTION_CLIENTID) && containsOption(BindingURL.OPTION_SUBSCRIPTION)) + { + return getOption(BindingURL.OPTION_CLIENTID + ":" + BindingURL.OPTION_SUBSCRIPTION); + } + else + { + return getDestinationName(); + } + } + else + { + return getDestinationName(); + } + } + else + { + return _queueName; + } + } + + public void setQueueName(String name) + { + _queueName = name; + } + + public String getOption(String key) + { + return _options.get(key); + } + + public void setOption(String key, String value) + { + _options.put(key, value); + } + + public boolean containsOption(String key) + { + return _options.containsKey(key); + } + + public String getRoutingKey() + { + if (_exchangeClass.equals(ExchangeDefaults.DIRECT_EXCHANGE_CLASS)) + { + return getQueueName(); + } + + if (containsOption(BindingURL.OPTION_ROUTING_KEY)) + { + return getOption(OPTION_ROUTING_KEY); + } + + return getDestinationName(); + } + + public void setRoutingKey(String key) + { + setOption(OPTION_ROUTING_KEY, key); + } + + + public String toString() + { + StringBuffer sb = new StringBuffer(); + + sb.append(_exchangeClass); + sb.append("://"); + sb.append(_exchangeName); + sb.append('/'); + sb.append(_destinationName); + sb.append('/'); + sb.append(_queueName); + + sb.append(URLHelper.printOptions(_options)); + return sb.toString(); + } + + public static void main(String args[]) throws URLSyntaxException + { + String url = "exchangeClass://exchangeName/Destination/Queue?option='value',option2='value2'"; + + AMQBindingURL dest = new AMQBindingURL(url); + + System.out.println(url); + System.out.println(dest); + + } + +}
\ No newline at end of file diff --git a/java/common/src/org/apache/qpid/url/BindingURL.java b/java/common/src/org/apache/qpid/url/BindingURL.java new file mode 100644 index 0000000000..77802b0e17 --- /dev/null +++ b/java/common/src/org/apache/qpid/url/BindingURL.java @@ -0,0 +1,65 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.url; + +import java.util.List; + +/* + Binding URL format: + <exch_class>://<exch_name>/[<destination>]/[<queue>]?<option>='<value>'[,<option>='<value>']* +*/ +public interface BindingURL +{ + public static final String OPTION_EXCLUSIVE = "exclusive"; + public static final String OPTION_AUTODELETE = "autodelete"; + public static final String OPTION_DURABLE = "durable"; + public static final String OPTION_CLIENTID = "clientid"; + public static final String OPTION_SUBSCRIPTION = "subscription"; + public static final String OPTION_ROUTING_KEY = "routingkey"; + + + String getURL(); + + String getExchangeClass(); + + void setExchangeClass(String exchangeClass); + + String getExchangeName(); + + void setExchangeName(String name); + + String getDestinationName(); + + void setDestinationName(String name); + + String getQueueName(); + + void setQueueName(String name); + + String getOption(String key); + + void setOption(String key, String value); + + boolean containsOption(String key); + + String getRoutingKey(); + + void setRoutingKey(String key); + + String toString(); +} diff --git a/java/common/src/org/apache/qpid/url/URLHelper.java b/java/common/src/org/apache/qpid/url/URLHelper.java new file mode 100644 index 0000000000..959735d438 --- /dev/null +++ b/java/common/src/org/apache/qpid/url/URLHelper.java @@ -0,0 +1,173 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.url; + +import java.util.HashMap; + +public class URLHelper +{ + public static char DEFAULT_OPTION_SEPERATOR = '&'; + public static char ALTERNATIVE_OPTION_SEPARATOR = ','; + public static char BROKER_SEPARATOR = ';'; + + public static void parseOptions(HashMap<String, String> optionMap, String options) throws URLSyntaxException + { + //options looks like this + //brokerlist='tcp://host:port?option='value',option='value';vm://:3/virtualpath?option='value'',failover='method?option='value',option='value'' + + if (options == null || options.indexOf('=') == -1) + { + return; + } + + int optionIndex = options.indexOf('='); + + String option = options.substring(0, optionIndex); + + int length = options.length(); + + int nestedQuotes = 0; + + // to store index of final "'" + int valueIndex = optionIndex; + + //Walk remainder of url. + while (nestedQuotes > 0 || valueIndex < length) + { + valueIndex++; + + if (valueIndex >= length) + { + break; + } + + if (options.charAt(valueIndex) == '\'') + { + if (valueIndex + 1 < options.length()) + { + if (options.charAt(valueIndex + 1) == DEFAULT_OPTION_SEPERATOR || + options.charAt(valueIndex + 1) == ALTERNATIVE_OPTION_SEPARATOR || + options.charAt(valueIndex + 1) == BROKER_SEPARATOR || + options.charAt(valueIndex + 1) == '\'') + { + nestedQuotes--; +// System.out.println( +// options + "\n" + "-" + nestedQuotes + ":" + getPositionString(valueIndex - 2, 1)); + if (nestedQuotes == 0) + { + //We've found the value of an option + break; + } + } + else + { + nestedQuotes++; +// System.out.println( +// options + "\n" + "+" + nestedQuotes + ":" + getPositionString(valueIndex - 2, 1)); + } + } + else + { + // We are at the end of the string + // Check to see if we are corectly closing quotes + if (options.charAt(valueIndex) == '\'') + { + nestedQuotes--; + } + + break; + } + } + } + + if (nestedQuotes != 0 || valueIndex < (optionIndex + 2)) + { + int sepIndex = 0; + + //Try and identify illegal separator character + if (nestedQuotes > 1) + { + for (int i = 0; i < nestedQuotes; i++) + { + sepIndex = options.indexOf('\'', sepIndex); + sepIndex++; + } + } + + if (sepIndex >= options.length() || sepIndex == 0) + { + parseError(valueIndex, "Unterminated option", options); + } + else + { + parseError(sepIndex, "Unterminated option. Possible illegal option separator:'" + + options.charAt(sepIndex) + "'", options); + } + } + + // optionIndex +2 to skip "='" + String value = options.substring(optionIndex + 2, valueIndex); + + optionMap.put(option, value); + + if (valueIndex < (options.length() - 1)) + { + //Recurse to get remaining options + parseOptions(optionMap, options.substring(valueIndex + 2)); + } + } + + + public static void parseError(int index, String error, String url) throws URLSyntaxException + { + parseError(index, 1, error, url); + } + + public static void parseError(int index, int length, String error, String url) throws URLSyntaxException + { + throw new URLSyntaxException(url, error, index, length); + } + + public static String printOptions(HashMap<String, String> options) + { + if (options.isEmpty()) + { + return ""; + } + else + { + StringBuffer sb = new StringBuffer(); + sb.append('?'); + for (String key : options.keySet()) + { + sb.append(key); + + sb.append("='"); + + sb.append(options.get(key)); + + sb.append("'"); + sb.append(DEFAULT_OPTION_SEPERATOR); + } + + sb.deleteCharAt(sb.length() - 1); + + return sb.toString(); + } + } +} diff --git a/java/common/src/org/apache/qpid/url/URLSyntaxException.java b/java/common/src/org/apache/qpid/url/URLSyntaxException.java new file mode 100644 index 0000000000..b454069826 --- /dev/null +++ b/java/common/src/org/apache/qpid/url/URLSyntaxException.java @@ -0,0 +1,94 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.url; + +import java.net.URISyntaxException; + +public class URLSyntaxException extends URISyntaxException +{ + private int _length; + + public URLSyntaxException(String url, String error, int index, int length) + { + super(url, error, index); + + _length = length; + } + + private static String getPositionString(int index, int length) + { + StringBuffer sb = new StringBuffer(index + 1); + + for (int i = 0; i < index; i++) + { + sb.append(" "); + } + + if (length > -1) + { + for (int i = 0; i < length; i++) + { + sb.append('^'); + } + } + + return sb.toString(); + } + + + public String toString() + { + StringBuffer sb = new StringBuffer(); + + sb.append(getReason()); + + if (getIndex() > -1) + { + if (_length != -1) + { + sb.append(" between indicies "); + sb.append(getIndex()); + sb.append(" and "); + sb.append(_length); + } + else + { + sb.append(" at index "); + sb.append(getIndex()); + } + } + + sb.append(" "); + if (getIndex() != -1) + { + sb.append("\n"); + } + + sb.append(getInput()); + + if (getIndex() != -1) + { + sb.append("\n"); + sb.append(getPositionString(getIndex(), _length)); + } + + return sb.toString(); + } + + +} diff --git a/java/common/stylesheets/framing.xsl b/java/common/stylesheets/framing.xsl new file mode 100644 index 0000000000..bb17a72bce --- /dev/null +++ b/java/common/stylesheets/framing.xsl @@ -0,0 +1,61 @@ +<?xml version='1.0'?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> + +<xsl:import href="prepare1.xsl"/> +<xsl:import href="prepare2.xsl"/> +<xsl:import href="prepare3.xsl"/> +<xsl:import href="java.xsl"/> + +<xsl:output indent="yes"/> +<xsl:output method="text" indent="yes" name="textFormat"/> + +<xsl:template match="/"> + <xsl:variable name="prepare1"> + <xsl:apply-templates mode="prepare1" select="."/> + </xsl:variable> + + <xsl:variable name="prepare2"> + <xsl:apply-templates mode="prepare2" select="$prepare1"/> + </xsl:variable> + + <xsl:variable name="model"> + <xsl:apply-templates mode="prepare3" select="$prepare2"/> + </xsl:variable> + + <xsl:apply-templates mode="generate-multi" select="$model"/> + <xsl:apply-templates mode="list-registry" select="$model"/> + + <!-- dump out the intermediary files for debugging --> + <!-- + <xsl:result-document href="prepare1.out"> + <xsl:copy-of select="$prepare1"/> + </xsl:result-document> + + <xsl:result-document href="prepare2.out"> + <xsl:copy-of select="$prepare2"/> + </xsl:result-document> + + <xsl:result-document href="model.out"> + <xsl:copy-of select="$model"/> + </xsl:result-document> + --> +</xsl:template> + +</xsl:stylesheet> diff --git a/java/common/stylesheets/java.xsl b/java/common/stylesheets/java.xsl new file mode 100644 index 0000000000..df72bfb0c0 --- /dev/null +++ b/java/common/stylesheets/java.xsl @@ -0,0 +1,247 @@ +<?xml version='1.0'?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> + +<!-- this class contains the templates for generating java source code for a given framing model --> +<xsl:import href="utils.xsl"/> +<xsl:output method="text" indent="yes" name="textFormat"/> + +<xsl:param name="major"/> +<xsl:param name="minor"/> +<xsl:param name="registry_name"/> +<xsl:param name="version_list_name"/> + +<xsl:template match="/"> + <xsl:apply-templates mode="generate-multi" select="frames"/> + <xsl:apply-templates mode="generate-registry" select="frames"/> +</xsl:template> + +<!-- processes all frames outputting the classes in a single stream --> +<!-- (useful for debugging etc) --> +<xsl:template match="frame" mode="generate-single"> + <xsl:call-template name="generate-class"> + <xsl:with-param name="f" select="."/> + </xsl:call-template> +</xsl:template> + +<!-- generates seperate file for each class/frame --> +<xsl:template match="frame" mode="generate-multi"> + <xsl:variable name="uri" select="concat(@name, '.java')"/> + wrote <xsl:value-of select="$uri"/> + <xsl:result-document href="{$uri}" format="textFormat"> + <xsl:call-template name="generate-class"> + <xsl:with-param name="f" select="."/> + </xsl:call-template> + </xsl:result-document> +</xsl:template> + +<!-- main class generation template --> +<xsl:template name="generate-class"> + <xsl:param name="f"/> + <xsl:value-of select="amq:copyright()"/> +<!-- package org.apache.qpid.framing_<xsl:value-of select="$major"/>_<xsl:value-of select="$minor"/>; --> +package org.apache.qpid.framing; + +import org.apache.mina.common.ByteBuffer; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.AMQFrameDecodingException; +import org.apache.qpid.framing.AMQMethodBody; +import org.apache.qpid.framing.EncodableAMQDataBlock; +import org.apache.qpid.framing.EncodingUtils; +import org.apache.qpid.framing.FieldTable; + +/** + * This class is autogenerated, do not modify. [From <xsl:value-of select="$f/parent::frames/@protocol"/>] + */ +public class <xsl:value-of select="$f/@name"/> extends AMQMethodBody implements EncodableAMQDataBlock +{ + public static final int CLASS_ID = <xsl:value-of select="$f/@class-id"/>; + public static final int METHOD_ID = <xsl:value-of select="$f/@method-id"/>; + + <xsl:for-each select="$f/field"> + <xsl:text>public </xsl:text><xsl:value-of select="@java-type"/> + <xsl:text> </xsl:text> + <xsl:value-of select="@name"/>; + </xsl:for-each> + + protected int getClazz() + { + return <xsl:value-of select="$f/@class-id"/>; + } + + protected int getMethod() + { + return <xsl:value-of select="$f/@method-id"/>; + } + + protected int getBodySize() + { + <xsl:choose> + <xsl:when test="$f/field"> + return + <xsl:for-each select="$f/field"> + <xsl:if test="position() != 1">+ + </xsl:if> + <xsl:value-of select="amq:field-length(.)"/> + </xsl:for-each> + ; + </xsl:when> + <xsl:otherwise>return 0;</xsl:otherwise> + </xsl:choose> + } + + protected void writeMethodPayload(ByteBuffer buffer) + { + <xsl:for-each select="$f/field"> + <xsl:if test="@type != 'bit'"> + <xsl:value-of select="amq:encoder(.)"/>; + </xsl:if> + <xsl:if test="@type = 'bit' and @boolean-index = 1"> + <xsl:text>EncodingUtils.writeBooleans(buffer, new boolean[]{</xsl:text> + <xsl:value-of select="$f/field[@type='bit']/@name" separator=", "/>}); + </xsl:if> + </xsl:for-each> + } + + public void populateMethodBodyFromBuffer(ByteBuffer buffer) throws AMQFrameDecodingException + { + <xsl:for-each select="$f/field"> + <xsl:value-of select="amq:decoder(.)"/>; + </xsl:for-each> + } + + public String toString() + { + StringBuffer buf = new StringBuffer(super.toString()); + <xsl:for-each select="$f/field"> + <xsl:text>buf.append(" </xsl:text><xsl:value-of select="@name"/>: ").append(<xsl:value-of select="@name"/>); + </xsl:for-each> + return buf.toString(); + } + + public static AMQFrame createAMQFrame(int channelId<xsl:if test="$f/field">, </xsl:if><xsl:value-of select="$f/field/concat(@java-type, ' ', @name)" separator=", "/>) + { + <xsl:value-of select="@name"/> body = new <xsl:value-of select="@name"/>(); + <xsl:for-each select="$f/field"> + <xsl:value-of select="concat('body.', @name, ' = ', @name)"/>; + </xsl:for-each> + AMQFrame frame = new AMQFrame(); + frame.channel = channelId; + frame.bodyFrame = body; + return frame; + } +} +</xsl:template> + +<xsl:template match="/" mode="generate-registry"> + <xsl:text>Matching root for registry mode!</xsl:text> + <xsl:value-of select="."/> + <xsl:apply-templates select="frames" mode="generate-registry"/> +</xsl:template> + +<xsl:template match="registries" mode="generate-registry"> +Wrote MethodBodyDecoderRegistry.java + <xsl:result-document href="MethodBodyDecoderRegistry.java" format="textFormat"> + <xsl:value-of select="amq:copyright()"/> +<!-- package org.apache.qpid.framing_<xsl:value-of select="$major"/>_<xsl:value-of select="$minor"/>; --> +package org.apache.qpid.framing; + +import java.util.Map; +import java.util.HashMap; +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.framing.AMQFrameDecodingException; +import org.apache.qpid.framing.AMQMethodBody; + +/** + * This class is autogenerated, do not modify. + */ +public final class MethodBodyDecoderRegistry +{ + private static final Logger _log = Logger.getLogger(MethodBodyDecoderRegistry.class); + + private static final Map _classMethodProductToMethodBodyMap = new HashMap(); + + static + { + <xsl:for-each select="registry"> + <xsl:value-of select="concat(@name, '.register(_classMethodProductToMethodBodyMap)')"/>; + </xsl:for-each> + } + + public static AMQMethodBody get(int clazz, int method) throws AMQFrameDecodingException + { + Class bodyClass = (Class) _classMethodProductToMethodBodyMap.get(new Integer(clazz * 1000 + method)); + if (bodyClass != null) + { + try + { + return (AMQMethodBody) bodyClass.newInstance(); + } + catch (Exception e) + { + throw new AMQFrameDecodingException(_log, + "Unable to instantiate body class for class " + clazz + " and method " + method + ": " + e, e); + } + } + else + { + throw new AMQFrameDecodingException(_log, + "Unable to find a suitable decoder for class " + clazz + " and method " + method); + } + } +} +</xsl:result-document> +</xsl:template> + +<xsl:template match="frames" mode="list-registry"> + <xsl:if test="$registry_name"> + + <xsl:variable name="file" select="concat($registry_name, '.java')"/> + wrote <xsl:value-of select="$file"/> + <xsl:result-document href="{$file}" format="textFormat"> + <xsl:value-of select="amq:copyright()"/> +<!-- package org.apache.qpid.framing_<xsl:value-of select="$major"/>_<xsl:value-of select="$minor"/>; --> +package org.apache.qpid.framing; + +import java.util.Map; + +/** + * This class is autogenerated, do not modify. [From <xsl:value-of select="@protocol"/>] + */ +class <xsl:value-of select="$registry_name"/> +{ + static void register(Map map) + { + <xsl:for-each select="frame"> + <xsl:text>map.put(new Integer(</xsl:text> + <xsl:value-of select="@class-id"/> + <xsl:text> * 1000 + </xsl:text> + <xsl:value-of select="@method-id"/> + <xsl:text>), </xsl:text> + <xsl:value-of select="concat(@name, '.class')"/>); + </xsl:for-each> + } +} + </xsl:result-document> + + </xsl:if> +</xsl:template> + +</xsl:stylesheet> diff --git a/java/common/stylesheets/prepare1.xsl b/java/common/stylesheets/prepare1.xsl new file mode 100644 index 0000000000..5b7641e408 --- /dev/null +++ b/java/common/stylesheets/prepare1.xsl @@ -0,0 +1,111 @@ +<?xml version='1.0'?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> + +<xsl:import href="utils.xsl"/> + +<xsl:output indent="yes"/> +<xsl:param name="asl_base"/> + +<!-- pre-process, phase 1 --> + +<xsl:template match="/"> + <xsl:apply-templates select="protocol" mode="prepare1"/> +</xsl:template> + +<xsl:template match="amqp" mode="prepare1"> + <frames> + <xsl:attribute name="protocol"> + <xsl:value-of select="@comment"/> + <xsl:text> (</xsl:text> + <xsl:text>major=</xsl:text><xsl:value-of select="@major"/> + <xsl:text>, minor=</xsl:text><xsl:value-of select="@minor"/> + <xsl:text>)</xsl:text> + </xsl:attribute> + <xsl:attribute name="major"> + <xsl:value-of select="@major"/> + </xsl:attribute> + <xsl:attribute name="minor"> + <xsl:value-of select="@minor"/> + </xsl:attribute> + <xsl:apply-templates mode="prepare1" select="inherit"/> + <xsl:apply-templates mode="prepare1" select="include"/> + <xsl:apply-templates mode="prepare1" select="domain"/> + <xsl:apply-templates mode="prepare1" select="class"/> + </frames> +</xsl:template> + +<xsl:template match="include" mode="prepare1"> + <xsl:if test="@filename != 'asl_constants.asl'"> + <!-- skip asl_constants.asl, we don't need it and it is not well formed so causes error warnings --> + <xsl:apply-templates select="document(@filename)" mode="prepare1"/> + </xsl:if> +</xsl:template> + +<xsl:template match="inherit" mode="prepare1"> + <xsl:variable name="ibase" select="concat('file:///', $asl_base, '/', @name, '.asl')"/> + <xsl:choose> + <xsl:when test="document($ibase)"> + <xsl:apply-templates select="document($ibase)" mode="prepare1"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + Could not inherit from <xsl:value-of select="$ibase"/>; file not found. + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="class[@index]" mode="prepare1"> + <xsl:apply-templates select="method" mode="prepare1"/> +</xsl:template> + +<xsl:template match="method" mode="prepare1"> + <xsl:if test="parent::class[@index]"><!-- there is a template class that has no index, which we want to skip --> + <frame> + <xsl:attribute name="name"><xsl:value-of select="amq:class-name(parent::class/@name, @name)"/></xsl:attribute> + <xsl:attribute name="class-id"><xsl:value-of select="parent::class/@index"/></xsl:attribute> + <xsl:if test="@index"> + <xsl:attribute name="method-id"><xsl:value-of select="@index"/></xsl:attribute> + </xsl:if> + <xsl:if test="not(@index)"> + <xsl:attribute name="method-id"><xsl:number count="method"/></xsl:attribute> + </xsl:if> + + <xsl:apply-templates select="field" mode="prepare1"/> + </frame> + </xsl:if> +</xsl:template> + +<xsl:template match="domain" mode="prepare1"> + <domain> + <name><xsl:value-of select="@name"/></name> + <type><xsl:value-of select="@type"/></type> + </domain> +</xsl:template> + +<xsl:template match="field" mode="prepare1"> + <field> + <xsl:copy-of select="@name"/> + <xsl:copy-of select="@type"/> + <xsl:copy-of select="@domain"/> + </field> +</xsl:template> + +</xsl:stylesheet> diff --git a/java/common/stylesheets/prepare2.xsl b/java/common/stylesheets/prepare2.xsl new file mode 100644 index 0000000000..38110b0a33 --- /dev/null +++ b/java/common/stylesheets/prepare2.xsl @@ -0,0 +1,66 @@ +<?xml version='1.0'?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> + +<xsl:import href="utils.xsl"/> + +<xsl:output indent="yes"/> + +<!-- pre-process, phase 2 --> + +<xsl:key name="domain-lookup" match="domain" use="name"/> + +<xsl:template match="/"> + <xsl:apply-templates mode="prepare2" select="frames"/> +</xsl:template> + +<xsl:template match="field[@domain]" mode="prepare2"> + <field> + <xsl:variable name="t1" select="key('domain-lookup', @domain)/type"/> + <xsl:attribute name="name"><xsl:value-of select="amq:field-name(@name)"/></xsl:attribute> + <xsl:attribute name="type"><xsl:value-of select="$t1"/></xsl:attribute> + </field> +</xsl:template> + +<xsl:template match="field[@type]" mode="prepare2"> + <field> + <xsl:attribute name="name"><xsl:value-of select="amq:field-name(@name)"/></xsl:attribute> + <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> + </field> +</xsl:template> + +<xsl:template match="frames" mode="prepare2"> + <frames> + <xsl:copy-of select="@protocol"/> + <xsl:copy-of select="@major"/> + <xsl:copy-of select="@minor"/> + <xsl:apply-templates mode="prepare2"/> + </frames> +</xsl:template> + +<xsl:template match="frame" mode="prepare2"> + <xsl:element name="{name()}"> + <xsl:copy-of select="@*"/> + <xsl:apply-templates mode="prepare2" select="field"/> + </xsl:element> +</xsl:template> + +<xsl:template match="domain" mode="prepare2"></xsl:template> + +</xsl:stylesheet> diff --git a/java/common/stylesheets/prepare3.xsl b/java/common/stylesheets/prepare3.xsl new file mode 100644 index 0000000000..6d6d75d8f0 --- /dev/null +++ b/java/common/stylesheets/prepare3.xsl @@ -0,0 +1,62 @@ +<?xml version='1.0'?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> + +<xsl:import href="utils.xsl"/> + +<xsl:output indent="yes"/> + +<!-- final preparation of the model --> + +<xsl:template match="/"> + <xsl:apply-templates mode="prepare3"/> +</xsl:template> + +<xsl:template match="frames" mode="prepare3"> + <frames> + <xsl:copy-of select="@protocol"/> + <xsl:copy-of select="@major"/> + <xsl:copy-of select="@minor"/> + <xsl:apply-templates mode="prepare3"/> + </frames> +</xsl:template> + +<xsl:template match="frame" mode="prepare3"> + <xsl:element name="frame"> + <xsl:copy-of select="@*"/> + <xsl:if test="field[@type='bit']"><xsl:attribute name="has-bit-field">true</xsl:attribute></xsl:if> + <xsl:apply-templates mode="prepare3"/> + </xsl:element> +</xsl:template> + + +<xsl:template match="field" mode="prepare3"> + <field> + <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> + <!-- ensure the field name is processed to be a valid java name --> + <xsl:attribute name="name"><xsl:value-of select="amq:field-name(@name)"/></xsl:attribute> + <!-- add some attributes to make code generation easier --> + <xsl:attribute name="java-type"><xsl:value-of select="amq:java-type(@type)"/></xsl:attribute> + <xsl:if test="@type='bit'"> + <xsl:attribute name="boolean-index"><xsl:number count="field[@type='bit']"/></xsl:attribute> + </xsl:if> + </field> +</xsl:template> + +</xsl:stylesheet> diff --git a/java/common/stylesheets/readme.txt b/java/common/stylesheets/readme.txt new file mode 100644 index 0000000000..b373055df9 --- /dev/null +++ b/java/common/stylesheets/readme.txt @@ -0,0 +1,52 @@ +This directory contains the xsl stylesheets used to generate the code from the +AMQP protocol specification. They require an XSLT2.0 processor, currently +Saxon 8 is used. + +The generation process is controlled by the framing.xsl stylesheet. This performs +several phases of transformation, using the other stylesheets. The transformation +in each phase is defined in a separate file, and these are designed to also allow +then to be run individually. + +The generation takes the amq.asl as input, it also requires that the path to the +directory where the base asl definitions reside (those definitions that the main +amq.asl defintion inherits from) be passed in via a paramter called asl_base. + +The files involved are as follows: + + framing.xsl The control file for the entire generation process + + prepare1.xsl Resolves the separate files that make up the protocol + definition, building a single tree containing all the + information as a set of 'frame' elements, each of which + has attributes for its name, and ids for the class and + method it refers to and contains zero or more field + elements. + + A method id is generated based on the order of the + method elements within the class elements in the original + specification. The class id is taken from the enclosing + class element. + + prepare2.xsl Resolves domains into their corresponding types. (This is + much easier when all the information is in a single tree, + hence the separate frame). + + prepare3.xsl Converts names into valid java names and augments the + tree to include information that makes the subsequent + generation phase simpler e.g. the index of boolean + fields as several boolean flags are combined into a + single byte. (This is easier once the domains have been + resolved, hence the separate phase). + + java.xsl Generates java classes for each frame, and a registry of + all the frames to a 'magic' number generated from their + class and method id. + + utils.xsl Contains some utility methods for e.g. producing valid + java names. + +For debugging the framing.xsl can output the intermediary files. This can be +enabled by uncommenting the relevant lines (a comment explaining this is +provided inline). + +
\ No newline at end of file diff --git a/java/common/stylesheets/registry.xsl b/java/common/stylesheets/registry.xsl new file mode 100644 index 0000000000..eb382c296b --- /dev/null +++ b/java/common/stylesheets/registry.xsl @@ -0,0 +1,29 @@ +<?xml version='1.0'?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> + +<xsl:import href="java.xsl"/> + +<xsl:output method="text" indent="yes" name="textFormat"/> + +<xsl:template match="/"> + <xsl:apply-templates mode="generate-registry" select="registries"/> +</xsl:template> + +</xsl:stylesheet> diff --git a/java/common/stylesheets/utils.xsl b/java/common/stylesheets/utils.xsl new file mode 100644 index 0000000000..e6fda6c9d5 --- /dev/null +++ b/java/common/stylesheets/utils.xsl @@ -0,0 +1,201 @@ +<?xml version='1.0'?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:amq="http://amq.org"> + +<!-- This file contains functions that are used in the generation of the java classes for framing --> + +<!-- create copyright notice for generated files --> +<xsl:function name="amq:copyright">/** +* +* Copyright (c) 2006 The Apache Software Foundation +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ +</xsl:function> + +<!-- retrieve the java type of a given amq type --> +<xsl:function name="amq:java-type"> + <xsl:param name="t"/> + <xsl:choose> + <xsl:when test="$t='char'">char</xsl:when> + <xsl:when test="$t='octet'">short</xsl:when> + <xsl:when test="$t='short'">int</xsl:when> + <xsl:when test="$t='shortstr'">String</xsl:when> + <xsl:when test="$t='longstr'">byte[]</xsl:when> + <xsl:when test="$t='bit'">boolean</xsl:when> + <xsl:when test="$t='long'">long</xsl:when> + <xsl:when test="$t='longlong'">long</xsl:when> + <xsl:when test="$t='table'">FieldTable</xsl:when> + <xsl:otherwise>Object /*WARNING: undefined type*/</xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- retrieve the code to get the field size of a given amq type --> +<xsl:function name="amq:field-length"> + <xsl:param name="f"/> + <xsl:choose> + <xsl:when test="$f/@type='bit' and $f/@boolean-index=1"> + <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='bit' and $f/@boolean-index > 1"> + <xsl:value-of select="concat('0 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='char'"> + <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='octet'"> + <xsl:value-of select="concat('1 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='short'"> + <xsl:value-of select="concat('2 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='long'"> + <xsl:value-of select="concat('4 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='longlong'"> + <xsl:value-of select="concat('8 /*', $f/@name, '*/')"/> + </xsl:when> + <xsl:when test="$f/@type='shortstr'"> + <xsl:value-of select="concat('EncodingUtils.encodedShortStringLength(', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='longstr'"> + <xsl:value-of select="concat('4 + (', $f/@name, ' == null ? 0 : ', $f/@name, '.length)')"/> + </xsl:when> + <xsl:when test="$f/@type='table'"> + <xsl:value-of select="concat('EncodingUtils.encodedFieldTableLength(', $f/@name, ')')"/> + </xsl:when> + <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE FIELD SIZE */</xsl:text></xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- retrieve the code to encode a field of a given amq type --> +<!-- Note: + This method will not provide an encoder for a bit field. + Bit fields should be encoded together separately. --> + +<xsl:function name="amq:encoder"> + <xsl:param name="f"/> + <xsl:choose> + <xsl:when test="$f/@type='char'"> + <xsl:value-of select="concat('EncodingUtils.writeChar(buffer, ', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='octet'"> + <xsl:value-of select="concat('EncodingUtils.writeUnsignedByte(buffer, ', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='short'"> + <xsl:value-of select="concat('EncodingUtils.writeUnsignedShort(buffer, ', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='long'"> + <xsl:value-of select="concat('EncodingUtils.writeUnsignedInteger(buffer, ', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='longlong'"> + <xsl:value-of select="concat('buffer.putLong(', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='shortstr'"> + <xsl:value-of select="concat('EncodingUtils.writeShortStringBytes(buffer, ', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='longstr'"> + <xsl:value-of select="concat('EncodingUtils.writeLongstr(buffer, ', $f/@name, ')')"/> + </xsl:when> + <xsl:when test="$f/@type='table'"> + <xsl:value-of select="concat('EncodingUtils.writeFieldTableBytes(buffer, ', $f/@name, ')')"/> + </xsl:when> + <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE ENCODER */</xsl:text></xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- retrieve the code to decode a field of a given amq type --> +<xsl:function name="amq:decoder"> + <xsl:param name="f"/> + <xsl:choose> + <xsl:when test="$f/@type='bit'"> + <xsl:if test="$f/@boolean-index = 1"> + <xsl:text>boolean[] bools = EncodingUtils.readBooleans(buffer);</xsl:text> + </xsl:if> + <xsl:value-of select="concat($f/@name, ' = bools[', $f/@boolean-index - 1 , ']')"/> + </xsl:when> + <xsl:when test="$f/@type='char'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getChar()')"/> + </xsl:when> + <xsl:when test="$f/@type='octet'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getUnsigned()')"/> + </xsl:when> + <xsl:when test="$f/@type='short'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getUnsignedShort()')"/> + </xsl:when> + <xsl:when test="$f/@type='long'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getUnsignedInt()')"/> + </xsl:when> + <xsl:when test="$f/@type='longlong'"> + <xsl:value-of select="concat($f/@name, ' = buffer.getLong()')"/> + </xsl:when> + <xsl:when test="$f/@type='shortstr'"> + <xsl:value-of select="concat($f/@name, ' = EncodingUtils.readShortString(buffer)')"/> + </xsl:when> + <xsl:when test="$f/@type='longstr'"> + <xsl:value-of select="concat($f/@name, ' = EncodingUtils.readLongstr(buffer)')"/> + </xsl:when> + <xsl:when test="$f/@type='table'"> + <xsl:value-of select="concat($f/@name, ' = EncodingUtils.readFieldTable(buffer)')"/> + </xsl:when> + <xsl:otherwise><xsl:text>/* WARNING: COULD NOT DETERMINE DECODER */</xsl:text></xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- create the class name for a frame, based on class and method (passed in) --> +<xsl:function name="amq:class-name"> + <xsl:param name="class"/> + <xsl:param name="method"/> + <xsl:value-of select="concat(amq:upper-first($class),amq:upper-first(amq:field-name($method)), 'Body')"/> +</xsl:function> + +<!-- get a valid field name, processing spaces and '-'s where appropriate --> +<xsl:function name="amq:field-name"> + <xsl:param name="name"/> + <xsl:choose> + <xsl:when test="contains($name, ' ')"> + <xsl:value-of select="concat(substring-before($name, ' '), amq:upper-first(substring-after($name, ' ')))"/> + </xsl:when> + <xsl:when test="contains($name, '-')"> + <xsl:value-of select="concat(substring-before($name, '-'), amq:upper-first(substring-after($name, '-')))"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$name"/> + </xsl:otherwise> + </xsl:choose> +</xsl:function> + +<!-- convert the first character of the input to upper-case --> +<xsl:function name="amq:upper-first"> + <xsl:param name="in"/> + <xsl:value-of select="concat(upper-case(substring($in, 1, 1)), substring($in, 2))"/> +</xsl:function> + +</xsl:stylesheet> diff --git a/java/doc/AMQBlazeDetailedDesign.vsd b/java/doc/AMQBlazeDetailedDesign.vsd Binary files differnew file mode 100644 index 0000000000..90577c69cf --- /dev/null +++ b/java/doc/AMQBlazeDetailedDesign.vsd diff --git a/java/doc/FramingClassDiagram.vsd b/java/doc/FramingClassDiagram.vsd Binary files differnew file mode 100644 index 0000000000..8db65255ea --- /dev/null +++ b/java/doc/FramingClassDiagram.vsd diff --git a/java/management/cli/bin/stac.bat b/java/management/cli/bin/stac.bat new file mode 100644 index 0000000000..156b7792cb --- /dev/null +++ b/java/management/cli/bin/stac.bat @@ -0,0 +1,38 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+set COREROOT=..\..\core
+set AMQROOT=..\..\..\clients_java
+
+set CP=..\lib\jython\jython.jar
+set CP=%CP%;..\dist\amqp-stac.jar
+set CP=%CP%;%COREROOT%\dist\amqp-management-common.jar
+set CP=%CP%;%COREROOT%\lib\log4j\log4j-1.2.9.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\jsr173_api.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\resolver.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\xbean.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\xbean_xpath.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\xmlpublic.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\saxon8.jar
+set CP=%CP%;%AMQROOT%\dist\amqp-common.jar
+set CP=%CP%;%AMQROOT%\dist\amqp-jms.jar
+set CP=%CP%;%AMQROOT%\lib\mina\mina-0.7.3.jar
+set CP=%CP%;%AMQROOT%\lib\jms\jms.jar
+set CP=%CP%;%AMQROOT%\lib\util-concurrent\backport-util-concurrent.jar
+set CP=%CP%;%AMQROOT%\lib\jakarta-commons\commons-collections-3.1.jar
+
+%JAVA_HOME%\bin\java -Damqj.logging.level="ERROR" -cp %CP% org.apache.qpid.stac.Stac
diff --git a/java/management/cli/bin/stac.sh b/java/management/cli/bin/stac.sh new file mode 100755 index 0000000000..8fabe3a606 --- /dev/null +++ b/java/management/cli/bin/stac.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +COREROOT=../../core +AMQROOT=../../../clients_java + +CP=../lib/jython/jython.jar +CP=$CP:../dist/amqp-stac.jar +CP=$CP:$COREROOT/dist/amqp-management-common.jar +CP=$CP:$COREROOT/lib/log4j/log4j-1.2.9.jar +CP=$CP:$COREROOT/lib/xmlbeans/jsr173_api.jar +CP=$CP:$COREROOT/lib/xmlbeans/resolver.jar +CP=$CP:$COREROOT/lib/xmlbeans/xbean.jar +CP=$CP:$COREROOT/lib/xmlbeans/xbean_xpath.jar +CP=$CP:$COREROOT/lib/xmlbeans/xmlpublic.jar +CP=$CP:$COREROOT/lib/xmlbeans/saxon8.jar +CP=$CP:$AMQROOT/dist/amqp-common.jar +CP=$CP:$AMQROOT/dist/amqp-jms.jar +CP=$CP:$AMQROOT/lib/mina/mina-0.7.3.jar +CP=$CP:$AMQROOT/lib/jms/jms.jar +CP=$CP:$AMQROOT/lib/util-concurrent/backport-util-concurrent.jar +CP=$CP:$AMQROOT/lib/jakarta-commons/commons-collections-3.1.jar + +$JAVA_HOME/bin/java -Damqj.logging.level="ERROR" -cp $CP org.apache.qpid.stac.Stac diff --git a/java/management/cli/bin/stacDEV.bat b/java/management/cli/bin/stacDEV.bat new file mode 100644 index 0000000000..2a5bb88065 --- /dev/null +++ b/java/management/cli/bin/stacDEV.bat @@ -0,0 +1,41 @@ +@REM
+@REM Copyright (c) 2006 The Apache Software Foundation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+set COREROOT=..\..\core
+set AMQROOT=..\..\..\clients_java
+
+set CP=..\lib\jython\jython.jar
+set CP=%CP%;..\intellijclasses
+set CP=%CP%;%COREROOT%\intellijclasses
+set CP=%CP%;%COREROOT%\classes
+set CP=%CP%;%COREROOT%\lib\log4j\log4j-1.2.9.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\jsr173_api.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\resolver.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\xbean.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\xbean_xpath.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\xmlpublic.jar
+set CP=%CP%;%COREROOT%\lib\xmlbeans\saxon8.jar
+set CP=%CP%;%AMQROOT%\dist\amqp-common.jar
+set CP=%CP%;%AMQROOT%\dist\amqp-jms.jar
+set CP=%CP%;%AMQROOT%\lib\mina\mina-0.7.3.jar
+set CP=%CP%;%AMQROOT%\lib\jms\jms.jar
+set CP=%CP%;%AMQROOT%\lib\util-concurrent\backport-util-concurrent.jar
+set CP=%CP%;%AMQROOT%\lib\jakarta-commons\commons-collections-3.1.jar
+
+
+@rem %JAVA_HOME%\bin\java -Damqj.logging.level="ERROR" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -cp %CP% org.amqp.blaze.stac.Stac
+%JAVA_HOME%\bin\java -Damqj.logging.level="ERROR" -cp %CP% org.amqp.blaze.stac.Stac
\ No newline at end of file diff --git a/java/management/cli/build-module.xml b/java/management/cli/build-module.xml new file mode 100644 index 0000000000..2c52418e46 --- /dev/null +++ b/java/management/cli/build-module.xml @@ -0,0 +1,21 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Management Client" default="build"> + <property name="module.depends" value="common,client,management/core"/> + <import file="../../module.xml"/> +</project> diff --git a/java/management/cli/build-old.xml b/java/management/cli/build-old.xml new file mode 100644 index 0000000000..8445e4484f --- /dev/null +++ b/java/management/cli/build-old.xml @@ -0,0 +1,122 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<!-- AMQP STAC Java build file --> + +<project name="management-stac" default="jar" basedir="."> + <property name="lib" value="${basedir}/lib"/> + <property name="src" value="${basedir}/src"/> + <property name="tests" value="${basedir}/test"/> + <property name="classes" value="${basedir}/classes"/> + <property name="testclasses" value="${basedir}/testclasses"/> + <property name="dist" value="${basedir}/dist"/> + <property name="amqp.root" value="${basedir}/../../clients_java"/> + <property name="amqp.lib" value="${amqp.root}/lib"/> + <property name="amqp.dist" value="${amqp.root}/dist"/> + <property name="managementcore.root" value="${basedir}/../core"/> + <property name="managementcore.dist" value="${managementcore.root}/dist"/> + <property name="managementcore.lib" value="${managementcore.root}/lib"/> + + <!-- Setup details --> + <target name="init"> + <tstamp> + <format property="release" pattern="-dMMMyy" locale="en" timezone="GMT"/> + </tstamp> + + <mkdir dir="${classes}"/> + <mkdir dir="${testclasses}"/> + <mkdir dir="${dist}"/> + </target> + + <path id="core.classpath"> + <fileset dir="${lib}"> + <include name="**/*.jar"/> + </fileset> + <pathelement path="${classes}"/> + <pathelement path="${testclasses}/"/> + <fileset dir="${managementcore.dist}"> + <include name="**/*.jar"/> + </fileset> + <fileset dir="${managementcore.lib}"> + <include name="**/*.jar"/> + </fileset> + <fileset dir="${amqp.dist}"> + <include name="**/*.jar"/> + </fileset> + <fileset dir="${amqp.lib}"> + <include name="**/*.jar"/> + </fileset> + </path> + + <!-- Remove all built files --> + <target name="clean" depends="init"> + <delete dir="${classes}"/> + <delete dir="${dist}"/> + <delete dir="${testclasses}"/> + </target> + + <!-- Compile Java --> + <target name="compile" depends="init"> + <javac destdir="${classes}" target="1.5" source="1.5" debug="on"> + <classpath refid="core.classpath"/> + <src path="${src}"/> + </javac> + + <copy todir="${classes}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + + <target name="compiletests" depends="compile"> + <javac destdir="${testclasses}" target="1.5" source="1.5" classpathref="core.classpath" + debug="on"> + <src path="${tests}"/> + </javac> + + <copy todir="${testclasses}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${tests}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <!-- Build jar archive --> + <target name="jar" depends="compiletests"> + <mkdir dir="${dist}"/> + <jar basedir="${classes}" jarfile="${dist}/amqp-stac.jar"/> + <jar basedir="${testclasses}" jarfile="${dist}/amqp-stac-tests.jar"/> + </target> + + + <target name="javadoc" depends="compile, compiletests"> + <mkdir dir="${dist}/docs/api"/> + <javadoc sourcepath="${src}" destdir="${dist}/docs/api" + packagenames="org.apache.qpid.*" classpathref="amqp.classpath" author="true" + version="true" windowTitle="AMQP STAC API" doctitle="AMQP STAC API" + footer="See <a href="http://www.amqp.org">www.amqp.org</a> for more information." + use="true" verbose="false"/> + </target> +</project> diff --git a/java/management/cli/lib/jython/jython.jar b/java/management/cli/lib/jython/jython.jar Binary files differnew file mode 100644 index 0000000000..517c60dd0e --- /dev/null +++ b/java/management/cli/lib/jython/jython.jar diff --git a/java/management/cli/src/org/apache/qpid/stac/Stac.java b/java/management/cli/src/org/apache/qpid/stac/Stac.java new file mode 100644 index 0000000000..98633286fb --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/Stac.java @@ -0,0 +1,94 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.InputStream; + +public class Stac +{ + public static void main(String[] args) + { + BufferedReader terminal = new BufferedReader(new InputStreamReader(System.in)); + System.out.println("\nInitializing the Scripting Tool for AMQ Console (STAC) ..."); + String var = System.getProperty("python.verbose"); + if (var != null) + { + System.setProperty("python.verbose", var); + } + else + { + System.setProperty("python.verbose", "warning"); + } + StacInterpreter interp = new StacInterpreter(); + InputStream is = Stac.class.getResourceAsStream("/python/stac.py"); + if (is == null) + { + System.err.println("Unable to load STAC Python library. Terminating."); + System.exit(1); + } + interp.execfile(is); + + boolean running = true; + + while (running) + { + interp.write(interp.get("commandPrompt").toString()); + + String line = null; + try + { + line = terminal.readLine(); + if (line != null) + { + if (line.equalsIgnoreCase("quit") || line.equalsIgnoreCase("exit")) + { + running = false; + line = "quit()"; + } + while (interp.runsource(line)) + { + interp.write("..."); + try + { + String s = terminal.readLine(); + line = line + "\n" + s; + } + catch (IOException e) + { + e.printStackTrace(); + } + } + } + else + { + System.out.println(); + running = false; + } + } + catch (IOException ie) + { + System.err.println("An error occurred: " + ie); + ie.printStackTrace(System.err); + } + } + System.exit(0); + } +} diff --git a/java/management/cli/src/org/apache/qpid/stac/StacInterpreter.java b/java/management/cli/src/org/apache/qpid/stac/StacInterpreter.java new file mode 100644 index 0000000000..14f9a34504 --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/StacInterpreter.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac; + +import org.python.util.InteractiveInterpreter; +import org.python.core.PySystemState; + +public class StacInterpreter extends InteractiveInterpreter +{ + public StacInterpreter() + { + PySystemState.initialize(); + super.set("theInterpreter", this); + super.exec("import sys\n"); + } +} diff --git a/java/management/cli/src/org/apache/qpid/stac/commands/CdCommand.java b/java/management/cli/src/org/apache/qpid/stac/commands/CdCommand.java new file mode 100644 index 0000000000..b21bc450bd --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/commands/CdCommand.java @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.commands; + +import org.apache.qpid.stac.jmx.MBeanServerConnectionContext; +import org.apache.qpid.stac.jmx.CurrentMBean; +import org.apache.qpid.AMQException; + +public class CdCommand +{ + public static void execute(MBeanServerConnectionContext context, String destination) + throws AMQException + { + // check if it is an absolute path and if so change to the root first + if (destination.startsWith("/")) + { + context.changeBean("/"); + destination = destination.substring(1); + } + if (destination.length() == 0) + { + return; + } + String[] destinations = destination.split("/"); + for (String item : destinations) + { + if ("..".equals(item)) + { + item = CurrentMBean.PARENT_ATTRIBUTE; + } + context.changeBean(item); + } + } + +} diff --git a/java/management/cli/src/org/apache/qpid/stac/commands/InvokeCommand.java b/java/management/cli/src/org/apache/qpid/stac/commands/InvokeCommand.java new file mode 100644 index 0000000000..68b4a6f8aa --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/commands/InvokeCommand.java @@ -0,0 +1,31 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.commands; + +import org.apache.qpid.stac.jmx.MBeanServerConnectionContext; +import org.apache.qpid.AMQException; + +public class InvokeCommand +{ + public static void execute(MBeanServerConnectionContext context, String methodName, Object... args) + throws AMQException + { + // Not used currently + + } +} diff --git a/java/management/cli/src/org/apache/qpid/stac/commands/LsCommand.java b/java/management/cli/src/org/apache/qpid/stac/commands/LsCommand.java new file mode 100644 index 0000000000..4cfa96b030 --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/commands/LsCommand.java @@ -0,0 +1,123 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.commands; + +import org.apache.qpid.AMQException; +import org.apache.qpid.stac.jmx.CurrentMBean; +import org.apache.qpid.stac.jmx.MBeanServerConnectionContext; +import org.apache.qpid.stac.jmx.MBeanUtils; + +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanOperationInfo; +import javax.management.MBeanParameterInfo; +import java.util.SortedSet; + +public class LsCommand +{ + public static void execute(MBeanServerConnectionContext context) + throws AMQException + { + CurrentMBean currentMBean = context.getCurrentMBean(); + + SortedSet<MBeanAttributeInfo> directories = currentMBean.getOrderedObjects(); + System.out.println(); + for (MBeanAttributeInfo ai : directories) + { + if (!MBeanUtils.isHidden(ai)) + { + outputAccess(ai); + System.out.println(" " + ai.getName()); + } + } + System.out.println(); + + SortedSet<MBeanAttributeInfo> attributes = currentMBean.getOrderedAttributes(); + for (MBeanAttributeInfo ai : attributes) + { + outputAccess(ai); + System.out.printf(" %1$-15s%2$-15s %3$s\n", ai.getName(), "[" + convertType(ai.getType()) + "]", + currentMBean.getAttributeValue(ai.getName(), ai.getType())); + } + System.out.println(); + SortedSet<MBeanOperationInfo> operations = currentMBean.getOrderedOperations(); + + for (MBeanOperationInfo oi : operations) + { + System.out.printf("-r-x %1$-15s", oi.getName()); + MBeanParameterInfo[] paramInfos = oi.getSignature(); + System.out.print("["); + if (paramInfos.length == 0) + { + System.out.print("No arguments"); + } + + for (int i = 0; i < paramInfos.length; i++) + { + MBeanParameterInfo pi = paramInfos[i]; + System.out.printf("%1$s:%2$s%3$s", pi.getName(), convertType(pi.getType()), + (i < paramInfos.length)?",":""); + } + System.out.println("]"); + } + System.out.println(); + } + + private static void outputAccess(MBeanAttributeInfo ai) + { + boolean isObject = ai.getType().equals("javax.management.ObjectName"); + System.out.print(isObject?"d":"-"); + System.out.print(ai.isReadable()?"r":"-"); + System.out.print(ai.isWritable()?"w":"-"); + System.out.print("-"); + } + + /** + * Converts the type name to a non-Java type (e.g. java.lang.String -> String) + * @param javaType + * @return a generic type + */ + private static String convertType(String javaType) + { + if ("java.lang.String".equals(javaType)) + { + return "String"; + } + else if ("java.lang.Integer".equals(javaType)) + { + return "Integer"; + } + else if ("java.lang.Boolean".equals(javaType)) + { + return "Boolean"; + } + else if ("java.lang.Double".equals(javaType)) + { + return "Double"; + } + else if ("java.util.Date".equals(javaType)) + { + return "Date"; + } + else + { + return javaType; + } + } + + +} diff --git a/java/management/cli/src/org/apache/qpid/stac/jmx/CurrentMBean.java b/java/management/cli/src/org/apache/qpid/stac/jmx/CurrentMBean.java new file mode 100644 index 0000000000..d378329220 --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/jmx/CurrentMBean.java @@ -0,0 +1,180 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.jmx; + +import org.apache.qpid.AMQException; + +import javax.management.*; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * Stores information about the "current" MBean. This data is used when navigating the hierarchy. + * + * For example, we need to map between a name and an object id, and this stores that link. + * + */ +public class CurrentMBean +{ + private MBeanServerConnection _mbeanServerConnection; + + public static final String PARENT_ATTRIBUTE = "__parent"; + + private static final SimpleDateFormat _dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + /** + * Maps names to ObjectNames. Used for efficiency to avoid iterating through all names when doing a CD command. + */ + private Map<String, ObjectName> _name2ObjectNameMap = new HashMap<String, ObjectName>(); + + private ObjectName _mbeanObjectName; + + private MBeanInfo _mbeanInfo; + + public CurrentMBean(MBeanServerConnection mbeanServerConnection) + { + _mbeanServerConnection = mbeanServerConnection; + } + + public void changeMBean(ObjectName objectName) throws AMQException + { + try + { + _mbeanInfo = _mbeanServerConnection.getMBeanInfo(objectName); + } + catch (Exception e) + { + throw new AMQException("Unable to look up MBean for object name " + objectName + ": " + e, e); + } + _mbeanObjectName = objectName; + } + + public ObjectName getMBeanObjectName() + { + return _mbeanObjectName; + } + + public MBeanInfo getMBeanInfo() + { + return _mbeanInfo; + } + + public Object getAttributeValue(String name, String type) throws AMQException + { + // TODO: The type argument is a temporary workaround for a bug (somewhere!) in which + // a date is returned as a String + try + { + Object o = _mbeanServerConnection.getAttribute(_mbeanObjectName, name); + if ("java.util.Date".equals(type)) + { + + return _dateFormat.format(new Date(Long.parseLong((String)o))); + } + else + { + return o; + } + } + catch (Exception e) + { + throw new AMQException("Unable to read attribute value for attribute name " + name, e); + } + } + + /** + * Get the objects (i.e. "directories") under the current mbean, ordered alphabetically. This method also + * refreshes the cache that maps from name to ObjectName (this saves iterating through the attributes again). + * @return a set containing the attribute infos, sorted by name + */ + public SortedSet<MBeanAttributeInfo> getOrderedObjects() throws AMQException + { + TreeSet<MBeanAttributeInfo> attributes = new TreeSet<MBeanAttributeInfo>(new MBeanAttributeInfoComparator()); + _name2ObjectNameMap.clear(); + for (MBeanAttributeInfo ai : _mbeanInfo.getAttributes()) + { + String type = ai.getType(); + + if ("javax.management.ObjectName".equals(type)) + { + _name2ObjectNameMap.put(ai.getName(), (ObjectName)getAttributeValue(ai.getName(), type)); + attributes.add(ai); + } + } + return attributes; + } + + public void refreshNameToObjectNameMap() throws AMQException + { + _name2ObjectNameMap.clear(); + for (MBeanAttributeInfo ai : _mbeanInfo.getAttributes()) + { + final String type = ai.getType(); + + if ("javax.management.ObjectName".equals(type)) + { + _name2ObjectNameMap.put(ai.getName(), (ObjectName)getAttributeValue(ai.getName(), type)); + } + } + } + + /** + * Gets an object name, given the "display name" + * @param name the display name (usually returned to the user when he does an ls() + * @return the object name + */ + public ObjectName getObjectNameByName(String name) + { + return _name2ObjectNameMap.get(name); + } + + public SortedSet<MBeanAttributeInfo> getOrderedAttributes() + { + TreeSet<MBeanAttributeInfo> attributes = new TreeSet<MBeanAttributeInfo>(new MBeanAttributeInfoComparator()); + for (MBeanAttributeInfo ai : _mbeanInfo.getAttributes()) + { + String type = ai.getType(); + if (!"javax.management.ObjectName".equals(type)) + { + attributes.add(ai); + } + } + return attributes; + } + + public SortedSet<MBeanOperationInfo> getOrderedOperations() + { + TreeSet<MBeanOperationInfo> operations = new TreeSet<MBeanOperationInfo>(new MBeanOperationInfoComparator()); + for (MBeanOperationInfo oi : _mbeanInfo.getOperations()) + { + operations.add(oi); + } + return operations; + } + + public void invoke(String methodName, Object... args) throws AMQException + { + try + { + _mbeanServerConnection.invoke(_mbeanObjectName, methodName, null, null); + } + catch (Exception e) + { + throw new AMQException("Error invoking method " + methodName + ": " + e, e); + } + } +} diff --git a/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanAttributeInfoComparator.java b/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanAttributeInfoComparator.java new file mode 100644 index 0000000000..b5c2437d58 --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanAttributeInfoComparator.java @@ -0,0 +1,29 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.jmx; + +import javax.management.MBeanAttributeInfo; +import java.util.Comparator; + +public class MBeanAttributeInfoComparator implements Comparator<MBeanAttributeInfo> +{ + public int compare(MBeanAttributeInfo o1, MBeanAttributeInfo o2) + { + return o1.getName().compareTo(o2.getName()); + } +} diff --git a/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanOperationInfoComparator.java b/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanOperationInfoComparator.java new file mode 100644 index 0000000000..4c490d92d5 --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanOperationInfoComparator.java @@ -0,0 +1,29 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.jmx; + +import javax.management.MBeanOperationInfo; +import java.util.Comparator; + +public class MBeanOperationInfoComparator implements Comparator<MBeanOperationInfo> +{ + public int compare(MBeanOperationInfo o1, MBeanOperationInfo o2) + { + return o1.getName().compareTo(o2.getName()); + } +} diff --git a/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanServerConnectionContext.java b/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanServerConnectionContext.java new file mode 100644 index 0000000000..18e5359b8c --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanServerConnectionContext.java @@ -0,0 +1,202 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.jmx; + +import org.apache.qpid.AMQException; +import org.apache.qpid.management.jmx.JmxConstants; +import org.apache.qpid.stac.commands.CdCommand; +import org.apache.qpid.stac.commands.LsCommand; +import org.apache.log4j.Logger; + +import javax.management.MBeanServerConnection; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; +import javax.management.ObjectInstance; +import javax.management.remote.JMXConnector; +import javax.management.remote.JMXConnectorFactory; +import javax.management.remote.JMXServiceURL; +import java.lang.management.ManagementFactory; +import java.util.Hashtable; +import java.util.Set; + +public class MBeanServerConnectionContext +{ + private static final Logger _log = Logger.getLogger(MBeanServerConnectionContext.class); + + /** + * The connection to the MBean server. Can be remote or local, depending on whether we are proxying. + */ + private MBeanServerConnection _connection; + + /** + * The connector used to make the connection to the remote MBean server + */ + private JMXConnector _connector; + + private CurrentMBean _currentMBean; + + /* + * Initialize connection to the Domain Runtime MBean Server + */ + public void connect(String host) throws AMQException + { + if (host == null) + { + _connection = (MBeanServerConnection) ManagementFactory.getPlatformMBeanServer(); + } + else + { + String serviceURLString = "service:jmx:local://localhost"; + + try + { + JMXServiceURL serviceURL = new JMXServiceURL(serviceURLString); + _connector = JMXConnectorFactory.connect(serviceURL, null); + _connection = _connector.getMBeanServerConnection(); + } + catch (Exception e) + { + throw new AMQException("Unable to connect to remote MBean server with service url " + serviceURLString + + ": " + e, e); + } + } + _currentMBean = new CurrentMBean(_connection); + changeBean(getRootObjectName()); + } + + /** + * Connect to the local MBean server + * @throws AMQException + */ + public void connect() throws AMQException + { + connect(null); + } + + public void disconnect() throws AMQException + { + if (_connection != null) + { + try + { + ObjectName queryName = new ObjectName(JmxConstants.JMX_DOMAIN + ":*"); + Set<ObjectInstance> beans = _connection.queryMBeans(queryName, null); + for (ObjectInstance bean : beans) + { + _log.debug("Unregistering MBean: " + bean.getObjectName()); + _connection.unregisterMBean(bean.getObjectName()); + } + } + catch (Exception e) + { + throw new AMQException("Error unregistering MBeans: " + e, e); + } + } + } + + public ObjectName getRootObjectName() throws AMQException + { + Hashtable<String, String> props = new Hashtable<String, String>(); + props.put("objectid", "0"); + props.put("type", "broker"); + try + { + return new ObjectName(JmxConstants.JMX_DOMAIN, props); + } + catch (MalformedObjectNameException e) + { + throw new AMQException("Cannot construct root MBean object name: " + e, e); + } + } + + private void changeBean(ObjectName objectName) throws AMQException + { + _currentMBean.changeMBean(objectName); + } + + /** + * Change the current bean to the one underneath the current bean, represented by the display name + * @param name + * @throws AMQException + */ + public void changeBean(String name) throws AMQException + { + checkConnection(); + if (name.equals("/")) + { + changeBean(getRootObjectName()); + } + else + { + ObjectName objName = _currentMBean.getObjectNameByName(name); + if (CurrentMBean.PARENT_ATTRIBUTE.equals(name) && objName == null) + { + // we have tried to change up a level from the root, so just ignore + return; + } + if (objName == null) + { + // could be stale cache, so refresh + _currentMBean.refreshNameToObjectNameMap(); + objName = _currentMBean.getObjectNameByName(name); + } + if (objName == null) + { + throw new AMQException("Unknown managed object with name: " + name); + } + else + { + changeBean(objName); + } + } + } + + public void ls() throws AMQException + { + checkConnection(); + LsCommand.execute(this); + } + + public void cd(String destination) throws AMQException + { + CdCommand.execute(this, destination); + } + + public void invoke(String methodName, Object... args) throws AMQException + { + _currentMBean.invoke(methodName, args); + } + + public CurrentMBean getCurrentMBean() + { + return _currentMBean; + } + + public MBeanServerConnection getMBeanServerConnection() + { + return _connection; + } + + private void checkConnection() throws NotConnectedException + { + if (_connection == null) + { + throw new NotConnectedException(); + } + } +} diff --git a/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanUtils.java b/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanUtils.java new file mode 100644 index 0000000000..57bba9d4d3 --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/jmx/MBeanUtils.java @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.jmx; + +import javax.management.MBeanAttributeInfo; + +/** + * Useful MBean methods. Also provides functionality for our CMLMBean + */ +public class MBeanUtils +{ + public static boolean isHidden(MBeanAttributeInfo ai) + { + /* This is JDK 1.6 only + String hidden = (String) ai.getDescriptor().getFieldValue("hidden"); + return hidden != null && "true".equals(hidden); + */ + return ai.getName().startsWith("__"); + } +} diff --git a/java/management/cli/src/org/apache/qpid/stac/jmx/NotConnectedException.java b/java/management/cli/src/org/apache/qpid/stac/jmx/NotConnectedException.java new file mode 100644 index 0000000000..2fcb6e5ddf --- /dev/null +++ b/java/management/cli/src/org/apache/qpid/stac/jmx/NotConnectedException.java @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac.jmx; + +import org.apache.qpid.AMQException; + +public class NotConnectedException extends AMQException +{ + public NotConnectedException() + { + super("Not connected to JMX server"); + } +} diff --git a/java/management/cli/src/python/stac.py b/java/management/cli/src/python/stac.py new file mode 100644 index 0000000000..d521dc18c3 --- /dev/null +++ b/java/management/cli/src/python/stac.py @@ -0,0 +1,190 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Bridges between Python and Java, to provide a simpler and more Pythonesque environment. +Certified to be free of dead parrots. +""" +# Imports +from java.lang import * +import org.amqp.blaze.management.jmx.AMQConsole as AMQConsole +import org.amqp.blaze.stac.jmx.MBeanServerConnectionContext as MBeanServerConnectionContext + +# Globals +commandPrompt = "" +proxied = 0 +connected = 0 +amqConsole = None +connectionContext = None + +# Functions +def connect(url="", username="", password=""): + """ + Connects to an AMQP broker. The URL must be in the form amq://host:port/context + """ + try: + global connected + global connectionContext + if connected==1: + print "Already Connected!" + return + + try: + parsedURL = parseURL(url) + except URLFormatError, ufe: + print "Invalid URL: " + ufe.msg + return + + amqConsole = AMQConsole(parsedURL['host'], parsedURL['port'], username, password, parsedURL['context']) + + amqConsole.initialise() + amqConsole.registerAllMBeans() + connectionContext = MBeanServerConnectionContext() + connectionContext.connect() + connected = 1 + except Exception, e: + updateGlobals() + print e + e.printStackTrace() + cause = e.getCause() + if cause != None: + cause.printStackTrace() + else: + updateGlobals(); + +def disconnect(): + """ + Disconnects from the broker + """ + global connected + global connectionContext + + if connected==0: + print "Not connected!" + return + try: + connectionContext.disconnect() + connected = 0 + except Exception, e: + updateGlobals() + print e + else: + updateGlobals() + +def quit(): + global connected + if connected != 0: + disconnect() + +def ls(): + """ + Lists the current mbean + """ + global connected + if connected == 0: + print "Not connected!" + return + + connectionContext.ls() + +def cd(beanName): + """ + Changes the current mbean + """ + global connected + global connectionContext + if connected == 0: + print "Not connected!" + return + + try: + connectionContext.cd(beanName) + except Exception, e: + updateGlobals() + msg = "Error: " + e.getMessage() + print msg + else: + updateGlobals() + +def invoke(methodName): + """ + Invokes an operation of the current mbean + """ + global connected + global connectionContext + + if connected == 0: + print "Not connected!" + return + + try: + connectionContext.invoke(methodName, None) + except Exception, e: + updateGlobals() + msg = "Error: " + e.getMessage() + print msg + else: + updateGlobals() + +class URLFormatError(Exception): + """Exception raised for errors in format of the URL + + Attributes: + expression -- input expression in which the error occurred + message -- explanation of the error + """ + + def __init__(self, url, message): + self.url = url + self.msg = message + +def parseURL(url): + """ + Parses an AMQ URL into host, port and context components returning them in a dictionary + """ + idx = url.find("amq://") + errorMsg = "Invalid URL - must be format amq://hostname:port/vhost" + if idx != 0: + raise URLFormatError(url, errorMsg) + + hostEndIdx = url.find(":", 6) + if hostEndIdx == -1: + raise URLFormatError(url, errorMsg) + + hostname = url[6:hostEndIdx] + + portIdx = url.find("/", hostEndIdx + 1) + port = url[hostEndIdx + 1:portIdx] + vhost = url[portIdx + 1:] + if portIdx == -1: + raise URLFormatError(url, errorMsg) + + return {'host':hostname,'port':int(port),'context':vhost} + +def updateGlobals(): + global commandPrompt + global connectionContext + if connected == 1: + commandPrompt = "AMQ:connected#" + connectionContext.getCurrentMBean().getAttributeValue("name", "java.lang.String") + "> " + else: + commandPrompt = "AMQ:disconnected> " +# Classes + + +# Global execution + +# Update all the global variables - this is called to sync everything at the start +updateGlobals() diff --git a/java/management/cli/test/org/apache/qpid/stac/ConnectionTest.java b/java/management/cli/test/org/apache/qpid/stac/ConnectionTest.java new file mode 100644 index 0000000000..cf728cc6aa --- /dev/null +++ b/java/management/cli/test/org/apache/qpid/stac/ConnectionTest.java @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.stac; + +import org.apache.qpid.management.jmx.AMQConsole; +import org.apache.qpid.stac.jmx.MBeanServerConnectionContext; + +public class ConnectionTest +{ + public static void main(String[] args) throws Exception + { + + AMQConsole console = new AMQConsole("localhost", 5672, "guest", "guest", "/test"); + console.initialise(); + console.registerAllMBeans(); + MBeanServerConnectionContext connectionContext = new MBeanServerConnectionContext(); + connectionContext.connect(); + connectionContext.ls(); + } +} diff --git a/java/management/core/build-module.xml b/java/management/core/build-module.xml new file mode 100644 index 0000000000..07e17a44d4 --- /dev/null +++ b/java/management/core/build-module.xml @@ -0,0 +1,47 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="AMQ Management Core" default="build"> + + <property name="module.depends" value="common,client"/> + + <import file="../../module.xml"/> + + <property name="etc" value="etc"/> + <property name="xmlbeans.timestamp" value="${module.dir}/xmlbeans.timestamp"/> + + <fileset id="xmlbeans.schema" dir="${etc}" includes="**/*.xsd"/> + + <uptodate property="xmlbeans.done" targetfile="${xmlbeans.timestamp}"> + <srcfiles refid="xmlbeans.schema"/> + </uptodate> + + <taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpathref="module.class.path"/> + + <!-- Generate code from the XML schema --> + <target name="xmlbeans" unless="xmlbeans.done"> + <xmlbean classgendir="${module.classes}" classpathref="module.class.path" + failonerror="true" srcgendir="${module.precompiled}" + javasource="1.5" source="1.5"> + <fileset refid="xmlbeans.schema"/> + </xmlbean> + <touch file="${xmlbeans.timestamp}"/> + </target> + + <target name="precompile" depends="xmlbeans"/> + +</project> diff --git a/java/management/core/build-old.xml b/java/management/core/build-old.xml new file mode 100644 index 0000000000..df00b95bcc --- /dev/null +++ b/java/management/core/build-old.xml @@ -0,0 +1,189 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<!-- AMQP Management Core Java build file --> + +<project name="management-core" default="jar" basedir="."> + <property name="lib" value="${basedir}/lib"/> + <property name="src" value="${basedir}/src"/> + <property name="generated.src" value="${basedir}/generated/src"/> + <property name="tests" value="${basedir}/test"/> + <property name="etc" value="${basedir}/etc"/> + <property name="classes" value="${basedir}/classes"/> + <property name="testclasses" value="${basedir}/testclasses"/> + <property name="dist" value="${basedir}/dist"/> + <property name="apache.root" value="${basedir}/../../clients_java"/> + <property name="apache.dist" value="${apache.root}/dist"/> + <property name="apache.lib" value="${apache.root}/lib"/> + + <taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpathref="core.classpath"/> + + <!-- Setup details --> + <target name="init"> + <tstamp> + <format property="release" pattern="-dMMMyy" locale="en" timezone="GMT"/> + </tstamp> + + <mkdir dir="${generated.src}"/> + <mkdir dir="${classes}"/> + <mkdir dir="${testclasses}"/> + <mkdir dir="${dist}"/> + </target> + + <path id="core.classpath"> + <fileset dir="${lib}"> + <include name="**/*.jar"/> + </fileset> + <pathelement path="${classes}"/> + <pathelement path="${testclasses}/"/> + <fileset dir="${apache.dist}"> + <include name="**/*.jar"/> + </fileset> + <fileset dir="${apache.lib}"> + <include name="**/*.jar"/> + </fileset> + </path> + + <!-- Remove all built files --> + <target name="clean" depends="init"> + <delete dir="${generated.src}"/> + <delete dir="${classes}"/> + <delete dir="${dist}"/> + <delete dir="${testclasses}"/> + </target> + + <!-- Generate code from the XML schema --> + <target name="xmlbeans" depends="init"> + <xmlbean classgendir="${classes}" classpathref="core.classpath" + failonerror="true" srcgendir="${generated.src}" + javasource="1.5" source="1.5"> + <fileset dir="${etc}" includes="**/*.xsd"/> + </xmlbean> + </target> + + <!-- Compile Java --> + <target name="compile" depends="xmlbeans"> + <javac destdir="${classes}" target="1.5" source="1.5" debug="on"> + <classpath refid="core.classpath"/> + <src path="${src}"/> + <src path="${generated.src}"/> + </javac> + + <copy todir="${classes}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + + <target name="compiletests" depends="compile"> + <javac destdir="${testclasses}" target="1.5" source="1.5" classpathref="core.classpath" + debug="on"> + <src path="${tests}"/> + </javac> + + <copy todir="${testclasses}"> + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <fileset dir="${tests}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <!-- Build jar archive --> + <target name="jar" depends="compiletests"> + <mkdir dir="${dist}"/> + <jar basedir="${classes}" jarfile="${dist}/apache-management-common.jar"/> + <jar basedir="${testclasses}" jarfile="${dist}/apache-management-tests.jar"/> + </target> + + + <target name="javadoc" depends="compile, compiletests"> + <mkdir dir="${dist}/docs/api"/> + <javadoc sourcepath="${src}" destdir="${dist}/docs/api" + packagenames="org.apache.qpid.*" classpathref="apache.classpath" author="true" + version="true" windowTitle="AMQP Client API" doctitle="AMQP Client API" + footer="See <a href="http://www.apache.org">www.apache.org</a> for more information." + use="true" verbose="false"/> + </target> + + <target name="ServiceProvidingClient" depends="compiletests"> + <java fork="yes" classname="org.apache.qpid.requestreply1.ServiceProvidingClient"> + <classpath refid="apache.classpath"/> + <jvmarg value="-server"/> + <jvmarg value="-Damqj.logging.level=INFO"/> + <arg value="localhost"/> + <arg value="5672"/> + <arg value="guest"/> + <arg value="guest"/> + <arg value="/vpath"/> + <arg value="serviceQ1"/> + </java> + </target> + + <target name="ServiceRequestingClient" depends="compiletests"> + <java fork="yes" classname="org.apache.qpid.requestreply1.ServiceRequestingClient"> + <classpath refid="apache.classpath"/> + <jvmarg value="-server"/> + <jvmarg value="-Damqj.logging.level=INFO"/> + <arg value="localhost"/> + <arg value="5672"/> + <arg value="guest"/> + <arg value="guest"/> + <arg value="/vpath"/> + <arg value="serviceQ1"/> + <arg value="5000"/> + </java> + </target> + + <target name="profile" depends="compile" description="Profile Project"> + <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath refid="apache.classpath"/> + </nbprofiledirect> + <java fork="true" classname="org.apache.qpid.requestreply1.ServiceRequestingClient" + dir="${profiler.session.working.dir}" + jvm="${profiler.info.jvm}"> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <env key="Path" path="${profiler.info.agentpath}:${env.Path}"/> + <classpath refid="apache.classpath"/> + <jvmarg value="-server"/> + <jvmarg value="-Damqj.logging.level=INFO"/> + <arg value="localhost"/> + <arg value="5672"/> + <arg value="guest"/> + <arg value="guest"/> + <arg value="/vpath"/> + <arg value="serviceQ1"/> + <arg value="5000"/> + </java> + </target> + + <target name="profile-single" depends="compile" description="Profile File"> + <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail> + <nbprofile classname="${profile.class}"> + <classpath refid="apache.classpath"/> + </nbprofile> + </target> +</project> diff --git a/java/management/core/etc/cml-exampleschema.xml b/java/management/core/etc/cml-exampleschema.xml new file mode 100644 index 0000000000..bcee38246f --- /dev/null +++ b/java/management/core/etc/cml-exampleschema.xml @@ -0,0 +1,51 @@ +<?xml version="1.0"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<cml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.apache.org/schema/cml cml.xsd" + xmlns="http://www.apache.org/schema/cml" + version="1.0"> + <schema-reply name = "qpid.apache.org/kernel" version = "0.1" status = "ok"> + <class name = "broker"> + <field name = "started" label = "Date, time broker started" /> + <field name = "vhost" type = "objref" repeat = "1" /> + </class> + <class name = "vhost"> + <field name = "name" label = "Virtual host path" /> + <field name = "exchange" type = "objref" repeat = "1" /> + <field name = "queue" type = "objref" repeat = "1" /> + </class> + <class name = "exchange"> + <field name = "name" /> + <field name = "type" /> + <field name = "durable" label = "Durable exchange?" type = "bool" /> + <field name = "auto_delete" label = "Auto-deleted?" type = "bool" /> + <field name = "bindings" label = "Number of bindings" type = "int" /> + </class> + <class name = "queue"> + <field name = "scope" /> + <field name = "name" /> + <field name = "enabled" label = "Queue accepts new messages?" modify = "1" /> + <field name = "durable" label = "Durable queue?" type = "bool" /> + <field name = "exclusive" label = "Exclusive to one connection?" type = "bool" /> + <field name = "auto_delete" label = "Auto-deleted?" type = "bool" /> + <field name = "consumers" label = "Number of consumers" type = "int" /> + <field name = "messages" label = "Number of messages" type = "int" /> + </class> + </schema-reply> +</cml> diff --git a/java/management/core/etc/cml.xsd b/java/management/core/etc/cml.xsd new file mode 100644 index 0000000000..99c21b41f9 --- /dev/null +++ b/java/management/core/etc/cml.xsd @@ -0,0 +1,175 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.apache.org/qpid/schema/cml" xmlns="http://www.apache.org/qpid/schema/cml" + elementFormDefault="qualified"> + <xs:element name="cml"> + <xs:annotation> + <xs:documentation>Defines a CML document as a schema or a...</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice> + <xs:element name="schema-request" minOccurs="0"/> + <xs:element name="schema-reply" type="schema-reply-type" minOccurs="0" > + <!--<xs:key name="classkey"> + <xs:selector xpath="class"/> + <xs:field xpath="@name"/> + </xs:key>--> + </xs:element> + <xs:element name="inspect-request" type="inspect-request-type" minOccurs="0"/> + <xs:element name="inspect-reply" type="inspect-reply-type" minOccurs="0" /> + <xs:element name="method-request" type="method-request-type" minOccurs="0"/> + <xs:element name="method-reply" type="method-reply-type" minOccurs="0" /> + </xs:choice> + <xs:attribute name="version" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:complexType name="schema-reply-type"> + <xs:annotation> + <xs:documentation>Client request for a schema</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="class" type="class-type" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="version" type="xs:string" use="required"/> + <xs:attribute name="status"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="ok"/> + <xs:enumeration value="not ok"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + <xs:complexType name="class-type"> + <xs:annotation> + <xs:documentation>Defines a class which is a managable object</xs:documentation> + </xs:annotation> + <xs:choice> + <xs:element name="field" type="field-type" minOccurs="0" maxOccurs="unbounded"> + <xs:unique name="uniqueFieldName"> + <xs:selector xpath="field"/> + <xs:field xpath="@name"/> + </xs:unique> + </xs:element> + <xs:element name="method" type="method-type" minOccurs="0" maxOccurs="unbounded"> + <xs:unique name="uniqueMethodName"> + <xs:selector xpath="method"/> + <xs:field xpath="@name"/> + </xs:unique> + </xs:element> + </xs:choice> + <xs:attribute name="name" type="xs:string" use="required"/> + </xs:complexType> + <xs:complexType name="field-type"> + <xs:annotation> + <xs:documentation>Defines a field within a class</xs:documentation> + </xs:annotation> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="type" use="optional" default="string"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="bool"/> + <xs:enumeration value="string"/> + <xs:enumeration value="int"/> + <xs:enumeration value="objref"/> + <xs:enumeration value="time"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="label" type="xs:string" use="optional"/> + <xs:attribute name="repeat" type="xs:boolean" use="optional" default="false"/> + <xs:attribute name="modify" type="xs:boolean" use="optional" default="false"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="method-type"> + <xs:annotation> + <xs:documentation>Defines a method within a class</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="field" type="field-type" minOccurs="0" maxOccurs="unbounded"> + <xs:unique name="uniqueArgumentName"> + <xs:selector xpath="field"/> + <xs:field xpath="@name"/> + </xs:unique> + </xs:element> + </xs:sequence> + <xs:attribute name="name" type="xs:string" use="required"/> + </xs:complexType> + <xs:complexType name="inspect-request-type"> + <xs:annotation> + <xs:documentation>A request to get the property values of an instance</xs:documentation> + </xs:annotation> + <xs:attribute name="object" type="xs:int" use="required"/> + </xs:complexType> + <xs:complexType name="inspect-reply-type"> + <xs:annotation> + <xs:documentation>A response containing the properties of an instance</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="field" type="field-type" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="object" type="object-type" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="class" type="xs:string" use="optional"/> + <xs:attribute name="status" use="optional"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="ok"/> + <xs:enumeration value="notfound"/> + <xs:enumeration value="noaccess"/> + <xs:enumeration value="invalid"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="object" type="xs:int" use="required"/> + </xs:complexType> + <xs:complexType name="object-type"> + <xs:annotation> + <xs:documentation>A reference to an object instance</xs:documentation> + </xs:annotation> + <xs:attribute name="class" type="xs:string" use="required"/> + <xs:attribute name="id" type="xs:int" use="required"/> + </xs:complexType> + <xs:complexType name="method-request-type"> + <xs:annotation> + <xs:documentation>A request to invoke a method</xs:documentation> + </xs:annotation> + <xs:attribute name="object" type="xs:int" use="required"/> + <xs:attribute name="name" type="xs:string" use="required"/> + </xs:complexType> + <xs:complexType name="method-reply-type"> + <xs:annotation> + <xs:documentation>A reply to a method invocation request</xs:documentation> + </xs:annotation> + <xs:attribute name="object" type="xs:int" use="required"/> + <xs:attribute name="status" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="ok"/> + <xs:enumeration value="notfound"/> + <xs:enumeration value="noaccess"/> + <xs:enumeration value="invalid"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> +</xs:schema> diff --git a/java/management/core/lib/jakarta-commons/commons-attributes-api.jar b/java/management/core/lib/jakarta-commons/commons-attributes-api.jar Binary files differnew file mode 100644 index 0000000000..b41cd055bb --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-attributes-api.jar diff --git a/java/management/core/lib/jakarta-commons/commons-attributes-compiler.jar b/java/management/core/lib/jakarta-commons/commons-attributes-compiler.jar Binary files differnew file mode 100644 index 0000000000..ffd93f79eb --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-attributes-compiler.jar diff --git a/java/management/core/lib/jakarta-commons/commons-beanutils.jar b/java/management/core/lib/jakarta-commons/commons-beanutils.jar Binary files differnew file mode 100644 index 0000000000..b1b89c9c92 --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-beanutils.jar diff --git a/java/management/core/lib/jakarta-commons/commons-codec.jar b/java/management/core/lib/jakarta-commons/commons-codec.jar Binary files differnew file mode 100644 index 0000000000..957b6752af --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-codec.jar diff --git a/java/management/core/lib/jakarta-commons/commons-collections.jar b/java/management/core/lib/jakarta-commons/commons-collections.jar Binary files differnew file mode 100644 index 0000000000..41e230feea --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-collections.jar diff --git a/java/management/core/lib/jakarta-commons/commons-dbcp.jar b/java/management/core/lib/jakarta-commons/commons-dbcp.jar Binary files differnew file mode 100644 index 0000000000..08440c02e5 --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-dbcp.jar diff --git a/java/management/core/lib/jakarta-commons/commons-digester.jar b/java/management/core/lib/jakarta-commons/commons-digester.jar Binary files differnew file mode 100644 index 0000000000..9765493306 --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-digester.jar diff --git a/java/management/core/lib/jakarta-commons/commons-discovery.jar b/java/management/core/lib/jakarta-commons/commons-discovery.jar Binary files differnew file mode 100644 index 0000000000..eff4db19ef --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-discovery.jar diff --git a/java/management/core/lib/jakarta-commons/commons-fileupload.jar b/java/management/core/lib/jakarta-commons/commons-fileupload.jar Binary files differnew file mode 100644 index 0000000000..1ca4a9cd31 --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-fileupload.jar diff --git a/java/management/core/lib/jakarta-commons/commons-httpclient.jar b/java/management/core/lib/jakarta-commons/commons-httpclient.jar Binary files differnew file mode 100644 index 0000000000..c17584060d --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-httpclient.jar diff --git a/java/management/core/lib/jakarta-commons/commons-lang.jar b/java/management/core/lib/jakarta-commons/commons-lang.jar Binary files differnew file mode 100644 index 0000000000..87b80ab5db --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-lang.jar diff --git a/java/management/core/lib/jakarta-commons/commons-logging.jar b/java/management/core/lib/jakarta-commons/commons-logging.jar Binary files differnew file mode 100644 index 0000000000..b73a80fab6 --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-logging.jar diff --git a/java/management/core/lib/jakarta-commons/commons-pool.jar b/java/management/core/lib/jakarta-commons/commons-pool.jar Binary files differnew file mode 100644 index 0000000000..4ba534c90e --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-pool.jar diff --git a/java/management/core/lib/jakarta-commons/commons-validator.jar b/java/management/core/lib/jakarta-commons/commons-validator.jar Binary files differnew file mode 100644 index 0000000000..bf76e86c29 --- /dev/null +++ b/java/management/core/lib/jakarta-commons/commons-validator.jar diff --git a/java/management/core/lib/log4j/log4j-1.2.9.jar b/java/management/core/lib/log4j/log4j-1.2.9.jar Binary files differnew file mode 100644 index 0000000000..a6568b01a2 --- /dev/null +++ b/java/management/core/lib/log4j/log4j-1.2.9.jar diff --git a/java/management/core/lib/spring/spring-beans.dtd b/java/management/core/lib/spring/spring-beans.dtd new file mode 100644 index 0000000000..050f845788 --- /dev/null +++ b/java/management/core/lib/spring/spring-beans.dtd @@ -0,0 +1,587 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Spring XML Beans DTD + Authors: Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu + + This defines a simple and consistent way of creating a namespace + of JavaBeans objects, managed by a Spring BeanFactory, read by + XmlBeanDefinitionReader (with DefaultXmlBeanDefinitionParser). + + This document type is used by most Spring functionality, including + web application contexts, which are based on bean factories. + + Each "bean" element in this document defines a JavaBean. + Typically the bean class is specified, along with JavaBean properties + and/or constructor arguments. + + Bean instances can be "singletons" (shared instances) or "prototypes" + (independent instances). Further scopes are supposed to be built on top + of the core BeanFactory infrastructure and are therefore not part of it. + + References among beans are supported, i.e. setting a JavaBean property + or a constructor argument to refer to another bean in the same factory + (or an ancestor factory). + + As alternative to bean references, "inner bean definitions" can be used. + Singleton flags of such inner bean definitions are effectively ignored: + Inner beans are typically anonymous prototypes. + + There is also support for lists, sets, maps, and java.util.Properties + as bean property types or constructor argument types. + + As the format is simple, a DTD is sufficient, and there's no need + for a schema at this point. + + XML documents that conform to this DTD should declare the following doctype: + + <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" + "http://www.springframework.org/dtd/spring-beans.dtd"> +--> + + +<!-- + The document root. A document can contain bean definitions only, + imports only, or a mixture of both (typically with imports first). +--> +<!ELEMENT beans ( + description?, + (import | alias | bean)* +)> + +<!-- + Default values for all bean definitions. Can be overridden at + the "bean" level. See those attribute definitions for details. +--> +<!ATTLIST beans default-lazy-init (true | false) "false"> +<!ATTLIST beans default-autowire (no | byName | byType | constructor | autodetect) "no"> +<!ATTLIST beans default-dependency-check (none | objects | simple | all) "none"> + +<!-- + Element containing informative text describing the purpose of the enclosing + element. Always optional. + Used primarily for user documentation of XML bean definition documents. +--> +<!ELEMENT description (#PCDATA)> + + +<!-- + Specifies an XML bean definition resource to import. +--> +<!ELEMENT import EMPTY> + +<!-- + The relative resource location of the XML bean definition file to import, + for example "myImport.xml" or "includes/myImport.xml" or "../myImport.xml". +--> +<!ATTLIST import resource CDATA #REQUIRED> + + +<!-- + Defines an alias for a bean, which can reside in a different definition file. +--> +<!ELEMENT alias EMPTY> + +<!-- + The name of the bean to define an alias for. +--> +<!ATTLIST alias name CDATA #REQUIRED> + +<!-- + The alias name to define for the bean. +--> +<!ATTLIST alias alias CDATA #REQUIRED> + + +<!-- + Defines a single (usually named) bean. + + A bean definition may contain nested tags for constructor arguments, + property values, lookup methods, and replaced methods. Mixing constructor + injection and setter injection on the same bean is explicitly supported. +--> +<!ELEMENT bean ( + description?, + (constructor-arg | property | lookup-method | replaced-method)* +)> + +<!-- + Beans can be identified by an id, to enable reference checking. + + There are constraints on a valid XML id: if you want to reference your bean + in Java code using a name that's illegal as an XML id, use the optional + "name" attribute. If neither is given, the bean class name is used as id + (with an appended counter like "#2" if there is already a bean with that name). +--> +<!ATTLIST bean id ID #IMPLIED> + +<!-- + Optional. Can be used to create one or more aliases illegal in an id. + Multiple aliases can be separated by any number of spaces or commas. +--> +<!ATTLIST bean name CDATA #IMPLIED> + +<!-- + Each bean definition must specify the fully qualified name of the class, + except if it pure serves as parent for child bean definitions. +--> +<!ATTLIST bean class CDATA #IMPLIED> + +<!-- + Optionally specify a parent bean definition. + + Will use the bean class of the parent if none specified, but can + also override it. In the latter case, the child bean class must be + compatible with the parent, i.e. accept the parent's property values + and constructor argument values, if any. + + A child bean definition will inherit constructor argument values, + property values and method overrides from the parent, with the option + to add new values. If init method, destroy method, factory bean and/or factory + method are specified, they will override the corresponding parent settings. + + The remaining settings will always be taken from the child definition: + depends on, autowire mode, dependency check, singleton, lazy init. +--> +<!ATTLIST bean parent CDATA #IMPLIED> + +<!-- + Is this bean "abstract", i.e. not meant to be instantiated itself but + rather just serving as parent for concrete child bean definitions. + Default is "false". Specify "true" to tell the bean factory to not try to + instantiate that particular bean in any case. +--> +<!ATTLIST bean abstract (true | false) "false"> + +<!-- + Is this bean a "singleton" (one shared instance, which will + be returned by all calls to getBean() with the id), + or a "prototype" (independent instance resulting from each call to + getBean(). Default is singleton. + + Singletons are most commonly used, and are ideal for multi-threaded + service objects. +--> +<!ATTLIST bean singleton (true | false) "true"> + +<!-- + If this bean should be lazily initialized. + If false, it will get instantiated on startup by bean factories + that perform eager initialization of singletons. +--> +<!ATTLIST bean lazy-init (true | false | default) "default"> + +<!-- + Optional attribute controlling whether to "autowire" bean properties. + This is an automagical process in which bean references don't need to be coded + explicitly in the XML bean definition file, but Spring works out dependencies. + + There are 5 modes: + + 1. "no" + The traditional Spring default. No automagical wiring. Bean references + must be defined in the XML file via the <ref> element. We recommend this + in most cases as it makes documentation more explicit. + + 2. "byName" + Autowiring by property name. If a bean of class Cat exposes a dog property, + Spring will try to set this to the value of the bean "dog" in the current factory. + If there is no matching bean by name, nothing special happens; + use dependency-check="objects" to raise an error in that case. + + 3. "byType" + Autowiring if there is exactly one bean of the property type in the bean factory. + If there is more than one, a fatal error is raised, and you can't use byType + autowiring for that bean. If there is none, nothing special happens; + use dependency-check="objects" to raise an error in that case. + + 4. "constructor" + Analogous to "byType" for constructor arguments. If there isn't exactly one bean + of the constructor argument type in the bean factory, a fatal error is raised. + + 5. "autodetect" + Chooses "constructor" or "byType" through introspection of the bean class. + If a default constructor is found, "byType" gets applied. + + The latter two are similar to PicoContainer and make bean factories simple to + configure for small namespaces, but doesn't work as well as standard Spring + behaviour for bigger applications. + + Note that explicit dependencies, i.e. "property" and "constructor-arg" elements, + always override autowiring. Autowire behaviour can be combined with dependency + checking, which will be performed after all autowiring has been completed. +--> +<!ATTLIST bean autowire (no | byName | byType | constructor | autodetect | default) "default"> + +<!-- + Optional attribute controlling whether to check whether all this + beans dependencies, expressed in its properties, are satisfied. + Default is no dependency checking. + + "simple" type dependency checking includes primitives and String + "object" includes collaborators (other beans in the factory) + "all" includes both types of dependency checking +--> +<!ATTLIST bean dependency-check (none | objects | simple | all | default) "default"> + +<!-- + The names of the beans that this bean depends on being initialized. + The bean factory will guarantee that these beans get initialized before. + + Note that dependencies are normally expressed through bean properties or + constructor arguments. This property should just be necessary for other kinds + of dependencies like statics (*ugh*) or database preparation on startup. +--> +<!ATTLIST bean depends-on CDATA #IMPLIED> + +<!-- + Optional attribute for the name of the custom initialization method + to invoke after setting bean properties. The method must have no arguments, + but may throw any exception. +--> +<!ATTLIST bean init-method CDATA #IMPLIED> + +<!-- + Optional attribute for the name of the custom destroy method to invoke + on bean factory shutdown. The method must have no arguments, + but may throw any exception. Note: Only invoked on singleton beans! +--> +<!ATTLIST bean destroy-method CDATA #IMPLIED> + +<!-- + Optional attribute specifying the name of a factory method to use to + create this object. Use constructor-arg elements to specify arguments + to the factory method, if it takes arguments. Autowiring does not apply + to factory methods. + + If the "class" attribute is present, the factory method will be a static + method on the class specified by the "class" attribute on this bean + definition. Often this will be the same class as that of the constructed + object - for example, when the factory method is used as an alternative + to a constructor. However, it may be on a different class. In that case, + the created object will *not* be of the class specified in the "class" + attribute. This is analogous to FactoryBean behavior. + + If the "factory-bean" attribute is present, the "class" attribute is not + used, and the factory method will be an instance method on the object + returned from a getBean call with the specified bean name. The factory + bean may be defined as a singleton or a prototype. + + The factory method can have any number of arguments. Autowiring is not + supported. Use indexed constructor-arg elements in conjunction with the + factory-method attribute. + + Setter Injection can be used in conjunction with a factory method. + Method Injection cannot, as the factory method returns an instance, + which will be used when the container creates the bean. +--> +<!ATTLIST bean factory-method CDATA #IMPLIED> + +<!-- + Alternative to class attribute for factory-method usage. + If this is specified, no class attribute should be used. + This should be set to the name of a bean in the current or + ancestor factories that contains the relevant factory method. + This allows the factory itself to be configured using Dependency + Injection, and an instance (rather than static) method to be used. +--> +<!ATTLIST bean factory-bean CDATA #IMPLIED> + + +<!-- + Bean definitions can specify zero or more constructor arguments. + This is an alternative to "autowire constructor". + Arguments correspond to either a specific index of the constructor argument + list or are supposed to be matched generically by type. + + Note: A single generic argument value will just be used once, rather than + potentially matched multiple times (as of Spring 1.1). + + constructor-arg elements are also used in conjunction with the factory-method + element to construct beans using static or instance factory methods. +--> +<!ELEMENT constructor-arg ( + description?, + (bean | ref | idref | value | null | list | set | map | props)? +)> + +<!-- + The constructor-arg tag can have an optional index attribute, + to specify the exact index in the constructor argument list. Only needed + to avoid ambiguities, e.g. in case of 2 arguments of the same type. +--> +<!ATTLIST constructor-arg index CDATA #IMPLIED> + +<!-- + The constructor-arg tag can have an optional type attribute, + to specify the exact type of the constructor argument. Only needed + to avoid ambiguities, e.g. in case of 2 single argument constructors + that can both be converted from a String. +--> +<!ATTLIST constructor-arg type CDATA #IMPLIED> + +<!-- + A short-cut alternative to a child element "ref bean=". +--> +<!ATTLIST constructor-arg ref CDATA #IMPLIED> + +<!-- + A short-cut alternative to a child element "value". +--> +<!ATTLIST constructor-arg value CDATA #IMPLIED> + + +<!-- + Bean definitions can have zero or more properties. + Property elements correspond to JavaBean setter methods exposed + by the bean classes. Spring supports primitives, references to other + beans in the same or related factories, lists, maps and properties. +--> +<!ELEMENT property ( + description?, + (bean | ref | idref | value | null | list | set | map | props)? +)> + +<!-- + The property name attribute is the name of the JavaBean property. + This follows JavaBean conventions: a name of "age" would correspond + to setAge()/optional getAge() methods. +--> +<!ATTLIST property name CDATA #REQUIRED> + +<!-- + A short-cut alternative to a child element "ref bean=". +--> +<!ATTLIST property ref CDATA #IMPLIED> + +<!-- + A short-cut alternative to a child element "value". +--> +<!ATTLIST property value CDATA #IMPLIED> + + +<!-- + A lookup method causes the IoC container to override the given method and return + the bean with the name given in the bean attribute. This is a form of Method Injection. + It's particularly useful as an alternative to implementing the BeanFactoryAware + interface, in order to be able to make getBean() calls for non-singleton instances + at runtime. In this case, Method Injection is a less invasive alternative. +--> +<!ELEMENT lookup-method EMPTY> + +<!-- + Name of a lookup method. This method should take no arguments. +--> +<!ATTLIST lookup-method name CDATA #IMPLIED> + +<!-- + Name of the bean in the current or ancestor factories that the lookup method + should resolve to. Often this bean will be a prototype, in which case the + lookup method will return a distinct instance on every invocation. This + is useful for single-threaded objects. +--> +<!ATTLIST lookup-method bean CDATA #IMPLIED> + + +<!-- + Similar to the lookup method mechanism, the replaced-method element is used to control + IoC container method overriding: Method Injection. This mechanism allows the overriding + of a method with arbitrary code. +--> +<!ELEMENT replaced-method ( + (arg-type)* +)> + +<!-- + Name of the method whose implementation should be replaced by the IoC container. + If this method is not overloaded, there's no need to use arg-type subelements. + If this method is overloaded, arg-type subelements must be used for all + override definitions for the method. +--> +<!ATTLIST replaced-method name CDATA #IMPLIED> + +<!-- + Bean name of an implementation of the MethodReplacer interface + in the current or ancestor factories. This may be a singleton or prototype + bean. If it's a prototype, a new instance will be used for each method replacement. + Singleton usage is the norm. +--> +<!ATTLIST replaced-method replacer CDATA #IMPLIED> + +<!-- + Subelement of replaced-method identifying an argument for a replaced method + in the event of method overloading. +--> +<!ELEMENT arg-type (#PCDATA)> + +<!-- + Specification of the type of an overloaded method argument as a String. + For convenience, this may be a substring of the FQN. E.g. all the + following would match "java.lang.String": + - java.lang.String + - String + - Str + + As the number of arguments will be checked also, this convenience can often + be used to save typing. +--> +<!ATTLIST arg-type match CDATA #IMPLIED> + + +<!-- + Defines a reference to another bean in this factory or an external + factory (parent or included factory). +--> +<!ELEMENT ref EMPTY> + +<!-- + References must specify a name of the target bean. + The "bean" attribute can reference any name from any bean in the context, + to be checked at runtime. + Local references, using the "local" attribute, have to use bean ids; + they can be checked by this DTD, thus should be preferred for references + within the same bean factory XML file. +--> +<!ATTLIST ref bean CDATA #IMPLIED> +<!ATTLIST ref local IDREF #IMPLIED> +<!ATTLIST ref parent CDATA #IMPLIED> + + +<!-- + Defines a string property value, which must also be the id of another + bean in this factory or an external factory (parent or included factory). + While a regular 'value' element could instead be used for the same effect, + using idref in this case allows validation of local bean ids by the xml + parser, and name completion by helper tools. +--> +<!ELEMENT idref EMPTY> + +<!-- + ID refs must specify a name of the target bean. + The "bean" attribute can reference any name from any bean in the context, + potentially to be checked at runtime by bean factory implementations. + Local references, using the "local" attribute, have to use bean ids; + they can be checked by this DTD, thus should be preferred for references + within the same bean factory XML file. +--> +<!ATTLIST idref bean CDATA #IMPLIED> +<!ATTLIST idref local IDREF #IMPLIED> + + +<!-- + Contains a string representation of a property value. + The property may be a string, or may be converted to the + required type using the JavaBeans PropertyEditor + machinery. This makes it possible for application developers + to write custom PropertyEditor implementations that can + convert strings to objects. + + Note that this is recommended for simple objects only. + Configure more complex objects by populating JavaBean + properties with references to other beans. +--> +<!ELEMENT value (#PCDATA)> + +<!-- + The value tag can have an optional type attribute, to specify the + exact type that the value should be converted to. Only needed + if the type of the target property or constructor argument is + too generic: for example, in case of a collection element. +--> +<!ATTLIST value type CDATA #IMPLIED> + +<!-- + Denotes a Java null value. Necessary because an empty "value" tag + will resolve to an empty String, which will not be resolved to a + null value unless a special PropertyEditor does so. +--> +<!ELEMENT null (#PCDATA)> + + +<!-- + A list can contain multiple inner bean, ref, collection, or value elements. + Java lists are untyped, pending generics support in Java 1.5, + although references will be strongly typed. + A list can also map to an array type. The necessary conversion + is automatically performed by the BeanFactory. +--> +<!ELEMENT list ( + (bean | ref | idref | value | null | list | set | map | props)* +)> + +<!-- + A set can contain multiple inner bean, ref, collection, or value elements. + Java sets are untyped, pending generics support in Java 1.5, + although references will be strongly typed. +--> +<!ELEMENT set ( + (bean | ref | idref | value | null | list | set | map | props)* +)> + + +<!-- + A Spring map is a mapping from a string key to object. + Maps may be empty. +--> +<!ELEMENT map ( + (entry)* +)> + +<!-- + A map entry can be an inner bean, ref, value, or collection. + The key of the entry is given by the "key" attribute or child element. +--> +<!ELEMENT entry ( + key?, + (bean | ref | idref | value | null | list | set | map | props)? +)> + +<!-- + Each map element must specify its key as attribute or as child element. + A key attribute is always a String value. +--> +<!ATTLIST entry key CDATA #IMPLIED> + +<!-- + A short-cut alternative to a "key" element with a "ref bean=" child element. +--> +<!ATTLIST entry key-ref CDATA #IMPLIED> + +<!-- + A short-cut alternative to a child element "value". +--> +<!ATTLIST entry value CDATA #IMPLIED> + +<!-- + A short-cut alternative to a child element "ref bean=". +--> +<!ATTLIST entry value-ref CDATA #IMPLIED> + +<!-- + A key element can contain an inner bean, ref, value, or collection. +--> +<!ELEMENT key ( + (bean | ref | idref | value | null | list | set | map | props) +)> + + +<!-- + Props elements differ from map elements in that values must be strings. + Props may be empty. +--> +<!ELEMENT props ( + (prop)* +)> + +<!-- + Element content is the string value of the property. + Note that whitespace is trimmed off to avoid unwanted whitespace + caused by typical XML formatting. +--> +<!ELEMENT prop (#PCDATA)> + +<!-- + Each property element must specify its key. +--> +<!ATTLIST prop key CDATA #REQUIRED> + diff --git a/java/management/core/lib/spring/spring.ftl b/java/management/core/lib/spring/spring.ftl new file mode 100644 index 0000000000..45d8ad0b39 --- /dev/null +++ b/java/management/core/lib/spring/spring.ftl @@ -0,0 +1,316 @@ +<#-- + * spring.ftl + * + * This file consists of a collection of FreeMarker macros aimed at easing + * some of the common requirements of web applications - in particular + * handling of forms. + * + * Spring's FreeMarker support will automatically make this file and therefore + * all macros within it available to any application using Spring's + * FreeMarkerConfigurer. + * + * To take advantage of these macros, the "exposeSpringMacroHelpers" property + * of the FreeMarker class needs to be set to "true". This will expose a + * RequestContext under the name "springMacroRequestContext", as needed by + * the macros in this library. + * + * @author Darren Davison + * @author Juergen Hoeller + * @since 1.1 + --> + +<#-- + * message + * + * Macro to translate a message code into a message. + --> +<#macro message code>${springMacroRequestContext.getMessage(code)}</#macro> + +<#-- + * messageText + * + * Macro to translate a message code into a message, + * using the given default text if no message found. + --> +<#macro messageText code, text>${springMacroRequestContext.getMessage(code, text)}</#macro> + +<#-- + * url + * + * Takes a relative URL and makes it absolute from the server root by + * adding the context root for the web application. + --> +<#macro url relativeUrl>${springMacroRequestContext.getContextPath()}${relativeUrl}</#macro> + +<#-- + * bind + * + * Exposes a BindStatus object for the given bind path, which can be + * a bean (e.g. "person") to get global errors, or a bean property + * (e.g. "person.name") to get field errors. Can be called multiple times + * within a form to bind to multiple command objects and/or field names. + * + * This macro will participate in the default HTML escape setting for the given + * RequestContext. This can be customized by calling "setDefaultHtmlEscape" + * on the "springMacroRequestContext" context variable, or via the + * "defaultHtmlEscape" context-param in web.xml (same as for the JSP bind tag). + * Also regards a "htmlEscape" variable in the namespace of this library. + * + * Producing no output, the following context variable will be available + * each time this macro is referenced (assuming you import this library in + * your templates with the namespace 'spring'): + * + * spring.status : a BindStatus instance holding the command object name, + * expression, value, and error messages and codes for the path supplied + * + * @param path : the path (string value) of the value required to bind to. + * Spring defaults to a command name of "command" but this can be overridden + * by user config. + --> +<#macro bind path> + <#if htmlEscape?exists> + <#assign status = springMacroRequestContext.getBindStatus(path, htmlEscape)> + <#else> + <#assign status = springMacroRequestContext.getBindStatus(path)> + </#if> + <#-- assign a temporary value, forcing a string representation for any + kind of variable. This temp value is only used in this macro lib --> + <#if status.value?exists && status.value?is_boolean> + <#assign stringStatusValue=status.value?string> + <#else> + <#assign stringStatusValue=status.value?default("")> + </#if> +</#macro> + +<#-- + * bindEscaped + * + * Similar to spring:bind, but takes an explicit HTML escape flag rather + * than relying on the default HTML escape setting. + --> +<#macro bindEscaped path, htmlEscape> + <#assign status = springMacroRequestContext.getBindStatus(path, htmlEscape)> + <#-- assign a temporary value, forcing a string representation for any + kind of variable. This temp value is only used in this macro lib --> + <#if status.value?exists && status.value?is_boolean> + <#assign stringStatusValue=status.value?string> + <#else> + <#assign stringStatusValue=status.value?default("")> + </#if> +</#macro> + +<#-- + * formInput + * + * Display a form input field of type 'text' and bind it to an attribute + * of a command or bean. + * + * @param path the name of the field to bind to + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size + --> +<#macro formInput path attributes="" fieldType="text" > + <@bind path/> + <input type="${fieldType}" name="${status.expression}" value="<#if fieldType!="password">${stringStatusValue}</#if>" ${attributes} + <@closeTag/> +</#macro> + +<#-- + * formPasswordInput + * + * Display a form input field of type 'password' and bind it to an attribute + * of a command or bean. No value will ever be displayed. This functionality + * can also be obtained by calling the formInput macro with a 'type' parameter + * of 'password' + * + * @param path the name of the field to bind to + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size + --> +<#macro formPasswordInput path attributes="" > + <@formInput path, attributes, "password"/> +</#macro> + +<#-- + * formHiddenInput + * + * Generate a form input field of type 'hidden' and bind it to an attribute + * of a command or bean. This functionality can also be obtained by calling + * the formInput macro with a 'type' parameter of 'hidden' + * + * @param path the name of the field to bind to + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size + --> +<#macro formHiddenInput path attributes="" > + <@formInput path, attributes, "hidden"/> +</#macro> + +<#-- + * formTextarea + * + * Display a text area and bind it to an attribute of a command or bean. + * + * @param path the name of the field to bind to + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size + --> +<#macro formTextarea path attributes="" > + <@bind path/> + <textarea name="${status.expression}" ${attributes}>${stringStatusValue}</textarea> +</#macro> + +<#-- + * formSingleSelect + * + * Show a selectbox (dropdown) input element allowing a single value to be chosen + * from a list of options. + * + * @param path the name of the field to bind to + * @param options a map (value=label) of all the available options + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size +--> +<#macro formSingleSelect path options attributes=""> + <@bind path/> + <select name="${status.expression}" ${attributes}> + <#list options?keys as value> + <option value="${value}"<@checkSelected value/>>${options[value]}</option> + </#list> + </select> +</#macro> + +<#-- + * formMultiSelect + * + * Show a listbox of options allowing the user to make 0 or more choices from + * the list of options. + * + * @param path the name of the field to bind to + * @param options a map (value=label) of all the available options + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size +--> +<#macro formMultiSelect path options attributes=""> + <@bind path/> + <select multiple="multiple" name="${status.expression}" ${attributes}> + <#list options?keys as value> + <#assign isSelected = contains(status.value?default([""]), value)> + <option value="${value}" <#if isSelected>selected="selected"</#if>>${options[value]}</option> + </#list> + </select> +</#macro> + +<#-- + * formRadioButtons + * + * Show radio buttons. + * + * @param path the name of the field to bind to + * @param options a map (value=label) of all the available options + * @param separator the html tag or other character list that should be used to + * separate each option. Typically ' ' or '<br>' + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size +--> +<#macro formRadioButtons path options separator attributes=""> + <@bind path/> + <#list options?keys as value> + <input type="radio" name="${status.expression}" value="${value}" + <#if stringStatusValue == value>checked="checked"</#if> ${attributes} + <@closeTag/> + ${options[value]}${separator} + </#list> +</#macro> + +<#-- + * formCheckboxes + * + * Show checkboxes. + * + * @param path the name of the field to bind to + * @param options a map (value=label) of all the available options + * @param separator the html tag or other character list that should be used to + * separate each option. Typically ' ' or '<br>' + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size +--> +<#macro formCheckboxes path options separator attributes=""> + <@bind path/> + <#list options?keys as value> + <#assign isSelected = contains(status.value?default([""]), value)> + <input type="checkbox" name="${status.expression}" value="${value}" + <#if isSelected>checked="checked"</#if> ${attributes} + <@closeTag/> + ${options[value]}${separator} + </#list> +</#macro> + +<#-- + * showErrors + * + * Show validation errors for the currently bound field, with + * optional style attributes. + * + * @param separator the html tag or other character list that should be used to + * separate each option. Typically '<br>'. + * @param classOrStyle either the name of a CSS class element (which is defined in + * the template or an external CSS file) or an inline style. If the value passed in here + * contains a colon (:) then a 'style=' attribute will be used, else a 'class=' attribute + * will be used. +--> +<#macro showErrors separator classOrStyle=""> + <#list status.errorMessages as error> + <#if classOrStyle == ""> + <b>${error}</b> + <#else> + <#if classOrStyle?index_of(":") == -1><#assign attr="class"><#else><#assign attr="style"></#if> + <span ${attr}="${classOrStyle}">${error}</span> + </#if> + <#if error_has_next>${separator}</#if> + </#list> +</#macro> + +<#-- + * checkSelected + * + * Check a value in a list to see if it is the currently selected value. + * If so, add the 'selected="selected"' text to the output. + * Handles values of numeric and string types. + * This function is used internally but can be accessed by user code if required. + * + * @param value the current value in a list iteration +--> +<#macro checkSelected value> + <#if stringStatusValue?is_number && stringStatusValue == value?number>selected="selected"</#if> + <#if stringStatusValue?is_string && stringStatusValue == value>selected="selected"</#if> +</#macro> + +<#-- + * contains + * + * Macro to return true if the list contains the scalar, false if not. + * Surprisingly not a FreeMarker builtin. + * This function is used internally but can be accessed by user code if required. + * + * @param list the list to search for the item + * @param item the item to search for in the list + * @return true if item is found in the list, false otherwise +--> +<#function contains list item> + <#list list as nextInList> + <#if nextInList == item><#return true></#if> + </#list> + <#return false> +</#function> + +<#-- + * closeTag + * + * Simple macro to close an HTML tag that has no body with '>' or '/>', + * depending on the value of a 'xhtmlCompliant' variable in the namespace + * of this library. +--> +<#macro closeTag> + <#if xhtmlCompliant?exists && xhtmlCompliant>/><#else>></#if> +</#macro> diff --git a/java/management/core/lib/spring/spring.tld b/java/management/core/lib/spring/spring.tld new file mode 100644 index 0000000000..1bc7091f03 --- /dev/null +++ b/java/management/core/lib/spring/spring.tld @@ -0,0 +1,311 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> + +<taglib> + + <tlib-version>1.1.1</tlib-version> + + <jsp-version>1.2</jsp-version> + + <short-name>Spring</short-name> + + <uri>http://www.springframework.org/tags</uri> + + <description>Spring Framework JSP Tag Library. Authors: Rod Johnson, Juergen Hoeller</description> + + + <tag> + + <name>htmlEscape</name> + <tag-class>org.springframework.web.servlet.tags.HtmlEscapeTag</tag-class> + <body-content>JSP</body-content> + + <description> + Sets default HTML escape value for the current page. + Overrides a "defaultHtmlEscape" context-param in web.xml, if any. + </description> + + <attribute> + <name>defaultHtmlEscape</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + </tag> + + + <tag> + + <name>escapeBody</name> + <tag-class>org.springframework.web.servlet.tags.EscapeBodyTag</tag-class> + <body-content>JSP</body-content> + + <description> + Escapes its enclosed body content, applying HTML escaping and/or JavaScript escaping. + The HTML escaping flag participates in a page-wide or application-wide setting + (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml). + </description> + + <attribute> + <name>htmlEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>javaScriptEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + </tag> + + + <tag> + + <name>message</name> + <tag-class>org.springframework.web.servlet.tags.MessageTag</tag-class> + <body-content>JSP</body-content> + + <description> + Retrieves the message with the given code, or text if code isn't resolvable. + The HTML escaping flag participates in a page-wide or application-wide setting + (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml). + </description> + + <attribute> + <name>code</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>arguments</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>text</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>var</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>scope</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>htmlEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>javaScriptEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + </tag> + + + <tag> + + <name>theme</name> + <tag-class>org.springframework.web.servlet.tags.ThemeTag</tag-class> + <body-content>JSP</body-content> + + <description> + Retrieves the theme message with the given code, or text if code isn't resolvable. + The HTML escaping flag participates in a page-wide or application-wide setting + (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml). + </description> + + <attribute> + <name>code</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>arguments</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>text</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>var</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>scope</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>htmlEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>javaScriptEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + </tag> + + + <tag> + + <name>hasBindErrors</name> + <tag-class>org.springframework.web.servlet.tags.BindErrorsTag</tag-class> + <body-content>JSP</body-content> + + <description> + Provides Errors instance in case of bind errors. + The HTML escaping flag participates in a page-wide or application-wide setting + (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml). + </description> + + <variable> + <name-given>errors</name-given> + <variable-class>org.springframework.validation.Errors</variable-class> + </variable> + + <attribute> + <name>name</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>htmlEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + </tag> + + + <tag> + + <name>nestedPath</name> + <tag-class>org.springframework.web.servlet.tags.NestedPathTag</tag-class> + <body-content>JSP</body-content> + + <description> + Sets a nested path to be used by the bind tag's path. + </description> + + <variable> + <name-given>nestedPath</name-given> + <variable-class>java.lang.String</variable-class> + </variable> + + <attribute> + <name>path</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + </tag> + + + <tag> + + <name>bind</name> + <tag-class>org.springframework.web.servlet.tags.BindTag</tag-class> + <body-content>JSP</body-content> + + <description> + Provides BindStatus object for the given bind path. + The HTML escaping flag participates in a page-wide or application-wide setting + (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml). + </description> + + <variable> + <name-given>status</name-given> + <variable-class>org.springframework.web.servlet.support.BindStatus</variable-class> + </variable> + + <attribute> + <name>path</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>ignoreNestedPath</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>htmlEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + </tag> + + + <tag> + + <name>transform</name> + <tag-class>org.springframework.web.servlet.tags.TransformTag</tag-class> + <body-content>JSP</body-content> + + <description> + Provides transformation of variables to Strings, using an appropriate + custom PropertyEditor from BindTag (can only be used inside BindTag). + The HTML escaping flag participates in a page-wide or application-wide setting + (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml). + </description> + + <attribute> + <name>value</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>var</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>scope</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + <attribute> + <name>htmlEscape</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + + </tag> + +</taglib> diff --git a/java/management/core/lib/spring/spring.vm b/java/management/core/lib/spring/spring.vm new file mode 100644 index 0000000000..50e104328c --- /dev/null +++ b/java/management/core/lib/spring/spring.vm @@ -0,0 +1,294 @@ +#** + * spring.vm + * + * This file consists of a collection of Velocity macros aimed at easing + * some of the common requirements of web applications - in particular + * handling of forms. + * + * Spring's Velocity support will automatically make this file and therefore + * all macros within it available to any application using Spring's + * VelocityConfigurer. + * + * To take advantage of these macros, the "exposeSpringMacroHelpers" property + * of the VelocityView class needs to be set to "true". This will expose a + * RequestContext under the name "springMacroRequestContext", as needed by + * the macros in this library. + * + * @author Darren Davison + * @author Juergen Hoeller + * @since 1.1 + *# + +#** + * springMessage + * + * Macro to translate a message code into a message. + *# +#macro( springMessage $code )$springMacroRequestContext.getMessage($code)#end + +#** + * springMessageText + * + * Macro to translate a message code into a message, + * using the given default text if no message found. + *# +#macro( springMessageText $code $text )$springMacroRequestContext.getMessage($code, $text)#end + +#** + * springUrl + * + * Takes a relative URL and makes it absolute from the server root by + * adding the context root for the web application. + *# +#macro( springUrl $relativeUrl )$springMacroRequestContext.getContextPath()${relativeUrl}#end + +#** + * springBind + * + * Exposes a BindStatus object for the given bind path, which can be + * a bean (e.g. "person") to get global errors, or a bean property + * (e.g. "person.name") to get field errors. Can be called multiple times + * within a form to bind to multiple command objects and/or field names. + * + * This macro will participate in the default HTML escape setting for the given + * RequestContext. This can be customized by calling "setDefaultHtmlEscape" + * on the "springMacroRequestContext" context variable, or via the + * "defaultHtmlEscape" context-param in web.xml (same as for the JSP bind tag). + * Also regards a "springHtmlEscape" variable in the template context. + * + * Producing no output, the following context variable will be available + * each time this macro is referenced: + * + * $status : a BindStatus instance holding the command object name, + * expression, value, and error codes and messages for the path supplied + * + * @param $path : the path (string value) of the value required to bind to. + * Spring defaults to a command name of "command" but this can be overridden + * by user config. + *# +#macro( springBind $path ) + #if("$!springHtmlEscape" != "") + #set( $status = $springMacroRequestContext.getBindStatus($path, $springHtmlEscape) ) + #else + #set( $status = $springMacroRequestContext.getBindStatus($path) ) + #end +#end + +#** + * springBindEscaped + * + * Similar to springBind, but takes an explicit HTML escape flag rather + * than relying on the default HTML escape setting. + *# +#macro( springBindEscaped $path $htmlEscape ) + #set( $status = $springMacroRequestContext.getBindStatus($path, $htmlEscape) ) +#end + +#** + * springFormInput + * + * Display a form input field of type 'text' and bind it to an attribute + * of a command or bean. + * + * @param path the name of the field to bind to + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size + * + *# +#macro( springFormInput $path $attributes ) + #springBind($path) + <input type="text" name="${status.expression}" value="$!status.value" ${attributes}#springCloseTag() +#end + +#** + * springFormPasswordInput + * + * Display a form input field of type 'password' and bind it to an attribute + * of a command or bean. No value will ever be specified for this field regardless + * of whether one exists or not. For hopefully obvious reasons! + * + * @param path the name of the field to bind to + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size + * + *# +#macro( springFormPasswordInput $path $attributes ) + #springBind($path) + <input type="password" name="${status.expression}" value="" ${attributes}#springCloseTag() +#end + +#** + * springFormHiddenInput + * + * Generate a form input field of type 'hidden' and bind it to an attribute + * of a command or bean. + * + * @param path the name of the field to bind to + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size + * + *# +#macro( springFormHiddenInput $path $attributes ) + #springBind($path) + <input type="hidden" name="${status.expression}" value="$!status.value" ${attributes}#springCloseTag() +#end + +#** + * formTextArea + * + * display a text area and bind it to an attribute + * of a command or bean + * + * @param path the name of the field to bind to + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size + * + *# +#macro( springFormTextarea $path $attributes ) + #springBind($path) + <textarea name="${status.expression}" ${attributes}>$!status.value</textarea> +#end + +#** + * springFormSingleSelect + * + * Show a selectbox (dropdown) input element allowing a single value to be chosen + * from a list of options. + * + * The null check for $status.value leverages Velocity's 'quiet' notation rather + * than the more common #if($status.value) since this method evaluates to the + * boolean 'false' if the content of $status.value is the String "false" - not + * what we want. + * + * @param path the name of the field to bind to + * @param options a map (value=label) of all the available options + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size +*# +#macro( springFormSingleSelect $path $options $attributes ) + #springBind($path) + <select name="${status.expression}" ${attributes}> + #foreach($option in $options.keySet()) + <option value="${option}" + #if("$!status.value" == "$option") + selected="selected" + #end> + ${options.get($option)}</option> + #end + </select> +#end + +#** + * springFormMultiSelect + * + * Show a listbox of options allowing the user to make 0 or more choices from + * the list of options. + * + * @param path the name of the field to bind to + * @param options a map (value=label) of all the available options + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size +*# +#macro( springFormMultiSelect $path $options $attributes ) + #springBind($path) + <select multiple="multiple" name="${status.expression}" ${attributes}> + #foreach($option in $options.keySet()) + <option value="${option}" + #foreach($item in $status.value) + #if($item == $option) + selected="selected" + #end + #end + >${options.get($option)}</option> + #end + </select> +#end + +#** + * springFormRadioButtons + * + * Show radio buttons. + * + * @param path the name of the field to bind to + * @param options a map (value=label) of all the available options + * @param separator the html tag or other character list that should be used to + * separate each option. Typically ' ' or '<br>' + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size +*# +#macro( springFormRadioButtons $path $options $separator $attributes ) + #springBind($path) + #foreach($option in $options.keySet()) + <input type="radio" name="${status.expression}" value="${option}" + #if("$!status.value" == "$option") + checked="checked" + #end + ${attributes} + #springCloseTag() + ${options.get($option)} ${separator} + #end +#end + +#** + * springFormCheckboxes + * + * Show checkboxes. + * + * @param path the name of the field to bind to + * @param options a map (value=label) of all the available options + * @param separator the html tag or other character list that should be used to + * separate each option. Typically ' ' or '<br>' + * @param attributes any additional attributes for the element (such as class + * or CSS styles or size +*# +#macro( springFormCheckboxes $path $options $separator $attributes ) + #springBind($path) + #foreach($option in $options.keySet()) + <input type="checkbox" name="${status.expression}" value="${option}" + #foreach($item in $status.value) + #if($item == $option) + checked="checked" + #end + #end + ${attributes} #springCloseTag() + ${options.get($option)} ${separator} + #end +#end + +#** + * springShowErrors + * + * Show validation errors for the currently bound field, with + * optional style attributes. + * + * @param separator the html tag or other character list that should be used to + * separate each option. Typically '<br>'. + * @param classOrStyle either the name of a CSS class element (which is defined in + * the template or an external CSS file) or an inline style. If the value passed in here + * contains a colon (:) then a 'style=' attribute will be used, else a 'class=' attribute + * will be used. +*# +#macro( springShowErrors $separator $classOrStyle ) + #foreach($error in $status.errorMessages) + #if($classOrStyle == "") + <b>${error}</b> + #else + #if($classOrStyle.indexOf(":") == -1) + #set($attr="class") + #else + #set($attr="style") + #end + <span ${attr}="${classOrStyle}">${error}</span> + #end + ${separator} + #end +#end + +#** + * springCloseTag + * + * Simple macro to close an HTML tag that has no body with '>' or '/>', + * depending on the value of a 'springXhtmlCompliant' variable in the + * template context. + *# +#macro( springCloseTag )#if($springXhtmlCompliant)/>#else>#end #end diff --git a/java/management/core/lib/xmlbeans/jsr173_api.jar b/java/management/core/lib/xmlbeans/jsr173_api.jar Binary files differnew file mode 100644 index 0000000000..d6fdfad49b --- /dev/null +++ b/java/management/core/lib/xmlbeans/jsr173_api.jar diff --git a/java/management/core/lib/xmlbeans/resolver.jar b/java/management/core/lib/xmlbeans/resolver.jar Binary files differnew file mode 100644 index 0000000000..073d789675 --- /dev/null +++ b/java/management/core/lib/xmlbeans/resolver.jar diff --git a/java/management/core/lib/xmlbeans/saxon8.jar b/java/management/core/lib/xmlbeans/saxon8.jar Binary files differnew file mode 100644 index 0000000000..f3a2484882 --- /dev/null +++ b/java/management/core/lib/xmlbeans/saxon8.jar diff --git a/java/management/core/lib/xmlbeans/xbean.jar b/java/management/core/lib/xmlbeans/xbean.jar Binary files differnew file mode 100644 index 0000000000..08c72cd5b7 --- /dev/null +++ b/java/management/core/lib/xmlbeans/xbean.jar diff --git a/java/management/core/lib/xmlbeans/xbean_xpath.jar b/java/management/core/lib/xmlbeans/xbean_xpath.jar Binary files differnew file mode 100644 index 0000000000..c3366ebc8b --- /dev/null +++ b/java/management/core/lib/xmlbeans/xbean_xpath.jar diff --git a/java/management/core/lib/xmlbeans/xmlpublic.jar b/java/management/core/lib/xmlbeans/xmlpublic.jar Binary files differnew file mode 100644 index 0000000000..8c79b44c47 --- /dev/null +++ b/java/management/core/lib/xmlbeans/xmlpublic.jar diff --git a/java/management/core/src/log4j.properties b/java/management/core/src/log4j.properties new file mode 100644 index 0000000000..367153b2d9 --- /dev/null +++ b/java/management/core/src/log4j.properties @@ -0,0 +1,6 @@ +log4j.rootCategory=${amqj.logging.level}, console + +log4j.appender.console=org.apache.log4j.ConsoleAppender +log4j.appender.console.Threshold=DEBUG +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern=%t %d %p [%c{4}] %m%n diff --git a/java/management/core/src/org/apache/qpid/management/ManagementConnection.java b/java/management/core/src/org/apache/qpid/management/ManagementConnection.java new file mode 100644 index 0000000000..1dbfe6826c --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/ManagementConnection.java @@ -0,0 +1,120 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management; + +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.management.messaging.ManagementDestination; +import org.apache.qpid.jms.Session; +import org.apache.qpid.jms.MessageProducer; +import org.apache.qpid.client.AMQConnection; +import org.apache.qpid.client.AMQQueue; +import org.apache.log4j.Logger; + +import javax.jms.*; + +public class ManagementConnection +{ + private static final Logger _log = Logger.getLogger(ManagementConnection.class); + + private String _brokerHost; + + private int _brokerPort; + + private String _username; + + private String _password; + + private String _virtualPath; + + private AMQConnection _connection; + + private Session _session; + + private MessageConsumer _consumer; + + private MessageProducer _producer; + + private AMQQueue _replyQueue; + + public ManagementConnection(String brokerHost, int brokerPort, String username, + String password, String virtualPath) + { + _brokerHost = brokerHost; + _brokerPort = brokerPort; + _username = username; + _password = password; + _virtualPath = virtualPath; + } + + public void connect() throws AMQException, JMSException, URLSyntaxException + { + _connection = new AMQConnection(_brokerHost, _brokerPort, _username, _password, + "clientName" + System.currentTimeMillis(), _virtualPath); + _connection.setExceptionListener(new ExceptionListener() + { + public void onException(JMSException jmsException) + { + _log.error("Error occurred: " + jmsException, jmsException); + try + { + _connection.close(); + } + catch (JMSException e) + { + _log.error("Error closing connection: " + e, e); + } + } + }); + _session = (Session)_connection.createSession(false, Session.CLIENT_ACKNOWLEDGE); + _replyQueue = new AMQQueue("response", true) + { + public String getEncodedName() + { + return getQueueName(); + } + }; + _consumer = _session.createConsumer(_replyQueue, 100, true, true, null); + + _producer = (MessageProducer) _session.createProducer(new ManagementDestination()); + _connection.start(); + } + + /** + * Send a request and wait for a response. + * @param xmlRequest the request to send + * @return the response received from the broker + * @throws AMQException when an AMQ error occurs + * @throws JMSException when a JMS error occurs + */ + public TextMessage sendRequest(String xmlRequest) throws AMQException, JMSException + { + TextMessage requestMsg = _session.createTextMessage(xmlRequest); + requestMsg.setJMSReplyTo(_replyQueue); + _producer.send(requestMsg); + return (TextMessage) _consumer.receive(); + } + + public void close() throws AMQException, JMSException + { + if (_connection != null) + { + _connection.close(); + } + } +} diff --git a/java/management/core/src/org/apache/qpid/management/jmx/AMQConsole.java b/java/management/core/src/org/apache/qpid/management/jmx/AMQConsole.java new file mode 100644 index 0000000000..c312ef63bf --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/jmx/AMQConsole.java @@ -0,0 +1,95 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.jmx; + +import org.apache.log4j.Logger; +import org.apache.xmlbeans.XmlException; +import org.apache.qpid.AMQException; +import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.management.ManagementConnection; +import org.apache.qpid.management.messaging.CMLMessageFactory; +import org.apache.qpid.schema.cml.CmlDocument; + +import javax.jms.JMSException; +import javax.jms.TextMessage; +import javax.management.MBeanServer; +import java.lang.management.ManagementFactory; + +/** + * Main entry point for AMQ console implementation. + * + */ +public class AMQConsole +{ + private static final Logger _log = Logger.getLogger(AMQConsole.class); + + private ManagementConnection _connection; + + private MBeanInfoRegistry _mbeanInfoRegistry; + + private MBeanRegistrar _mbeanRegistrar; + + private MBeanServer _mbeanServer; + + public AMQConsole(String host, int port, String username, String password, + String context) + { + _connection = new ManagementConnection(host, port, username, password, context); + } + + public void initialise() throws AMQException, JMSException, XmlException, URLSyntaxException + { + _connection.connect(); + createMBeanInfo(); + _mbeanServer = ManagementFactory.getPlatformMBeanServer(); + _mbeanRegistrar = new MBeanRegistrar(_mbeanServer, _connection, _mbeanInfoRegistry); + } + + public void registerAllMBeans() throws JMSException, AMQException + { + _mbeanRegistrar.registerAllMBeans(); + } + + private void createMBeanInfo() throws JMSException, AMQException, XmlException + { + TextMessage tm = _connection.sendRequest(CMLMessageFactory.createSchemaRequest()); + if (_log.isDebugEnabled()) + { + _log.debug("Response document: \n" + tm.getText()); + } + CmlDocument cmlDoc = CmlDocument.Factory.parse(tm.getText()); + _mbeanInfoRegistry = new MBeanInfoRegistry(cmlDoc); + } + + public static void main(String[] args) + { + AMQConsole console = new AMQConsole(args[0], Integer.parseInt(args[1]), args[2], args[3], + args[4]); + try + { + console.initialise(); + _log.info("Registering all MBeans..."); + console.registerAllMBeans(); + _log.info("MBean registration completed successfully"); + } + catch (Exception e) + { + _log.error("Console initialisation error: " + e, e); + } + } +} diff --git a/java/management/core/src/org/apache/qpid/management/jmx/AMQMBeanInfo.java b/java/management/core/src/org/apache/qpid/management/jmx/AMQMBeanInfo.java new file mode 100644 index 0000000000..9663a7f783 --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/jmx/AMQMBeanInfo.java @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.jmx; + +import javax.management.openmbean.OpenMBeanAttributeInfo; +import java.util.Map; +import java.util.HashMap; + +public class AMQMBeanInfo +{ + private Map<String, OpenMBeanAttributeInfo> _name2AttributeInfoMap = new HashMap<String, OpenMBeanAttributeInfo>(); + + public AMQMBeanInfo(OpenMBeanAttributeInfo[] attributeInfos) + { + for (OpenMBeanAttributeInfo attributeInfo: attributeInfos) + { + _name2AttributeInfoMap.put(attributeInfo.getName(), attributeInfo); + } + } + + public OpenMBeanAttributeInfo getAttributeInfo(String name) + { + return _name2AttributeInfoMap.get(name); + } +} diff --git a/java/management/core/src/org/apache/qpid/management/jmx/CMLMBean.java b/java/management/core/src/org/apache/qpid/management/jmx/CMLMBean.java new file mode 100644 index 0000000000..2d1dafb9f0 --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/jmx/CMLMBean.java @@ -0,0 +1,298 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.jmx; + +import org.apache.log4j.Logger; +import org.apache.qpid.AMQException; +import org.apache.qpid.management.ManagementConnection; +import org.apache.qpid.management.messaging.CMLMessageFactory; +import org.apache.qpid.schema.cml.CmlDocument; +import org.apache.qpid.schema.cml.FieldType; +import org.apache.qpid.schema.cml.InspectReplyType; +import org.apache.qpid.schema.cml.MethodReplyType; + +import javax.jms.JMSException; +import javax.jms.TextMessage; +import javax.management.*; +import javax.management.openmbean.OpenMBeanAttributeInfo; +import javax.management.openmbean.OpenMBeanInfoSupport; +import javax.management.openmbean.OpenType; +import javax.management.openmbean.SimpleType; +import java.util.Hashtable; + +public class CMLMBean implements DynamicMBean +{ + private static final Logger _log = Logger.getLogger(CMLMBean.class); + + /** + * The number of milliseconds after which data values are considered "stale" and will be + * refreshed by querying the broker. This is a way of ensure that reading attributes + * repeatedly does not hit the broker heavily. + */ + private static final long REFRESH_IN_MILLIS = 2000; + + /** + * Name of the attribute for the parent MBean + */ + public static final String PARENT_ATTRIBUTE = "__parent"; + + private OpenMBeanInfoSupport _mbeanInfo; + + private AMQMBeanInfo _extraMbeanInfo; + + /** + * The cached inspect reply. This is used to read attribute values and is refreshed automatically + * if a request for an attribute is made after the time interval specified in REFRESH_IN_MILLIS + */ + private InspectReplyType _inspectReply; + + private CMLMBean _parent; + + private ObjectName _objectName; + + private ManagementConnection _connection; + + private int _objectId; + + private long _lastRefreshTime = System.currentTimeMillis(); + + public CMLMBean(CMLMBean parent, OpenMBeanInfoSupport mbeanInfo, AMQMBeanInfo extraMbeanInfo, + InspectReplyType inspectReply, ManagementConnection connection, int objectId) + { + _mbeanInfo = mbeanInfo; + _extraMbeanInfo = extraMbeanInfo; + _inspectReply = inspectReply; + _parent = parent; + _connection = connection; + _objectId = objectId; + } + + /** + * Utility method that populates all the type infos up to the root. Used when + * constructing the ObjectName. + * We end up with properties of the form "className", "objectId" in the map. + * @param leaf the child node. Must not be null. Note that the child types are not populated since the + * convention is different for the child where instead of "className" the word "type" is + * used. See the JMX Best Practices document on the Sun JMX website for details. + * @param properties + */ + public static void populateAllTypeInfo(Hashtable<String, String> properties, CMLMBean leaf) + { + CMLMBean current = leaf.getParent(); + while (current != null) + { + properties.put(current.getType(), Integer.toString(current.getObjectId())); + current = current.getParent(); + } + } + + public String getType() + { + return _inspectReply.getClass1(); + } + + public int getObjectId() + { + return _inspectReply.getObject2(); + } + + public InspectReplyType getInspectReply() + { + return _inspectReply; + } + + public CMLMBean getParent() + { + return _parent; + } + + public ObjectName getObjectName() + { + return _objectName; + } + + public void setObjectName(ObjectName objectName) + { + _objectName = objectName; + } + + public Object getAttribute(String attribute) + throws AttributeNotFoundException, MBeanException, ReflectionException + { + if (PARENT_ATTRIBUTE.equals(attribute)) + { + if (_parent == null) + { + return null; + } + else + { + return _parent.getObjectName(); + } + } + if (needRefresh()) + { + refreshValues(); + } + String nsDecl = "declare namespace cml='http://www.amqp.org/schema/cml';"; + FieldType[] fields = (FieldType[]) _inspectReply.selectPath(nsDecl + "$this/cml:field[@name='" + + attribute + "']"); + if (fields == null || fields.length == 0) + { + throw new AttributeNotFoundException("Attribute " + attribute + " not found"); + } + else + { + OpenMBeanAttributeInfo attrInfo = _extraMbeanInfo.getAttributeInfo(attribute); + OpenType openType = attrInfo.getOpenType(); + String value = fields[0].getStringValue(); + try + { + return createAttributeValue(openType, value, attrInfo.getName()); + } + catch (MalformedObjectNameException e) + { + throw new MBeanException(e); + } + } + } + + private boolean needRefresh() + { + return ((System.currentTimeMillis() - _lastRefreshTime) > REFRESH_IN_MILLIS); + } + + private void refreshValues() throws MBeanException + { + _log.debug("Refreshing values..."); + try + { + TextMessage response = _connection.sendRequest(CMLMessageFactory.createInspectRequest(_objectId)); + + CmlDocument cmlDoc = CmlDocument.Factory.parse(response.getText()); + _inspectReply = cmlDoc.getCml().getInspectReply(); + _lastRefreshTime = System.currentTimeMillis(); + } + catch (Exception e) + { + throw new MBeanException(e); + } + } + + private Object createAttributeValue(OpenType openType, String value, String mbeanType) + throws MalformedObjectNameException + { + if (openType.equals(SimpleType.STRING)) + { + return value; + } + else if (openType.equals(SimpleType.BOOLEAN)) + { + return Boolean.valueOf(value); + } + else if (openType.equals(SimpleType.INTEGER)) + { + return Integer.valueOf(value); + } + else if (openType.equals(SimpleType.DOUBLE)) + { + return Double.valueOf(value); + } + else if (openType.equals(SimpleType.OBJECTNAME)) + { + Hashtable<String, String> props = new Hashtable<String, String>(); + props.put("objectid", value); + props.put("type", mbeanType); + // this populates all type info for parents + populateAllTypeInfo(props, this); + // add in type info for this level. This information is available from the inspect reply xml fragment + props.put(_inspectReply.getClass1(), Integer.toString(_inspectReply.getObject2())); + return new ObjectName(JmxConstants.JMX_DOMAIN, props); + } + else + { + _log.warn("Unsupported open type: " + openType + " - returning string value"); + return value; + } + } + + public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, + MBeanException, ReflectionException + { + + } + + public AttributeList getAttributes(String[] attributes) + { + AttributeList al = new AttributeList(attributes.length); + for (String name : attributes) + { + try + { + Object value = getAttribute(name); + final Attribute attr = new Attribute(name, value); + al.add(attr); + } + catch (Exception e) + { + _log.error("Unable to get value for attribute: " + name, e); + } + } + return al; + } + + public AttributeList setAttributes(AttributeList attributes) + { + return null; + } + + public Object invoke(String actionName, Object params[], String signature[]) throws MBeanException, + ReflectionException + { + _log.debug("Invoke called on action " + actionName); + try + { + TextMessage response = _connection.sendRequest(CMLMessageFactory.createMethodRequest(_objectId, actionName)); + CmlDocument cmlDoc = CmlDocument.Factory.parse(response.getText()); + CmlDocument.Cml cml = cmlDoc.getCml(); + MethodReplyType methodReply = cml.getMethodReply(); + if (methodReply.getStatus() != MethodReplyType.Status.OK) + { + throw new MBeanException(new Exception("Response code from method: " + methodReply.getStatus())); + } + return null; + } + catch (AMQException e) + { + throw new MBeanException(e); + } + catch (JMSException e) + { + throw new MBeanException(e); + } + catch (org.apache.xmlbeans.XmlException e) + { + throw new MBeanException(e); + } + } + + public MBeanInfo getMBeanInfo() + { + return _mbeanInfo; + } +} diff --git a/java/management/core/src/org/apache/qpid/management/jmx/JmxConstants.java b/java/management/core/src/org/apache/qpid/management/jmx/JmxConstants.java new file mode 100644 index 0000000000..a1944bfeb1 --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/jmx/JmxConstants.java @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.jmx; + +public interface JmxConstants +{ + String JMX_DOMAIN = "org.apache.qpid"; +} diff --git a/java/management/core/src/org/apache/qpid/management/jmx/MBeanInfoRegistry.java b/java/management/core/src/org/apache/qpid/management/jmx/MBeanInfoRegistry.java new file mode 100644 index 0000000000..f6abb5028b --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/jmx/MBeanInfoRegistry.java @@ -0,0 +1,201 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.jmx; + +import org.apache.qpid.AMQException; +import org.apache.qpid.schema.cml.CmlDocument; +import org.apache.qpid.schema.cml.FieldType; +import org.apache.qpid.schema.cml.MethodType; +import org.apache.qpid.schema.cml.SchemaReplyType; + +import javax.management.modelmbean.DescriptorSupport; +import javax.management.openmbean.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Stores all OpenMBeanInfo instances. + * <p/> + * Builds MBeanInfo instances from the CML schema (which is parsed by XMLBeans) and + * stores these indexed by CML class name. + * <p/> + * When constructing a DynamicMBean this registry is consulted for the MBeanInfo. + * + */ +public class MBeanInfoRegistry +{ + private Map<String, OpenMBeanInfoSupport> _cmlClass2OpenMBeanInfoMap = new HashMap<String, OpenMBeanInfoSupport>(); + + private Map<String, AMQMBeanInfo> _cmlClass2AMQMBeanInfoMap = new HashMap<String, AMQMBeanInfo>(); + + public MBeanInfoRegistry(CmlDocument cmlDocument) throws AMQException + { + initialise(cmlDocument); + } + + private void initialise(CmlDocument cmlDocument) throws AMQException + { + CmlDocument.Cml cml = cmlDocument.getCml(); + SchemaReplyType schema = cml.getSchemaReply(); + for (org.apache.qpid.schema.cml.ClassType c : schema.getClass1List()) + { + OpenMBeanAttributeInfo[] attributes = createAttributeInfos(c.getFieldList()); + OpenMBeanOperationInfo[] operations = createOperationInfos(c.getMethodList()); + String className = c.getName(); + OpenMBeanInfoSupport support = new OpenMBeanInfoSupport(className, null, attributes, + null, operations, null); + // we need to store the extra information separately since we cannot subclass + // OpenMBeanInfoSupport. Doing so means we need to have an AMQMBeanInfo class on each client + // which defeats the point of OpenMBeans. The extra info is only used by the CMLBean implementation + // to assist with runtime value lookups. + AMQMBeanInfo extra = new AMQMBeanInfo(attributes); + _cmlClass2OpenMBeanInfoMap.put(className, support); + _cmlClass2AMQMBeanInfoMap.put(className, extra); + } + } + + public OpenMBeanInfoSupport getOpenMBeanInfo(String cmlType) + { + return _cmlClass2OpenMBeanInfoMap.get(cmlType); + } + + public AMQMBeanInfo getAMQMBeanInfo(String cmlType) + { + return _cmlClass2AMQMBeanInfoMap.get(cmlType); + } + + private OpenMBeanAttributeInfo[] createAttributeInfos(List<FieldType> fields) + throws AMQException + { + OpenMBeanAttributeInfo[] attributes = new OpenMBeanAttributeInfo[fields.size() + 1]; + + // we up the parent attribute which is always present + try + { + DescriptorSupport descriptor = new DescriptorSupport(new String[]{"hidden=true"}); + attributes[attributes.length - 1] = new OpenMBeanAttributeInfoSupport(CMLMBean.PARENT_ATTRIBUTE, + "Parent", SimpleType.OBJECTNAME, + true, false, false); + //descriptor); JDK 1.6 only + } + catch (Exception e) + { + // should never happen + throw new AMQException("Unable to create Parent attribute", e); + } + // add all the type-specific attributes + for (int i = 0; i < attributes.length - 1; i++) + { + FieldType field = fields.get(i); + OpenType openType = getOpenType(field.getType(), field.getModify()); + String description = field.getLabel(); + attributes[i] = new OpenMBeanAttributeInfoSupport(field.getName(), + description != null ? description:"No description", + openType, + true, + field.getModify(), + openType == SimpleType.BOOLEAN); + } + + return attributes; + } + + private static OpenType getOpenType(FieldType.Type.Enum type, boolean isArray) + throws UnsupportedCMLTypeException, AMQException + { + SimpleType simpleType; + boolean primitive; + switch (type.intValue()) + { + // the constants are not public (bug in xmlbeans) so we cannot use + // the constants that are defined + // TODO: raise defect with xmlbeans projects + case 1: + simpleType = SimpleType.BOOLEAN; + primitive = true; + break; + case 2: + simpleType = SimpleType.STRING; + primitive = false; + break; + case 3: + simpleType = SimpleType.INTEGER; + primitive = true; + break; + case 4: + simpleType = SimpleType.OBJECTNAME; + primitive = false; + break; + case 5: + simpleType = SimpleType.DATE; + primitive = false; + break; + default: + throw new UnsupportedCMLTypeException(type.toString()); + } + if (isArray) + { + try + { + //return new ArrayType(simpleType, primitive); + return new ArrayType(1, simpleType); + } + catch (OpenDataException e) + { + throw new AMQException("Error constructing array type: " + e, e); + } + } + else + { + return simpleType; + } + } + + private OpenMBeanOperationInfo[] createOperationInfos(List<MethodType> methods) + throws AMQException + { + OpenMBeanOperationInfo[] methodInfos = new OpenMBeanOperationInfo[methods.size()]; + for (int i = 0; i < methodInfos.length; i++) + { + MethodType methodType = methods.get(i); + OpenMBeanParameterInfo[] parameters = createParameterInfos(methodType.getFieldList()); + methodInfos[i] = new OpenMBeanOperationInfoSupport(methodType.getName(), "No description", + parameters, SimpleType.VOID, + OpenMBeanOperationInfoSupport.ACTION); + } + return methodInfos; + } + + private OpenMBeanParameterInfo[] createParameterInfos(List<FieldType> parameters) + throws AMQException + { + OpenMBeanParameterInfo[] paramInfos = new OpenMBeanParameterInfo[parameters.size()]; + for (int i = 0; i < paramInfos.length; i++) + { + FieldType field = parameters.get(i); + String description = field.getLabel(); + OpenType openType = getOpenType(field.getType(), field.getModify()); + paramInfos[i] = new OpenMBeanParameterInfoSupport(field.getName(), + description==null?"No description":description, + openType); + } + return paramInfos; + } +} + diff --git a/java/management/core/src/org/apache/qpid/management/jmx/MBeanRegistrar.java b/java/management/core/src/org/apache/qpid/management/jmx/MBeanRegistrar.java new file mode 100644 index 0000000000..bdc3772553 --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/jmx/MBeanRegistrar.java @@ -0,0 +1,141 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.jmx; + +import org.apache.log4j.Logger; +import org.apache.xmlbeans.XmlException; +import org.apache.qpid.AMQException; +import org.apache.qpid.management.ManagementConnection; +import org.apache.qpid.management.messaging.CMLMessageFactory; +import org.apache.qpid.schema.cml.CmlDocument; +import org.apache.qpid.schema.cml.FieldType; +import org.apache.qpid.schema.cml.InspectReplyType; + +import javax.jms.JMSException; +import javax.jms.TextMessage; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanServer; +import javax.management.ObjectName; +import javax.management.openmbean.OpenMBeanAttributeInfo; +import javax.management.openmbean.SimpleType; +import javax.management.openmbean.OpenMBeanInfoSupport; +import java.util.Hashtable; + +/** + * Responsible for registering MBeans. This class will navigate through + * our hierarchy of MBeans, registering them with the appropriate ObjectNames. + * + */ +public class MBeanRegistrar +{ + private static final Logger _log = Logger.getLogger(MBeanRegistrar.class); + + /** The MBean server with which all MBeans will be registered. */ + private MBeanServer _targetMBeanServer; + + /** The connection used to communicate with the broker */ + private ManagementConnection _connection; + + private MBeanInfoRegistry _mbeanInfoRegistry; + + /** + * Create a registrar for the specified MBean server + * @param targetMBeanServer the MBean server with which all MBeans will be registered + */ + public MBeanRegistrar(MBeanServer targetMBeanServer, ManagementConnection connection, + MBeanInfoRegistry mbeanInfoRegistry) + { + _targetMBeanServer = targetMBeanServer; + _connection = connection; + _mbeanInfoRegistry = mbeanInfoRegistry; + } + + public void registerAllMBeans() throws AMQException, JMSException + { + registerMBean(null, 0); + } + + /** + * Asks the broker for details of a particular object id then creates and registers an + * MBean with the MBeanServer. + * @param objectId id of the object we want to inspect + * @return the registered bean, from which the underlying inspect response can be retrieved if required + * @throws AMQException + * @throws JMSException + */ + private CMLMBean registerMBean(CMLMBean parent, int objectId) throws AMQException, JMSException + { + TextMessage response = _connection.sendRequest(CMLMessageFactory.createInspectRequest(objectId)); + try + { + CmlDocument cmlDoc = CmlDocument.Factory.parse(response.getText()); + CmlDocument.Cml cml = cmlDoc.getCml(); + InspectReplyType inspect = cml.getInspectReply(); + if (_log.isDebugEnabled()) + { + _log.debug("Inspect reply: " + inspect); + } + OpenMBeanInfoSupport mbeanInfo = _mbeanInfoRegistry.getOpenMBeanInfo(inspect.getClass1()); + AMQMBeanInfo extraMbeanInfo = _mbeanInfoRegistry.getAMQMBeanInfo(inspect.getClass1()); + CMLMBean mbean = new CMLMBean(parent, mbeanInfo, extraMbeanInfo, inspect, _connection, objectId); + Hashtable<String, String> props = new Hashtable<String, String>(); + props.put("objectid", Integer.toString(objectId)); + props.put("type", mbean.getType()); + CMLMBean.populateAllTypeInfo(props, mbean); + ObjectName mbeanObjectName = new ObjectName("org.apache.qpid", props); + mbean.setObjectName(mbeanObjectName); + _targetMBeanServer.registerMBean(mbean, mbeanObjectName); + + // recursively register all beans + String nsDecl = "declare namespace cml='http://www.amqp.org/schema/cml';"; + for (MBeanAttributeInfo attributeInfo: mbeanInfo.getAttributes()) + { + OpenMBeanAttributeInfo openAttributeInfo = (OpenMBeanAttributeInfo) attributeInfo; + if (openAttributeInfo.getOpenType().equals(SimpleType.OBJECTNAME) && + !"__parent".equals(openAttributeInfo.getName())) + { + if (_log.isDebugEnabled()) + { + _log.debug("Searching for fields with name: " + openAttributeInfo.getName()); + } + FieldType[] fields = (FieldType[]) inspect.selectPath(nsDecl + "$this/cml:field[@name='" + + openAttributeInfo.getName() + "']"); + if (fields == null || fields.length == 0) + { + throw new AMQException("inspect xml did not contain field value for field " + + attributeInfo.getName()); + } + for (FieldType field : fields) + { + registerMBean(mbean, Integer.parseInt(field.getStringValue())); + } + } + } + return mbean; + } + catch (XmlException e) + { + throw new AMQException(_log, "Error parsing broker response: " + e, e); + } + catch (Exception e) + { + e.printStackTrace(); + throw new AMQException(_log, "Error registering MBean: " + e, e); + } + } +} diff --git a/java/management/core/src/org/apache/qpid/management/jmx/UnsupportedCMLTypeException.java b/java/management/core/src/org/apache/qpid/management/jmx/UnsupportedCMLTypeException.java new file mode 100644 index 0000000000..bb866f8d17 --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/jmx/UnsupportedCMLTypeException.java @@ -0,0 +1,36 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.jmx; + +import org.apache.qpid.AMQException; + +public class UnsupportedCMLTypeException extends AMQException +{ + private String _type; + + public UnsupportedCMLTypeException(String type) + { + super("CML type " + type + " is unsupported by the JMX layer"); + _type = type; + } + + public String getType() + { + return _type; + } +} diff --git a/java/management/core/src/org/apache/qpid/management/messaging/CMLMessageFactory.java b/java/management/core/src/org/apache/qpid/management/messaging/CMLMessageFactory.java new file mode 100644 index 0000000000..e47eb66c65 --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/messaging/CMLMessageFactory.java @@ -0,0 +1,59 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.messaging; + +import org.apache.qpid.schema.cml.CmlDocument; +import org.apache.qpid.schema.cml.InspectRequestType; +import org.apache.qpid.schema.cml.MethodRequestType; + +public class CMLMessageFactory +{ + public static String createSchemaRequest() + { + CmlDocument cmlDoc = CmlDocument.Factory.newInstance(); + CmlDocument.Cml cml = createStandardCml(cmlDoc); + cml.addNewSchemaRequest(); + return cmlDoc.toString(); + } + + public static String createInspectRequest(int objectId) + { + CmlDocument cmlDoc = CmlDocument.Factory.newInstance(); + CmlDocument.Cml cml = createStandardCml(cmlDoc); + InspectRequestType inspect = cml.addNewInspectRequest(); + inspect.setObject(objectId); + return cmlDoc.toString(); + } + + public static String createMethodRequest(int objectId, String methodName) + { + CmlDocument cmlDoc = CmlDocument.Factory.newInstance(); + CmlDocument.Cml cml = createStandardCml(cmlDoc); + MethodRequestType methodReq = cml.addNewMethodRequest(); + methodReq.setObject(objectId); + methodReq.setName(methodName); + return cmlDoc.toString(); + } + + private static CmlDocument.Cml createStandardCml(CmlDocument cmlDoc) + { + CmlDocument.Cml cml = cmlDoc.addNewCml(); + cml.setVersion("1.0"); + return cml; + } +} diff --git a/java/management/core/src/org/apache/qpid/management/messaging/ManagementDestination.java b/java/management/core/src/org/apache/qpid/management/messaging/ManagementDestination.java new file mode 100644 index 0000000000..f6edb9394a --- /dev/null +++ b/java/management/core/src/org/apache/qpid/management/messaging/ManagementDestination.java @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.messaging; + +import org.apache.qpid.client.AMQDestination; + +public class ManagementDestination extends AMQDestination +{ + public ManagementDestination() + { + super("amq.system", "system", "amq.console"); + } + + public boolean isNameRequired() + { + return false; + } + + public String getEncodedName() + { + return null; + } + + public String getRoutingKey() + { + return getDestinationName(); + } +} diff --git a/java/management/core/test/org/apache/qpid/management/harness/SimpleJMXClient.java b/java/management/core/test/org/apache/qpid/management/harness/SimpleJMXClient.java new file mode 100644 index 0000000000..68e1325b1d --- /dev/null +++ b/java/management/core/test/org/apache/qpid/management/harness/SimpleJMXClient.java @@ -0,0 +1,25 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.harness; + +public class SimpleJMXClient +{ + + + +} diff --git a/java/management/core/test/org/apache/qpid/management/schema/TestParseSchema.java b/java/management/core/test/org/apache/qpid/management/schema/TestParseSchema.java new file mode 100644 index 0000000000..8672207e59 --- /dev/null +++ b/java/management/core/test/org/apache/qpid/management/schema/TestParseSchema.java @@ -0,0 +1,87 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.management.schema; + +import org.apache.log4j.Logger; +import org.apache.qpid.management.ManagementConnection; +import org.apache.qpid.management.messaging.CMLMessageFactory; +import org.apache.qpid.schema.cml.CmlDocument; + +import javax.jms.TextMessage; + +public class TestParseSchema +{ + private static final Logger _logger = Logger.getLogger(TestParseSchema.class); + + private static ManagementConnection _con; + + private static void parseCMLSchema(String xml) throws Exception + { + CmlDocument cmlDoc = CmlDocument.Factory.parse(xml); + CmlDocument.Cml cml = cmlDoc.getCml(); + /*SchemaReplyDocument.SchemaReply schema = cml.getSchemaReply(); + for (ClassDocument.Class classDefn: schema.getClass1List()) + { + System.out.println("Class: " + classDefn.getName()); + } */ + } + + public static void main(String[] args) + { + _logger.info("Starting..."); + + if (args.length != 5) + { + System.out.println("Usage: host port username password vhost"); + System.exit(1); + } + try + { + _con = new ManagementConnection(args[0], Integer.parseInt(args[1]), args[2], args[3], + args[4]); + + _con.connect(); + TextMessage tm = _con.sendRequest(CMLMessageFactory.createSchemaRequest()); + parseCMLSchema(tm.getText()); + _logger.info("Closing management connection"); + _con.close(); + + //_logger.info("Waiting..."); + } + catch (Throwable t) + { + _logger.error("Fatal error: " + t, t); + } + finally + { + if (_con != null) + { + _logger.info("Closing connection"); + try + { + _con.close(); + } + catch (Exception e) + { + _logger.error("Error closing connection: " + e); + } + } + } + + } +} diff --git a/java/management/mc4j/qpid/BlazeConnections.xml b/java/management/mc4j/qpid/BlazeConnections.xml new file mode 100644 index 0000000000..b75f49d95b --- /dev/null +++ b/java/management/mc4j/qpid/BlazeConnections.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<!DOCTYPE Dashboard PUBLIC "-//MC4J//DTD Dashboard 1.0//EN" "http://mc4j.sourceforge.net/Dashboard_1_0.dtd"> + +<Dashboard version="1.0" name="Qpid AMQ Connections Statistics"> + + <Description>This dashboard shows the statistics of all Qpid Client Connections.</Description> + + <DashboardMatch type="Global" location="/Qpid/Connections"> + <BeanMatch id="ConnectionBeanList" type="Multiple"> + <Condition type="BeanObjectNameCondition" filter="type=Connection"/> + </BeanMatch> + </DashboardMatch> + + <LayoutManager type="java.awt.BorderLayout"/> + <Content> + + <!-- *** The header section displays title and a refresh control *** --> + <Component type="javax.swing.JPanel"> + <Constraint type="BorderConstraints" direction="NORTH"/> + <LayoutManager type="java.awt.BorderLayout"/> + <Border type="javax.swing.border.EmptyBorder" top="(Literal)2" left="(Literal)5" bottom="(Literal)2" right="(Literal)5"/> + <Content> + <Component type="javax.swing.JPanel"> + <Constraint type="BorderConstraints" direction="CENTER"/> + <LayoutManager type="java.awt.BorderLayout"/> + <Content> + <Component type="javax.swing.JLabel" id="titleLable"> + <Constraint type="BorderConstraints" direction="CENTER"/> + <Attribute name="text" value="DashboardName"/> + <Attribute name="font" value="(Literal)SansSerif bold 20"/> + <Attribute name="foreground" value="(Literal)0x666666"/> + </Component> + <Component type="javax.swing.JTextArea"> + <Constraint type="BorderConstraints" direction="SOUTH"/> + <Attribute name="text" value="DashboardDescription"/> + <Attribute name="font" value="(Literal)DialogInput bold 14"/> + <Attribute name="opaque" value="(Literal)false"/> + <Attribute name="editable" value="(Literal)false"/> + </Component> + </Content> + </Component> + <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> + <Constraint type="BorderConstraints" direction="EAST"/> + <Attribute name="refreshDelay" value="(Literal)1000"/> + </Component> + </Content> + </Component> + + + <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> + <Attribute name="beanList" value="ConnectionBeanList"/> + <Constraint type="BorderConstraints" direction="CENTER"/> + + <Attribute name="background" value="(Literal)0xFFFFFF"/> + <Attribute name="preferredSize" value="100,100"/> + + + + <Attribute name="AttributeName" value="(Literal)RemoteAddress"/> + <Attribute name="AttributeName" value="(Literal)ReadBytes"/> + <Attribute name="AttributeName" value="(Literal)WrittenBytes"/> + <Attribute name="AttributeName" value="(Literal)LastIoTime"/> + </Component> + + + </Content> +</Dashboard> diff --git a/java/management/mc4j/qpid/BlazeExchanges.xml b/java/management/mc4j/qpid/BlazeExchanges.xml new file mode 100644 index 0000000000..6612c711c3 --- /dev/null +++ b/java/management/mc4j/qpid/BlazeExchanges.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<!DOCTYPE Dashboard PUBLIC "-//MC4J//DTD Dashboard 1.0//EN" "http://mc4j.sourceforge.net/Dashboard_1_0.dtd"> + +<Dashboard version="1.0" name="Qpid AMQ Exchanges"> + + <Description>This dashboard shows the statistics of all Qpid Exchanges.</Description> + + <DashboardMatch type="Global" location="/Qpid/Exchanges"> + <BeanMatch id="ConnectionBeanList" type="Multiple"> + <Condition type="BeanObjectNameCondition" filter="type=Exchange"/> + </BeanMatch> + </DashboardMatch> + + <LayoutManager type="java.awt.BorderLayout"/> + <Content> + + <!-- *** The header section displays title and a refresh control *** --> + <Component type="javax.swing.JPanel"> + <Constraint type="BorderConstraints" direction="NORTH"/> + <LayoutManager type="java.awt.BorderLayout"/> + <Border type="javax.swing.border.EmptyBorder" top="(Literal)2" left="(Literal)5" bottom="(Literal)2" right="(Literal)5"/> + <Content> + <Component type="javax.swing.JPanel"> + <Constraint type="BorderConstraints" direction="CENTER"/> + <LayoutManager type="java.awt.BorderLayout"/> + <Content> + <Component type="javax.swing.JLabel" id="titleLable"> + <Constraint type="BorderConstraints" direction="CENTER"/> + <Attribute name="text" value="DashboardName"/> + <Attribute name="font" value="(Literal)SansSerif bold 20"/> + <Attribute name="foreground" value="(Literal)0x666666"/> + </Component> + <Component type="javax.swing.JTextArea"> + <Constraint type="BorderConstraints" direction="SOUTH"/> + <Attribute name="text" value="DashboardDescription"/> + <Attribute name="font" value="(Literal)DialogInput bold 14"/> + <Attribute name="opaque" value="(Literal)false"/> + <Attribute name="editable" value="(Literal)false"/> + </Component> + </Content> + </Component> + <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> + <Constraint type="BorderConstraints" direction="EAST"/> + <Attribute name="refreshDelay" value="(Literal)1000"/> + </Component> + </Content> + </Component> + + + <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> + <Attribute name="beanList" value="ConnectionBeanList"/> + <Constraint type="BorderConstraints" direction="CENTER"/> + + <Attribute name="background" value="(Literal)0xFFFFFF"/> + <Attribute name="preferredSize" value="100,100"/> + + <Attribute name="AttributeName" value="(Literal)Name"/> + <Attribute name="AttributeName" value="(Literal)Durable"/> + <Attribute name="AttributeName" value="(Literal)Bindings"/> + </Component> + + + </Content> +</Dashboard> diff --git a/java/management/mc4j/qpid/BlazeQueues.xml b/java/management/mc4j/qpid/BlazeQueues.xml new file mode 100644 index 0000000000..4a6e55cdb7 --- /dev/null +++ b/java/management/mc4j/qpid/BlazeQueues.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<!DOCTYPE Dashboard PUBLIC "-//MC4J//DTD Dashboard 1.0//EN" "http://mc4j.sourceforge.net/Dashboard_1_0.dtd"> + +<Dashboard version="1.0" name="Qpid AMQ Queues"> + + <Description>This dashboard shows the statistics of all Qpid Queues.</Description> + + <DashboardMatch type="Global" location="/Qpid/Queues"> + <BeanMatch id="ConnectionBeanList" type="Multiple"> + <Condition type="BeanObjectNameCondition" filter="type=Queue"/> + </BeanMatch> + </DashboardMatch> + + <LayoutManager type="java.awt.BorderLayout"/> + <Content> + + <!-- *** The header section displays title and a refresh control *** --> + <Component type="javax.swing.JPanel"> + <Constraint type="BorderConstraints" direction="NORTH"/> + <LayoutManager type="java.awt.BorderLayout"/> + <Border type="javax.swing.border.EmptyBorder" top="(Literal)2" left="(Literal)5" bottom="(Literal)2" right="(Literal)5"/> + <Content> + <Component type="javax.swing.JPanel"> + <Constraint type="BorderConstraints" direction="CENTER"/> + <LayoutManager type="java.awt.BorderLayout"/> + <Content> + <Component type="javax.swing.JLabel" id="titleLable"> + <Constraint type="BorderConstraints" direction="CENTER"/> + <Attribute name="text" value="DashboardName"/> + <Attribute name="font" value="(Literal)SansSerif bold 20"/> + <Attribute name="foreground" value="(Literal)0x666666"/> + </Component> + <Component type="javax.swing.JTextArea"> + <Constraint type="BorderConstraints" direction="SOUTH"/> + <Attribute name="text" value="DashboardDescription"/> + <Attribute name="font" value="(Literal)DialogInput bold 14"/> + <Attribute name="opaque" value="(Literal)false"/> + <Attribute name="editable" value="(Literal)false"/> + </Component> + </Content> + </Component> + <Component type="org.mc4j.console.dashboard.components.RefreshControlComponent"> + <Constraint type="BorderConstraints" direction="EAST"/> + <Attribute name="refreshDelay" value="(Literal)1000"/> + </Component> + </Content> + </Component> + + + <Component type="org.mc4j.console.dashboard.components.AttributeTableComponent"> + <Attribute name="beanList" value="ConnectionBeanList"/> + <Constraint type="BorderConstraints" direction="CENTER"/> + + <Attribute name="background" value="(Literal)0xFFFFFF"/> + <Attribute name="preferredSize" value="100,100"/> + + <Attribute name="AttributeName" value="(Literal)Name"/> + <Attribute name="AttributeName" value="(Literal)AutoDelete"/> + <Attribute name="AttributeName" value="(Literal)Durable"/> + <Attribute name="AttributeName" value="(Literal)Owner"/> + <Attribute name="AttributeName" value="(Literal)MessageCount"/> + </Component> + + + </Content> +</Dashboard> diff --git a/java/management/mc4j/qpid/BlazeSingleQueue.xml b/java/management/mc4j/qpid/BlazeSingleQueue.xml new file mode 100644 index 0000000000..0879801746 --- /dev/null +++ b/java/management/mc4j/qpid/BlazeSingleQueue.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<!DOCTYPE Dashboard PUBLIC "-//MC4J//DTD Dashboard 1.0//EN" "http://mc4j.sourceforge.net/Dashboard_1_0.dtd"> + +<Dashboard version="1.0" name="Qpid Queue Statistics Graph"> + + <Description>This dashboard shows the statistics of a Qpid Queue</Description> + + <DashboardMatch type="Bean"> + <BeanMatch id="QueueNode" type="Single"> + <Condition type="BeanObjectNameCondition" filter="type=Queue"/> + </BeanMatch> + </DashboardMatch> + + <LayoutManager type="java.awt.BorderLayout"/> + <Content> + + <!-- *** The header section displays title and a refresh control *** --> + <Component type="javax.swing.JPanel"> + <Constraint type="BorderConstraints" direction="NORTH"/> + <LayoutManager type="java.awt.BorderLayout"/> + <Border type="javax.swing.border.EmptyBorder" top="(Literal)2" left="(Literal)5" bottom="(Literal)2" right="(Literal)5"/> + <Content> + <Component type="javax.swing.JPanel"> + <Constraint type="BorderConstraints" direction="CENTER"/> + <LayoutManager type="java.awt.BorderLayout"/> + <Content> + <Component type="javax.swing.JLabel" id="titleLable"> + <Constraint type="BorderConstraints" direction="CENTER"/> + <Attribute name="text" value="DashboardName"/> + <Attribute name="font" value="(Literal)SansSerif bold 20"/> + <Attribute name="foreground" value="(Literal)0x666666"/> + </Component> + <Component type="javax.swing.JTextArea"> + <Constraint type="BorderConstraints" direction="SOUTH"/> + <Attribute name="text" value="DashboardDescription"/> + <Attribute name="font" value="(Literal)DialogInput bold 14"/> + <Attribute name="opaque" value="(Literal)false"/> + <Attribute name="editable" value="(Literal)false"/> + </Component> + </Content> + </Component> + </Content> + </Component> + + + <!-- *** Scroll pane of info *** --> + <Component type="javax.swing.JScrollPane"> + <Attribute name="background" value="(Literal)0xFFFFFF"/> + <Content> + <Component type="javax.swing.JPanel"> + <Attribute name="background" value="(Literal)0xFFFFFF"/> + <Constraint type="BorderConstraints" direction="CENTER"/> + <Attribute name="preferredSize" value="100,100"/> + <LayoutManager type="java.awt.BoxLayout" axis="Y_AXIS"/> + <Content> + + <Component type="org.mc4j.console.swing.SectionHolder"> + <Attribute name="title" value="(Literal)Queue Depth"/> + <Attribute name="background" value="(Literal)0xFFFFFF"/> + <LayoutManager type="java.awt.GridLayout" rows="1" cols="1"/> + <Content> + <Component type="org.mc4j.console.dashboard.components.NumericAttributeGraph"> + <Attribute name="beanNode" value="QueueNode"/> + + <Attribute name="preferredSize" value="(Literal)400,150"/> + <Attribute name="attributeName" value="(Literal)MessageCount"/> + </Component> + </Content> + </Component> + + <Component type="org.mc4j.console.dashboard.components.FillerComponent"> + <Attribute name="type" value="(Literal)VERTICAL_GLUE_SHAPE"/> + </Component> + </Content> + + </Component> + </Content> + </Component> + + + </Content> +</Dashboard> diff --git a/java/management/webapp/META-INF/context.xml b/java/management/webapp/META-INF/context.xml new file mode 100644 index 0000000000..1d3d5683b9 --- /dev/null +++ b/java/management/webapp/META-INF/context.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<Context path="/"> +</Context> diff --git a/java/management/webapp/WEB-INF/web.xml b/java/management/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..db467779bf --- /dev/null +++ b/java/management/webapp/WEB-INF/web.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> + +<web-app version="2.4" + xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" > +</web-app> diff --git a/java/module.xml b/java/module.xml new file mode 100644 index 0000000000..0a4470d483 --- /dev/null +++ b/java/module.xml @@ -0,0 +1,230 @@ +<!-- + - + - Copyright (c) 2006 The Apache Software Foundation + - + - Licensed under the Apache License, Version 2.0 (the "License"); + - you may not use this file except in compliance with the License. + - You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, software + - distributed under the License is distributed on an "AS IS" BASIS, + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - See the License for the specific language governing permissions and + - limitations under the License. + - + --> +<project name="module"> + + <import file="common.xml"/> + + <map property="module" value="${basedir}"> + <globmapper from="${project.root}${file.separator}*" to="*"/> + </map> + + <property name="module.dir" value="${build.dir}/${module}"/> + <property name="module.classes" value="${module.dir}/${classes.dir}"/> + <property name="module.precompiled" value="${module.dir}/${src.dir}"/> + + <map property="module.name" value="${module}"> + <filtermapper> + <replacestring from="${file.separator}" to="-"/> + </filtermapper> + </map> + + <property name="module.jar" location="${module.dir}/${module.name}.jar"/> + <property name="module.launcher" + location="${module.dir}/${module.name}${launcher.sfx}"/> + <property name="module.manifest" + location="${module.dir}/${module.name}.mf"/> + <property name="module.doc" location="${module.dir}/${doc.dir}"/> + <property name="module.src" location="${src.dir}"/> + <property name="module.lib" location="${lib.dir}"/> + <property name="module.etc" location="${etc.dir}"/> + + <!-- module.depends is supplied by the importing file --> + <pathconvert property="module.depends.dirs" pathSep=" "> + <path> + <dirset dir="${project.root}" includes="${module.depends}"/> + </path> + <globmapper from="${project.root}${file.separator}*" to="*"/> + </pathconvert> + + <map property="module.depends.names" value="${module.depends.dirs}"> + <filtermapper> + <replacestring from="${file.separator}" to="-"/> + </filtermapper> + </map> + + <map property="module.depends.libs" value="${module.depends.dirs}" + setonempty="false"> + <regexpmapper from="(.*)" to="\1/${lib.dir}/\*\*\/*\.jar" handledirsep="/"/> + </map> + <map property="module.depends.classes" value="${module.depends.dirs}" join=":"> + <globmapper from="*" to="${build.dir}/*/${classes.dir}"/> + </map> + + <path id="module.src.path"> + <pathelement location="${module.src}"/> + <pathelement location="${module.precompiled}"/> + </path> + + <path id="module.class.path"> + <pathelement location="${module.classes}"/> + <fileset dir="${module.lib}" includes="**/*.jar"/> + <pathelement path="${module.depends.classes}"/> + <fileset dir="${project.root}" includes="${module.depends.libs}"/> + </path> + + <pathconvert property="module.manifest.jars" pathsep=" " dirsep="/"> + <path> + <fileset dir="${module.lib}" includes="**/*.jar"/> + </path> + <globmapper from="${module.lib}${file.separator}*" to="*"/> + </pathconvert> + + <map property="module.manifest.deps" value="${module.depends.dirs}"> + <globmapper from="*" to="*${launcher.sfx}"/> + </map> + + <property name="module.manifest.classpath" + value="${module.name}.jar ${module.manifest.jars} ${module.manifest.deps}"/> + + <target name="debug"> + <echo message="basedir = ${basedir}"/> + <echo message = "project.root = ${project.root}"/> + <echo message = "module = ${module}"/> + <echo message = "module.name = ${module.name}"/> + <echo message = "module.jar = ${module.jar}"/> + <echo message = "module.depends = ${module.depends}"/> + <echo message = "module.depends.libs = ${module.depends.libs}"/> + <echo message = "module.depends.dirs = ${module.depends.dirs}"/> + <echo message = "module.depends.classes = ${module.depends.classes}"/> + + <pathconvert property="module.class.path" refid="module.class.path"/> + <echo message = "module.class.path = ${module.class.path}"/> + <pathconvert property="pretty.module.class.path" + refid="module.class.path" + pathsep="${line.separator}| |-- "/> + <echo message = "pretty.module.class.path = ${pretty.module.class.path}"/> + + <pathconvert property="module.src.path" refid="module.src.path"/> + <echo message= "module.src.path = ${module.src.path}"/> + <pathconvert property="pretty.module.src.path" + refid="module.src.path" + pathsep="${line.separator}| |-- "/> + <echo message = "pretty.module.src.path = ${pretty.module.src.path}"/> + </target> + + <target name="prepare"> + <mkdir dir="${module.classes}"/> + <mkdir dir="${module.precompiled}"/> + <mkdir dir="${module.doc}"/> + </target> + + <target name="precompile"/> + + <target name="compile" depends="prepare,precompile"> + <javac destdir="${module.classes}" target="${java.target}" + source="${java.source}" debug="on"> + <src refid="module.src.path"/> + <classpath refid="module.class.path"/> + </javac> + + <!-- copy any non java src files into the build tree, e.g. log4j.properties --> + <copy todir="${module.classes}" verbose="true"> + <fileset dir="${module.src}"> + <exclude name="**/*.java"/> + <exclude name="**/package.html"/> + </fileset> + </copy> + </target> + + <target name="dist-bin"> + <mkdir dir="${destdir}"/> + <copy todir="${destdir}" failonerror="false"> + <fileset dir="${src.bin}"/> + </copy> + <chmod dir="${destdir}" perm="ugo+rx" includes="**/*"/> + </target> + + <target name="build" depends="compile"> + <antcall target="dist-bin"> + <param name="destdir" value="${build.dir}/${bin.dir}"/> + </antcall> + <copy todir="${build.dir}/${etc.dir}" failonerror="false"> + <fileset dir="${module.etc}" excludes="**/*.conf"/> + </copy> + <copy todir="${build.dir}/${etc.dir}" failonerror="false"> + <fileset dir="${build.dir}/${etc.dir}" includes="**/*.dev"/> + <mapper> + <globmapper from="*.dev" to="*"/> + </mapper> + </copy> + </target> + + <target name="test"/> + + <uptodate property="doc.done" targetfile="${module.doc}/index.html"> + <srcfiles dir="${module.src}" includes="**/*.java"/> + </uptodate> + + <target name="doc" depends="prepare" unless="doc.done"> + <javadoc destdir="${module.doc}" sourcepathref="module.src.path" + classpathref="module.class.path" packagenames="*"/> + </target> + + <target name="jar" depends="build"> + <jar destfile="${module.jar}" basedir="${module.classes}"/> + </target> + + <target name="manifest-main" if="module.main"> + <manifest file="${module.manifest}"> + <attribute name="Main-Class" value="${module.main}"/> + <attribute name="Class-Path" value="${module.manifest.classpath}"/> + </manifest> + </target> + + <target name="manifest-lib" unless="module.main"> + <manifest file="${module.manifest}"> + <attribute name="Class-Path" value="${module.manifest.classpath}"/> + </manifest> + </target> + + <target name="launcher" depends="manifest-main,manifest-lib"> + <jar destfile="${module.launcher}" manifest="${module.manifest}"/> + </target> + + <condition property="module.nodist"> + <and> + <isset property="module.dist"/> + <isfalse value="${module.dist}"/> + </and> + </condition> + + <target name="dist-lib" depends="jar,launcher,doc" unless="module.nodist"> + <copy todir="${dist.lib}" file="${module.jar}"/> + <copy todir="${dist.lib}" file="${module.launcher}"/> + <copy todir="${dist.lib}" failonerror="false"> + <fileset dir="${module.lib}"/> + </copy> + <copy todir="${dist.doc}/${module}"> + <fileset dir="${module.doc}"/> + </copy> + </target> + + <target name="dist" depends="dist-lib" unless="module.nodist"> + <antcall target="dist-bin"> + <param name="destdir" value="${dist.bin}"/> + </antcall> + <copy todir="${dist.etc}" failonerror="false"> + <fileset dir="${module.etc}" excludes="**/*.dev"/> + </copy> + </target> + + <target name="clean"> + <delete dir="${module.dir}"/> + </target> + +</project> diff --git a/java/tasks/src/org/apache/qpid/tasks/BaseTask.java b/java/tasks/src/org/apache/qpid/tasks/BaseTask.java new file mode 100644 index 0000000000..0d816b4afc --- /dev/null +++ b/java/tasks/src/org/apache/qpid/tasks/BaseTask.java @@ -0,0 +1,71 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.tasks; + +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.Task; + +import java.util.HashSet; +import java.util.Set; + +/** + * BaseTask -- an abstract base task for blaze specific tasks. + **/ + +public abstract class BaseTask extends Task { + + private static Set EMPTY = new HashSet(); + { + EMPTY.add(0); + EMPTY.add(""); + } + + public static class Validator { + + private String name; + private Object value; + + private Validator(String name, Object value) { + this.name = name; + this.value = value; + } + + public Validator required() { + if (value == null) { + error("value is required"); + } + return this; + } + + public Validator nonempty() { + if (EMPTY.contains(value)) { + error("value is empty"); + } + return this; + } + + private void error(String msg) { + throw new BuildException(name + ": " + msg); + } + } + + public Validator validate(String name, Object value) { + return new Validator(name, value); + } + +} diff --git a/java/tasks/src/org/apache/qpid/tasks/Foreach.java b/java/tasks/src/org/apache/qpid/tasks/Foreach.java new file mode 100644 index 0000000000..7eceaa83bc --- /dev/null +++ b/java/tasks/src/org/apache/qpid/tasks/Foreach.java @@ -0,0 +1,81 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.tasks; + +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.Task; +import org.apache.tools.ant.TaskContainer; + +import java.util.ArrayList; +import java.util.List; + +/** + * Foreach -- an ant task that allows iteration. + **/ + +public class Foreach extends BaseTask implements TaskContainer { + + private String property; + private String list; + private String delim = "\\s+"; + private String stop; + private List<Task> tasks = new ArrayList<Task>(); + + public void setProperty(String p) { + property = p; + } + + public void setList(String l) { + list = l; + } + + public void setDelim(String d) { + delim = d; + } + + public void setStop(String s) { + stop = s; + } + + public void addTask(Task t) { + tasks.add(t); + } + + public void execute() { + validate("property", property).required().nonempty(); + validate("list", property).required(); + + if (list.length() == 0) { + return; + } + + String[] values = list.split(delim); + for (int i = 0; i < values.length; i++) { + String value = values[i]; + if (stop != null && stop.length() > 0 && + value.equals(stop)) { + break; + } + getProject().setProperty(property, value); + for (Task t : tasks) { + t.perform(); + } + } + } + +} diff --git a/java/tasks/src/org/apache/qpid/tasks/Map.java b/java/tasks/src/org/apache/qpid/tasks/Map.java new file mode 100644 index 0000000000..c9d34d9a8d --- /dev/null +++ b/java/tasks/src/org/apache/qpid/tasks/Map.java @@ -0,0 +1,91 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.qpid.tasks; + +import org.apache.tools.ant.BuildException; + +import org.apache.tools.ant.util.ChainedMapper; +import org.apache.tools.ant.util.FileNameMapper; + +import java.util.ArrayList; +import java.util.List; + +/** + * Map -- an ant task that allows arbitrary use of FileNameMappers + **/ + +public class Map extends BaseTask { + + private String property; + private String value; + private String split = "\\s+"; + private String join = " "; + private boolean setonempty = true; + private ChainedMapper mapper = new ChainedMapper(); + + public void setProperty(String p) { + property = p; + } + + public void setValue(String v) { + value = v; + } + + public void setSplit(String s) { + split = s; + } + + public void setJoin(String j) { + join = j; + } + + public void setSetonempty(boolean b) { + setonempty = b; + } + + public void add(FileNameMapper m) { + mapper.add(m); + } + + public void execute() { + validate("property", property).required().nonempty(); + validate("value", value).required(); + + if (mapper.getMappers().size() == 0) { + throw new BuildException("at least one mapper must is required"); + } + + String[] parts = value.split(split); + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < parts.length; i++) { + if (parts[i].length() == 0) { continue; } + String[] names = mapper.mapFileName(parts[i]); + for (int j = 0; j < names.length; j++) { + if (buf.length() > 0) { + buf.append(join); + } + buf.append(names[j]); + } + } + + if (buf.length() > 0 || setonempty) { + getProject().setNewProperty(property, buf.toString()); + } + } + +} diff --git a/java/tasks/src/org/apache/qpid/tasks/Require.java b/java/tasks/src/org/apache/qpid/tasks/Require.java new file mode 100644 index 0000000000..e4313b6528 --- /dev/null +++ b/java/tasks/src/org/apache/qpid/tasks/Require.java @@ -0,0 +1,62 @@ +package org.apache.qpid.tasks; + +import org.apache.tools.ant.taskdefs.Ant; + +import java.io.File; +import java.util.HashSet; +import java.util.Set; + +/** + * Require + * + * @author Rafael H. Schloming <rhs@mit.edu> + **/ + +public class Require extends BaseTask { + + private File file; + private String target = ""; + private Ant ant = null; + private String key = ""; + + public void setFile(File f) { + file = f; + } + + public void setTarget(String t) { + target = t; + } + + public void setKey(String k) { + key = k; + } + + public void execute() { + validate("file", file).required(); + + String path = file.getAbsolutePath(); + String hash = Require.class.getName() + ":" + + path + ":" + target + ":" + key; + + synchronized (System.class) { + if (System.getProperty(hash) != null) { + return; + } + + Ant ant = (Ant) getProject().createTask("ant"); + ant.setInheritAll(false); + ant.setOwningTarget(getOwningTarget()); + ant.setTaskName(getTaskName()); + ant.init(); + if (target.length() > 0) { + ant.setTarget(target); + } + ant.setAntfile(path); + ant.setDir(file.getParentFile()); + ant.execute(); + + System.setProperty(hash, "done"); + } + } + +} diff --git a/python/README.txt b/python/README.txt new file mode 100644 index 0000000000..0a64f0e2f2 --- /dev/null +++ b/python/README.txt @@ -0,0 +1,24 @@ += RUNNING THE PYTHON TESTS = + +The tests/ directory contains a collection of python unit tests to +exercise functions of a broker. + +Simplest way to run the tests: + + * Run a broker on the default port + + * ./run_tests + +For additional options: ./run_tests --help + + +== Expected failures == + +Until we complete functionality, tests may fail because the tested +functionality is missing in the broker. To skip expected failures +in the C++ or Java brokers: + + ./run_tests -I cpp_failing.txt + ./run_tests -I java_failing.txt + +If you fix a failure, please remove it from the corresponding list. diff --git a/python/amqp-doc b/python/amqp-doc new file mode 100755 index 0000000000..a5b785fd73 --- /dev/null +++ b/python/amqp-doc @@ -0,0 +1,75 @@ +#!/usr/bin/env python +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +import sys, re +from qpid.spec import load, pythonize +from getopt import gnu_getopt as getopt, GetoptError +from fnmatch import fnmatchcase as fnmatch + +def die(msg): + print >> sys.stderr, msg + sys.exit(1) + +def usage(msg = ""): + return ("""%s + +Usage %s [<options>] [<pattern_1> ... <pattern_n>] + +Options: + -e, --regexp use regex instead of glob when matching + -s, --spec <url> location of amqp.xml +""" % (msg, sys.argv[0])).strip() + +try: + opts, args = getopt(sys.argv[1:], "s:e", ["regexp", "spec="]) +except GetoptError, e: + die(str(e)) + +regexp = False +spec = "../specs/amqp-8.0.xml" +for k, v in opts: + if k == "-e" or k == "--regexp": regexp = True + if k == "-s" or k == "--spec": spec = v + +if regexp: + def match(pattern, value): + try: + return re.match(pattern, value) + except Exception, e: + die("error: '%s': %s" % (pattern, e)) +else: + def match(pattern, value): + return fnmatch(value, pattern) + +spec = load(spec) +methods = {} +patterns = args +for pattern in patterns: + for c in spec.classes: + for m in c.methods: + name = pythonize("%s_%s" % (c.name, m.name)) + if match(pattern, name): + methods[name] = m.define_method(name) + +if patterns: + if methods: + AMQP = type("AMQP[%s]" % ", ".join(patterns), (), methods) + else: + die("no matches") +else: + AMQP = spec.define_class("AMQP") + +help(AMQP) diff --git a/python/cpp_failing.txt b/python/cpp_failing.txt new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/python/cpp_failing.txt diff --git a/python/doc/test-requirements.txt b/python/doc/test-requirements.txt new file mode 100644 index 0000000000..a1ba414eb2 --- /dev/null +++ b/python/doc/test-requirements.txt @@ -0,0 +1,10 @@ + * start and stop server, possibly in different configurations, should + at least be able to specify host and port + + * initiate multiple connections/server + + * initiate multiple channels/connection + + * enable positive and negative tests for any protocol interaction + + * test harness must be as robust as possible to spec changes diff --git a/python/java_failing.txt b/python/java_failing.txt new file mode 100644 index 0000000000..2e61363817 --- /dev/null +++ b/python/java_failing.txt @@ -0,0 +1,13 @@ +tests.basic.BasicTests.test_consume_exclusive +tests.basic.BasicTests.test_consume_no_local +tests.basic.BasicTests.test_consume_queue_errors +tests.basic.BasicTests.test_consume_unique_consumers +tests.exchange.RecommendedTypesRuleTests.testFanout +tests.exchange.RequiredInstancesRuleTests.testAmqFanOut +tests.queue.QueueTests.test_declare_exclusive +tests.queue.QueueTests.test_declare_passive +tests.queue.QueueTests.test_delete_ifempty +tests.queue.QueueTests.test_delete_ifunused +tests.queue.QueueTests.test_delete_simple +tests.queue.QueueTests.test_purge +tests.queue.QueueTests.test_bind diff --git a/python/pal2py b/python/pal2py new file mode 100755 index 0000000000..48fa0111de --- /dev/null +++ b/python/pal2py @@ -0,0 +1,255 @@ +#!/usr/bin/env python +import sys, os, xml + +from qpid.spec import load, pythonize +from textwrap import TextWrapper +from xml.sax.handler import ContentHandler + +class Block: + + def __init__(self, children): + self.children = children + + def emit(self, out): + for child in self.children: + if not hasattr(child, "emit"): + raise ValueError(child) + child.emit(out) + + if not self.children: + out.line("pass") + +class If: + + def __init__(self, expr, cons, alt = None): + self.expr = expr + self.cons = cons + self.alt = alt + + def emit(self, out): + out.line("if ") + self.expr.emit(out) + out.write(":") + out.level += 1 + self.cons.emit(out) + out.level -= 1 + if self.alt: + out.line("else:") + out.level += 1 + self.alt.emit(out) + out.level -= 1 + +class Stmt: + + def __init__(self, code): + self.code = code + + def emit(self, out): + out.line(self.code) + +class Expr: + + def __init__(self, code): + self.code = code + + def emit(self, out): + out.write(self.code) + +class Abort: + + def __init__(self, expr): + self.expr = expr + + def emit(self, out): + out.line("assert False, ") + self.expr.emit(out) + +WRAPPER = TextWrapper() + +def wrap(text): + return WRAPPER.wrap(" ".join(text.split())) + +class Doc: + + def __init__(self, text): + self.text = text + + def emit(self, out): + out.line('"""') + for line in wrap(self.text): + out.line(line) + out.line('"""') + +class Frame: + + def __init__(self, attrs): + self.attrs = attrs + self.children = [] + self.text = None + + def __getattr__(self, attr): + return self.attrs[attr] + +def isunicode(s): + if isinstance(s, str): + return False + for ch in s: + if ord(ch) > 127: + return True + return False + +def string_literal(s): + if s == None: + return None + if isunicode(s): + return "%r" % s + else: + return "%r" % str(s) + +TRUTH = { + "1": True, + "0": False, + "true": True, + "false": False + } + +LITERAL = { + "shortstr": string_literal, + "longstr": string_literal, + "bit": lambda s: TRUTH[s.lower()], + "longlong": lambda s: "%r" % long(s) + } + +def literal(s, field): + return LITERAL[field.type](s) + +def palexpr(s, field): + if s.startswith("$"): + return "msg.%s" % s[1:] + else: + return literal(s, field) + +class Translator(ContentHandler): + + def __init__(self, spec): + self.spec = spec + self.stack = [] + self.content = None + self.root = Frame(None) + self.push(self.root) + + def emit(self, out): + blk = Block(self.root.children) + blk.emit(out) + out.write("\n") + + def peek(self): + return self.stack[-1] + + def pop(self): + return self.stack.pop() + + def push(self, frame): + self.stack.append(frame) + + def startElement(self, name, attrs): + self.push(Frame(attrs)) + + def endElement(self, name): + frame = self.pop() + if hasattr(self, name): + child = getattr(self, name)(frame) + else: + child = self.handle(name, frame) + + if child: + self.peek().children.append(child) + + def characters(self, text): + frame = self.peek() + if frame.text: + frame.text += text + else: + frame.text = text + + def handle(self, name, frame): + for klass in self.spec.classes: + pyklass = pythonize(klass.name) + if name.startswith(pyklass): + name = name[len(pyklass) + 1:] + break + else: + raise ValueError("unknown class: %s" % name) + + for method in klass.methods: + pymethod = pythonize(method.name) + if name == pymethod: + break + else: + raise ValueError("unknown method: %s" % name) + + args = ["%s = %s" % (key, palexpr(val, method.fields.bypyname[key])) + for key, val in frame.attrs.items()] + if method.content and self.content: + args.append("content = %r" % string_literal(self.content)) + code = "ssn.%s_%s(%s)" % (pyklass, pymethod, ", ".join(args)) + if pymethod == "consume": + code = "consumer_tag = %s.consumer_tag" % code + return Stmt(code) + + def pal(self, frame): + return Block([Doc(frame.text)] + frame.children) + + def include(self, frame): + base, ext = os.path.splitext(frame.filename) + return Stmt("from %s import *" % base) + + def session(self, frame): + return Block([Stmt("cli = open()"), Stmt("ssn = cli.channel(0)"), + Stmt("ssn.channel_open()")] + frame.children) + + def empty(self, frame): + return If(Expr("msg == None"), Block(frame.children)) + + def abort(self, frame): + return Abort(Expr(string_literal(frame.text))) + + def wait(self, frame): + return Stmt("msg = ssn.queue(consumer_tag).get(timeout=%r)" % + (int(frame.timeout)/1000)) + + def basic_arrived(self, frame): + if frame.children: + return If(Expr("msg != None"), Block(frame.children)) + + def basic_content(self, frame): + self.content = frame.text + +class Emitter: + + def __init__(self, out): + self.out = out + self.level = 0 + + def write(self, code): + self.out.write(code) + + def line(self, code): + self.write("\n%s%s" % (" "*self.level, code)) + + def flush(self): + self.out.flush() + + def close(self): + self.out.close() + + +for f in sys.argv[2:]: + base, ext = os.path.splitext(f) + spec = load(sys.argv[1]) + t = Translator(spec) + xml.sax.parse(f, t) +# out = Emitter(open("%s.py" % base)) + out = Emitter(sys.stdout) + t.emit(out) + out.close() diff --git a/python/qpid/__init__.py b/python/qpid/__init__.py new file mode 100644 index 0000000000..3f69e88e24 --- /dev/null +++ b/python/qpid/__init__.py @@ -0,0 +1,17 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +import spec, codec, connection, content, peer, delegate, client diff --git a/python/qpid/client.py b/python/qpid/client.py new file mode 100644 index 0000000000..cef10622ac --- /dev/null +++ b/python/qpid/client.py @@ -0,0 +1,111 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +An AQMP client implementation that uses a custom delegate for +interacting with the server. +""" + +import threading +from peer import Peer, Closed +from delegate import Delegate +from connection import Connection, Frame +from spec import load +from queue import Queue + + +class Client: + + def __init__(self, host, port, spec, vhost = None): + self.host = host + self.port = port + self.spec = spec + + self.mechanism = None + self.response = None + self.locale = None + + self.vhost = vhost + if self.vhost == None: + self.vhost = self.host + + self.queues = {} + self.lock = threading.Lock() + + self.closed = False + self.started = threading.Event() + + self.conn = Connection(self.host, self.port, self.spec) + self.peer = Peer(self.conn, ClientDelegate(self)) + + def wait(self): + self.started.wait() + if self.closed: + raise EOFError() + + def queue(self, key): + self.lock.acquire() + try: + try: + q = self.queues[key] + except KeyError: + q = Queue(0) + self.queues[key] = q + finally: + self.lock.release() + return q + + def start(self, response, mechanism="AMQPLAIN", locale="en_US"): + self.mechanism = mechanism + self.response = response + self.locale = locale + + self.conn.connect() + self.conn.init() + self.peer.start() + self.wait() + self.channel(0).connection_open(self.vhost) + + def channel(self, id): + return self.peer.channel(id) + +class ClientDelegate(Delegate): + + def __init__(self, client): + Delegate.__init__(self) + self.client = client + + def connection_start(self, ch, msg): + ch.connection_start_ok(mechanism=self.client.mechanism, + response=self.client.response, + locale=self.client.locale) + + def connection_tune(self, ch, msg): + ch.connection_tune_ok(*msg.fields) + self.client.started.set() + + def basic_deliver(self, ch, msg): + self.client.queue(msg.consumer_tag).put(msg) + + def channel_close(self, ch, msg): + ch.close(msg) + + def connection_close(self, ch, msg): + self.client.peer.close(msg) + + def close(self, reason): + self.client.closed = True + self.client.started.set() diff --git a/python/qpid/codec.py b/python/qpid/codec.py new file mode 100644 index 0000000000..c4bbe91f32 --- /dev/null +++ b/python/qpid/codec.py @@ -0,0 +1,221 @@ +#!/usr/bin/env python + +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Utility code to translate between python objects and AMQP encoded data +fields. +""" + +from cStringIO import StringIO +from struct import * + +class EOF(Exception): + pass + +class Codec: + + def __init__(self, stream): + self.stream = stream + self.nwrote = 0 + self.nread = 0 + self.incoming_bits = [] + self.outgoing_bits = [] + + def read(self, n): + data = self.stream.read(n) + if n > 0 and len(data) == 0: + raise EOF() + self.nread += len(data) + return data + + def write(self, s): + self.flushbits() + self.stream.write(s) + self.nwrote += len(s) + + def flush(self): + self.flushbits() + self.stream.flush() + + def flushbits(self): + if len(self.outgoing_bits) > 0: + bytes = [] + index = 0 + for b in self.outgoing_bits: + if index == 0: bytes.append(0) + if b: bytes[-1] |= 1 << index + index = (index + 1) % 8 + del self.outgoing_bits[:] + for byte in bytes: + self.encode_octet(byte) + + def pack(self, fmt, *args): + self.write(pack(fmt, *args)) + + def unpack(self, fmt): + size = calcsize(fmt) + data = self.read(size) + values = unpack(fmt, data) + if len(values) == 1: + return values[0] + else: + return values + + def encode(self, type, value): + getattr(self, "encode_" + type)(value) + + def decode(self, type): + return getattr(self, "decode_" + type)() + + # bit + def encode_bit(self, o): + if o: + self.outgoing_bits.append(True) + else: + self.outgoing_bits.append(False) + + def decode_bit(self): + if len(self.incoming_bits) == 0: + bits = self.decode_octet() + for i in range(8): + self.incoming_bits.append(bits >> i & 1 != 0) + return self.incoming_bits.pop(0) + + # octet + def encode_octet(self, o): + self.pack("!B", o) + + def decode_octet(self): + return self.unpack("!B") + + # short + def encode_short(self, o): + self.pack("!H", o) + + def decode_short(self): + return self.unpack("!H") + + # long + def encode_long(self, o): + self.pack("!L", o) + + def decode_long(self): + return self.unpack("!L") + + # longlong + def encode_longlong(self, o): + self.pack("!Q", o) + + def decode_longlong(self): + return self.unpack("!Q") + + def enc_str(self, fmt, s): + size = len(s) + self.pack(fmt, size) + self.write(s) + + def dec_str(self, fmt): + size = self.unpack(fmt) + return self.read(size) + + # shortstr + def encode_shortstr(self, s): + self.enc_str("!B", s) + + def decode_shortstr(self): + return self.dec_str("!B") + + # longstr + def encode_longstr(self, s): + if isinstance(s, dict): + self.encode_table(s) + else: + self.enc_str("!L", s) + + def decode_longstr(self): + return self.dec_str("!L") + + # table + def encode_table(self, tbl): + enc = StringIO() + codec = Codec(enc) + for key, value in tbl.items(): + codec.encode_shortstr(key) + if isinstance(value, basestring): + codec.write("S") + codec.encode_longstr(value) + else: + codec.write("I") + codec.encode_long(value) + s = enc.getvalue() + self.encode_long(len(s)) + self.write(s) + + def decode_table(self): + size = self.decode_long() + start = self.nread + result = {} + while self.nread - start < size: + key = self.decode_shortstr() + type = self.read(1) + if type == "S": + value = self.decode_longstr() + elif type == "I": + value = self.decode_long() + else: + raise ValueError(repr(type)) + result[key] = value + return result + +def test(type, value): + if isinstance(value, (list, tuple)): + values = value + else: + values = [value] + stream = StringIO() + codec = Codec(stream) + for v in values: + codec.encode(type, v) + codec.flush() + enc = stream.getvalue() + stream.reset() + dup = [] + for i in xrange(len(values)): + dup.append(codec.decode(type)) + if values != dup: + raise AssertionError("%r --> %r --> %r" % (values, enc, dup)) + +if __name__ == "__main__": + def dotest(type, value): + args = (type, value) + test(*args) + + for value in ("1", "0", "110", "011", "11001", "10101", "10011"): + for i in range(10): + dotest("bit", map(lambda x: x == "1", value*i)) + + for value in ({}, {"asdf": "fdsa", "fdsa": 1, "three": 3}, {"one": 1}): + dotest("table", value) + + for type in ("octet", "short", "long", "longlong"): + for value in range(0, 256): + dotest(type, value) + + for type in ("shortstr", "longstr"): + for value in ("", "a", "asdf"): + dotest(type, value) diff --git a/python/qpid/connection.py b/python/qpid/connection.py new file mode 100644 index 0000000000..f4d0817e60 --- /dev/null +++ b/python/qpid/connection.py @@ -0,0 +1,265 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +A Connection class containing socket code that uses the spec metadata +to read and write Frame objects. This could be used by a client, +server, or even a proxy implementation. +""" + +import socket, codec +from cStringIO import StringIO +from spec import load, pythonize +from codec import EOF + +class SockIO: + + def __init__(self, sock): + self.sock = sock + + def write(self, buf): +# print "OUT: %r" % buf + self.sock.sendall(buf) + + def read(self, n): + data = "" + while len(data) < n: + try: + s = self.sock.recv(n - len(data)) + except socket.error: + break + if len(s) == 0: + break +# print "IN: %r" % s + data += s + return data + + def flush(self): + pass + +class Connection: + + def __init__(self, host, port, spec): + self.host = host + self.port = port + self.spec = spec + self.FRAME_END = self.spec.constants.byname["frame end"].id + + def connect(self): + sock = socket.socket() + sock.connect((self.host, self.port)) + sock.setblocking(1) + self.codec = codec.Codec(SockIO(sock)) + + def flush(self): + self.codec.flush() + + INIT="!4s4B" + + def init(self): + self.codec.pack(Connection.INIT, "AMQP", 1, 1, self.spec.major, + self.spec.minor) + + def write(self, frame): + c = self.codec + c.encode_octet(self.spec.constants.byname[frame.payload.type].id) + c.encode_short(frame.channel) + frame.payload.encode(c) + c.encode_octet(self.FRAME_END) + + def read(self): + c = self.codec + type = self.spec.constants.byid[c.decode_octet()].name + channel = c.decode_short() + payload = Frame.DECODERS[type].decode(self.spec, c) + end = c.decode_octet() + if end != self.FRAME_END: + raise "frame error: expected %r, got %r" % (self.FRAME_END, end) + frame = Frame(channel, payload) + return frame + +class Frame: + + METHOD = "frame method" + HEADER = "frame header" + BODY = "frame body" + OOB_METHOD = "frame oob method" + OOB_HEADER = "frame oob header" + OOB_BODY = "frame oob body" + TRACE = "frame trace" + HEARTBEAT = "frame heartbeat" + + DECODERS = {} + + def __init__(self, channel, payload): + self.channel = channel + self.payload = payload + + def __str__(self): + return "[%d] %s" % (self.channel, self.payload) + +class Payload: + + class __metaclass__(type): + + def __new__(cls, name, bases, dict): + for req in ("encode", "decode", "type"): + if not dict.has_key(req): + raise TypeError("%s must define %s" % (name, req)) + dict["decode"] = staticmethod(dict["decode"]) + t = type.__new__(cls, name, bases, dict) + if t.type != None: + Frame.DECODERS[t.type] = t + return t + + type = None + + def encode(self, enc): abstract + + def decode(spec, dec): abstract + +class Method(Payload): + + type = Frame.METHOD + + def __init__(self, method, *args): + if len(args) != len(method.fields): + argspec = ["%s: %s" % (pythonize(f.name), f.type) + for f in method.fields] + raise TypeError("%s.%s expecting (%s), got %s" % + (pythonize(method.klass.name), + pythonize(method.name), ", ".join(argspec), args)) + self.method = method + self.args = args + + def encode(self, enc): + buf = StringIO() + c = codec.Codec(buf) + c.encode_short(self.method.klass.id) + c.encode_short(self.method.id) + for field, arg in zip(self.method.fields, self.args): + c.encode(field.type, arg) + c.flush() + enc.encode_longstr(buf.getvalue()) + + def decode(spec, dec): + enc = dec.decode_longstr() + c = codec.Codec(StringIO(enc)) + klass = spec.classes.byid[c.decode_short()] + meth = klass.methods.byid[c.decode_short()] + args = tuple([c.decode(f.type) for f in meth.fields]) + return Method(meth, *args) + + def __str__(self): + return "%s %s" % (self.method, ", ".join([str(a) for a in self.args])) + +class Header(Payload): + + type = Frame.HEADER + + def __init__(self, klass, weight, size, **properties): + self.klass = klass + self.weight = weight + self.size = size + self.properties = properties + + def __getitem__(self, name): + return self.properties[name] + + def __setitem__(self, name, value): + self.properties[name] = value + + def __delitem__(self, name): + del self.properties[name] + + def encode(self, enc): + buf = StringIO() + c = codec.Codec(buf) + c.encode_short(self.klass.id) + c.encode_short(self.weight) + c.encode_longlong(self.size) + + # property flags + nprops = len(self.klass.fields) + flags = 0 + for i in range(nprops): + f = self.klass.fields.items[i] + flags <<= 1 + if self.properties.get(f.name) != None: + flags |= 1 + # the last bit indicates more flags + if i > 0 and (i % 15) == 0: + flags <<= 1 + if nprops > (i + 1): + flags |= 1 + c.encode_short(flags) + flags = 0 + flags <<= ((16 - (nprops % 15)) % 16) + c.encode_short(flags) + + # properties + for f in self.klass.fields: + v = self.properties.get(f.name) + if v != None: + c.encode(f.type, v) + c.flush() + enc.encode_longstr(buf.getvalue()) + + def decode(spec, dec): + c = codec.Codec(StringIO(dec.decode_longstr())) + klass = spec.classes.byid[c.decode_short()] + weight = c.decode_short() + size = c.decode_longlong() + + # property flags + bits = [] + while True: + flags = c.decode_short() + for i in range(15, 0, -1): + if flags >> i & 0x1 != 0: + bits.append(True) + else: + bits.append(False) + if flags & 0x1 == 0: + break + + # properties + properties = {} + for b, f in zip(bits, klass.fields): + if b: + properties[f.name] = c.decode(f.type) + + return Header(klass, weight, size, **properties) + + def __str__(self): + return "%s %s %s %s" % (self.klass, self.weight, self.size, + self.properties) + +class Body(Payload): + + type = Frame.BODY + + def __init__(self, content): + self.content = content + + def encode(self, enc): + enc.encode_longstr(self.content) + + def decode(spec, dec): + return Body(dec.decode_longstr()) + + def __str__(self): + return "Body(%r)" % self.content diff --git a/python/qpid/content.py b/python/qpid/content.py new file mode 100644 index 0000000000..33c9ec35f4 --- /dev/null +++ b/python/qpid/content.py @@ -0,0 +1,47 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +A simple python representation for AMQP content. +""" + +def default(val, defval): + if val == None: + return defval + else: + return val + +class Content: + + def __init__(self, body = "", children = None, properties = None): + self.body = body + self.children = default(children, []) + self.properties = default(properties, {}) + + def size(self): + return len(self.body) + + def weight(self): + return len(self.children) + + def __getitem__(self, name): + return self.properties[name] + + def __setitem__(self, name, value): + self.properties[name] = value + + def __delitem__(self, name): + del self.properties[name] diff --git a/python/qpid/delegate.py b/python/qpid/delegate.py new file mode 100644 index 0000000000..0467162498 --- /dev/null +++ b/python/qpid/delegate.py @@ -0,0 +1,52 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Delegate implementation intended for use with the peer module. +""" + +import threading, inspect +from spec import pythonize + +class Delegate: + + def __init__(self): + self.handlers = {} + self.invokers = {} + # initialize all the mixins + self.invoke_all("init") + + def invoke_all(self, meth, *args, **kwargs): + for cls in inspect.getmro(self.__class__): + if hasattr(cls, meth): + getattr(cls, meth)(self, *args, **kwargs) + + def dispatch(self, channel, message): + method = message.method + spec = method.klass.spec + + try: + handler = self.handlers[method] + except KeyError: + name = "%s_%s" % (pythonize(method.klass.name), + pythonize(method.name)) + handler = getattr(self, name) + self.handlers[method] = handler + + return handler(channel, message) + + def close(self, reason): + self.invoke_all("close", reason) diff --git a/python/qpid/message.py b/python/qpid/message.py new file mode 100644 index 0000000000..08b3e70c0b --- /dev/null +++ b/python/qpid/message.py @@ -0,0 +1,81 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +from sets import Set + +class Message: + + COMMON_FIELDS = Set(("content", "method", "fields")) + + def __init__(self, method, fields, content = None): + self.method = method + self.fields = fields + self.content = content + + def __len__(self): + l = len(self.fields) + if method.content: + l += 1 + return len(self.fields) + + def _idx(self, idx): + if idx < 0: idx += len(self) + if idx < 0 or idx > len(self): + raise IndexError(idx) + return idx + + def __getitem__(self, idx): + idx = self._idx(idx) + if idx == len(self.fields): + return self.content + else: + return self.fields[idx] + + def __setitem__(self, idx, value): + idx = self._idx(idx) + if idx == len(self.fields): + self.content = value + else: + self.fields[idx] = value + + def _slot(self, attr): + if attr in Message.COMMON_FIELDS: + env = self.__dict__ + key = attr + else: + env = self.fields + try: + field = self.method.fields.bypyname[attr] + key = self.method.fields.index(field) + except KeyError: + raise AttributeError(attr) + return env, key + + def __getattr__(self, attr): + env, key = self._slot(attr) + return env[key] + + def __setattr__(self, attr, value): + env, key = self._slot(attr) + env[attr] = value + + STR = "%s %s content = %s" + REPR = STR.replace("%s", "%r") + + def __str__(self): + return Message.STR % (self.method, self.fields, self.content) + + def __repr__(self): + return Message.REPR % (self.method, self.fields, self.content) diff --git a/python/qpid/peer.py b/python/qpid/peer.py new file mode 100644 index 0000000000..4179a05568 --- /dev/null +++ b/python/qpid/peer.py @@ -0,0 +1,209 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +This module contains a skeletal peer implementation useful for +implementing an AMQP server, client, or proxy. The peer implementation +sorts incoming frames to their intended channels, and dispatches +incoming method frames to a delegate. +""" + +import thread, traceback, socket, sys, logging +from connection import Frame, EOF, Method, Header, Body +from message import Message +from queue import Queue, Closed as QueueClosed +from content import Content +from cStringIO import StringIO + +class Peer: + + def __init__(self, conn, delegate): + self.conn = conn + self.delegate = delegate + self.outgoing = Queue(0) + self.work = Queue(0) + self.channels = {} + self.Channel = type("Channel%s" % conn.spec.klass.__name__, + (Channel, conn.spec.klass), {}) + self.lock = thread.allocate_lock() + + def channel(self, id): + self.lock.acquire() + try: + try: + ch = self.channels[id] + except KeyError: + ch = self.Channel(id, self.outgoing) + self.channels[id] = ch + finally: + self.lock.release() + return ch + + def start(self): + thread.start_new_thread(self.writer, ()) + thread.start_new_thread(self.reader, ()) + thread.start_new_thread(self.worker, ()) + + def fatal(message=None): + """Call when an unexpected exception occurs that will kill a thread. + + In this case it's better to crash the process than to continue in + an invalid state with a missing thread.""" + if message: print >> sys.stderr, message + traceback.print_exc() + + def reader(self): + try: + while True: + try: + frame = self.conn.read() + except EOF, e: + self.close(e) + break + ch = self.channel(frame.channel) + ch.dispatch(frame, self.work) + except: + self.fatal() + + def close(self, reason): + for ch in self.channels.values(): + ch.close(reason) + self.delegate.close(reason) + + def writer(self): + try: + while True: + try: + message = self.outgoing.get() + self.conn.write(message) + except socket.error, e: + self.close(e) + break + self.conn.flush() + except: + self.fatal() + + def worker(self): + try: + while True: + self.dispatch(self.work.get()) + except: + self.fatal() + + def dispatch(self, queue): + frame = queue.get() + channel = self.channel(frame.channel) + payload = frame.payload + if payload.method.content: + content = read_content(queue) + else: + content = None + # Let the caller deal with exceptions thrown here. + message = Message(payload.method, payload.args, content) + self.delegate.dispatch(channel, message) + +class Closed(Exception): pass + +class Channel: + + def __init__(self, id, outgoing): + self.id = id + self.outgoing = outgoing + self.incoming = Queue(0) + self.responses = Queue(0) + self.queue = None + self.closed = False + self.reason = None + + def close(self, reason): + if self.closed: + return + self.closed = True + self.reason = reason + self.incoming.close() + self.responses.close() + + def dispatch(self, frame, work): + payload = frame.payload + if isinstance(payload, Method): + if payload.method.response: + self.queue = self.responses + else: + self.queue = self.incoming + work.put(self.incoming) + self.queue.put(frame) + + def invoke(self, method, args, content = None): + if self.closed: + raise Closed(self.reason) + + frame = Frame(self.id, Method(method, *args)) + self.outgoing.put(frame) + + if method.content: + if content == None: + content = Content() + self.write_content(method.klass, content, self.outgoing) + + try: + # here we depend on all nowait fields being named nowait + f = method.fields.byname["nowait"] + nowait = args[method.fields.index(f)] + except KeyError: + nowait = False + + try: + if not nowait and method.responses: + resp = self.responses.get().payload + if resp.method.content: + content = read_content(self.responses) + else: + content = None + if resp.method in method.responses: + return Message(resp.method, resp.args, content) + else: + raise ValueError(resp) + except QueueClosed, e: + if self.closed: + raise Closed(self.reason) + else: + raise e + + def write_content(self, klass, content, queue): + size = content.size() + header = Frame(self.id, Header(klass, content.weight(), size)) + queue.put(header) + for child in content.children: + self.write_content(klass, child, queue) + # should split up if content.body exceeds max frame size + if size > 0: + queue.put(Frame(self.id, Body(content.body))) + +def read_content(queue): + frame = queue.get() + header = frame.payload + children = [] + for i in range(header.weight): + children.append(read_content(queue)) + size = header.size + read = 0 + buf = StringIO() + while read < size: + body = queue.get() + content = body.payload.content + buf.write(content) + read += len(content) + return Content(buf.getvalue(), children, header.properties.copy()) diff --git a/python/qpid/queue.py b/python/qpid/queue.py new file mode 100644 index 0000000000..491cc3947d --- /dev/null +++ b/python/qpid/queue.py @@ -0,0 +1,42 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +This module augments the standard python multithreaded Queue +implementation to add a close() method so that threads blocking on the +content of a queue can be notified if the queue is no longer in use. +""" + +from Queue import Queue as BaseQueue, Empty, Full + +class Closed(Exception): pass + +class Queue(BaseQueue): + + END = object() + + def close(self): + self.put(Queue.END) + + def get(self, block = True, timeout = None): + result = BaseQueue.get(self, block, timeout) + if result == Queue.END: + # this guarantees that any other waiting threads or any future + # calls to get will also result in a Closed exception + self.put(Queue.END) + raise Closed() + else: + return result diff --git a/python/qpid/spec.py b/python/qpid/spec.py new file mode 100644 index 0000000000..70e09aa1e9 --- /dev/null +++ b/python/qpid/spec.py @@ -0,0 +1,349 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +This module loads protocol metadata into python objects. It provides +access to spec metadata via a python object model, and can also +dynamically creating python methods, classes, and modules based on the +spec metadata. All the generated methods have proper signatures and +doc strings based on the spec metadata so the python help system can +be used to browse the spec documentation. The generated methods all +dispatch to the self.invoke(meth, args) callback of the containing +class so that the generated code can be reused in a variety of +situations. +""" + +import re, textwrap, new, xmlutil + +class SpecContainer: + + def __init__(self): + self.items = [] + self.byname = {} + self.byid = {} + self.indexes = {} + self.bypyname = {} + + def add(self, item): + if self.byname.has_key(item.name): + raise ValueError("duplicate name: %s" % item) + if self.byid.has_key(item.id): + raise ValueError("duplicate id: %s" % item) + pyname = pythonize(item.name) + if self.bypyname.has_key(pyname): + raise ValueError("duplicate pyname: %s" % item) + self.indexes[item] = len(self.items) + self.items.append(item) + self.byname[item.name] = item + self.byid[item.id] = item + self.bypyname[pyname] = item + + def index(self, item): + try: + return self.indexes[item] + except KeyError: + raise ValueError(item) + + def __iter__(self): + return iter(self.items) + + def __len__(self): + return len(self.items) + +class Metadata: + + PRINT = [] + + def __init__(self): + pass + + def __str__(self): + args = map(lambda f: "%s=%s" % (f, getattr(self, f)), self.PRINT) + return "%s(%s)" % (self.__class__.__name__, ", ".join(args)) + + def __repr__(self): + return str(self) + +class Spec(Metadata): + + PRINT=["major", "minor", "file"] + + def __init__(self, major, minor, file): + Metadata.__init__(self) + self.major = major + self.minor = minor + self.file = file + self.constants = SpecContainer() + self.classes = SpecContainer() + + def post_load(self): + self.module = self.define_module("amqp%s%s" % (self.major, self.minor)) + self.klass = self.define_class("Amqp%s%s" % (self.major, self.minor)) + + def parse_method(self, name): + parts = re.split(r"\s*\.\s*", name) + if len(parts) != 2: + raise ValueError(name) + klass, meth = parts + return self.classes.byname[klass].methods.byname[meth] + + def define_module(self, name, doc = None): + module = new.module(name, doc) + module.__file__ = self.file + for c in self.classes: + classname = pythonize(c.name) + cls = c.define_class(classname) + cls.__module__ = module.__name__ + setattr(module, classname, cls) + return module + + def define_class(self, name): + methods = {} + for c in self.classes: + for m in c.methods: + meth = pythonize(m.klass.name + "_" + m.name) + methods[meth] = m.define_method(meth) + return type(name, (), methods) + +class Constant(Metadata): + + PRINT=["name", "id"] + + def __init__(self, spec, name, id, klass, docs): + Metadata.__init__(self) + self.spec = spec + self.name = name + self.id = id + self.klass = klass + self.docs = docs + +class Class(Metadata): + + PRINT=["name", "id"] + + def __init__(self, spec, name, id, handler, docs): + Metadata.__init__(self) + self.spec = spec + self.name = name + self.id = id + self.handler = handler + self.fields = SpecContainer() + self.methods = SpecContainer() + self.docs = docs + + def define_class(self, name): + methods = {} + for m in self.methods: + meth = pythonize(m.name) + methods[meth] = m.define_method(meth) + return type(name, (), methods) + +class Method(Metadata): + + PRINT=["name", "id"] + + def __init__(self, klass, name, id, content, responses, synchronous, + description, docs): + Metadata.__init__(self) + self.klass = klass + self.name = name + self.id = id + self.content = content + self.responses = responses + self.synchronous = synchronous + self.fields = SpecContainer() + self.description = description + self.docs = docs + self.response = False + + def docstring(self): + s = "\n\n".join([fill(d, 2) for d in [self.description] + self.docs]) + for f in self.fields: + if f.docs: + s += "\n\n" + "\n\n".join([fill(f.docs[0], 4, pythonize(f.name))] + + [fill(d, 4) for d in f.docs[1:]]) + return s + + METHOD = "__method__" + DEFAULTS = {"bit": False, + "shortstr": "", + "longstr": "", + "table": {}, + "octet": 0, + "short": 0, + "long": 0, + "longlong": 0} + + def define_method(self, name): + g = {Method.METHOD: self} + l = {} + args = [(pythonize(f.name), Method.DEFAULTS[f.type]) for f in self.fields] + if self.content: + args += [("content", None)] + code = "def %s(self, %s):\n" % \ + (name, ", ".join(["%s = %r" % a for a in args])) + code += " %r\n" % self.docstring() + if self.content: + methargs = args[:-1] + else: + methargs = args + argnames = ", ".join([a[0] for a in methargs]) + code += " return self.invoke(%s" % Method.METHOD + if argnames: + code += ", (%s,)" % argnames + if self.content: + code += ", content" + code += ")" + exec code in g, l + return l[name] + +class Field(Metadata): + + PRINT=["name", "id", "type"] + + def __init__(self, name, id, type, docs): + Metadata.__init__(self) + self.name = name + self.id = id + self.type = type + self.docs = docs + +def get_docs(nd): + return [n.text for n in nd["doc"]] + +def load_fields(nd, l, domains): + for f_nd in nd["field"]: + try: + type = f_nd["@type"] + except KeyError: + type = domains[f_nd["@domain"]] + l.add(Field(f_nd["@name"], f_nd.index(), type, get_docs(f_nd))) + +def load(specfile): + doc = xmlutil.parse(specfile) + root = doc["amqp"][0] + spec = Spec(int(root["@major"]), int(root["@minor"]), specfile) + + # constants + for nd in root["constant"]: + const = Constant(spec, nd["@name"], int(nd["@value"]), nd.get("@class"), + get_docs(nd)) + spec.constants.add(const) + + # domains are typedefs + domains = {} + for nd in root["domain"]: + domains[nd["@name"]] = nd["@type"] + + # classes + for c_nd in root["class"]: + klass = Class(spec, c_nd["@name"], int(c_nd["@index"]), c_nd["@handler"], + get_docs(c_nd)) + load_fields(c_nd, klass.fields, domains) + for m_nd in c_nd["method"]: + meth = Method(klass, m_nd["@name"], + int(m_nd["@index"]), + m_nd.get_bool("@content", False), + [nd["@name"] for nd in m_nd["response"]], + m_nd.get_bool("@synchronous", False), + m_nd.text, + get_docs(m_nd)) + load_fields(m_nd, meth.fields, domains) + klass.methods.add(meth) + # resolve the responses + for m in klass.methods: + m.responses = [klass.methods.byname[r] for r in m.responses] + for resp in m.responses: + resp.response = True + spec.classes.add(klass) + spec.post_load() + return spec + +REPLACE = {" ": "_", "-": "_"} +KEYWORDS = {"global": "global_", + "return": "return_"} + +def pythonize(name): + name = str(name) + for key, val in REPLACE.items(): + name = name.replace(key, val) + try: + name = KEYWORDS[name] + except KeyError: + pass + return name + +def fill(text, indent, heading = None): + sub = indent * " " + if heading: + init = (indent - 2) * " " + heading + " -- " + else: + init = sub + w = textwrap.TextWrapper(initial_indent = init, subsequent_indent = sub) + return w.fill(" ".join(text.split())) + +class Rule(Metadata): + + PRINT = ["text", "implement", "tests"] + + def __init__(self, text, implement, tests, path): + self.text = text + self.implement = implement + self.tests = tests + self.path = path + +def find_rules(node, rules): + if node.name == "rule": + rules.append(Rule(node.text, node.get("@implement"), + [ch.text for ch in node if ch.name == "test"], + node.path())) + if node.name == "doc" and node.get("@name") == "rule": + tests = [] + if node.has("@test"): + tests.append(node["@test"]) + rules.append(Rule(node.text, None, tests, node.path())) + for child in node: + find_rules(child, rules) + +def load_rules(specfile): + rules = [] + find_rules(xmlutil.parse(specfile), rules) + return rules + +def test_summary(): + template = """ + <html><head><title>AMQP Tests</title></head> + <body> + <table width="80%%" align="center"> + %s + </table> + </body> + </html> + """ + rows = [] + for rule in load_rules("amqp.org/specs/amqp7.xml"): + if rule.tests: + tests = ", ".join(rule.tests) + else: + tests = " " + rows.append('<tr bgcolor="#EEEEEE"><td><b>Path:</b> %s</td>' + '<td><b>Implement:</b> %s</td>' + '<td><b>Tests:</b> %s</td></tr>' % + (rule.path[len("/root/amqp"):], rule.implement, tests)) + rows.append('<tr><td colspan="3">%s</td></tr>' % rule.text) + rows.append('<tr><td colspan="3"> </td></tr>') + + print template % "\n".join(rows) diff --git a/python/qpid/testlib.py b/python/qpid/testlib.py new file mode 100644 index 0000000000..ff9ecbee8a --- /dev/null +++ b/python/qpid/testlib.py @@ -0,0 +1,221 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Support library for qpid python tests. +# + +import sys, re, unittest, os, random, logging +import qpid.client, qpid.spec +from getopt import getopt, GetoptError + + +def findmodules(root): + """Find potential python modules under directory root""" + found = [] + for dirpath, subdirs, files in os.walk(root): + modpath = dirpath.replace(os.sep, '.') + if not re.match(r'\.svn$', dirpath): # Avoid SVN directories + for f in files: + match = re.match(r'(.+)\.py$', f) + if match and f != '__init__.py': + found.append('.'.join([modpath, match.group(1)])) + return found + +def default(value, default): + if (value == None): return default + else: return value + +class TestRunner: + """Runs unit tests. + + Parses command line arguments, provides utility functions for tests, + runs the selected test suite. + """ + + def _die(self, message = None): + if message: print message + print """ +run-tests [options] [test*] +The name of a test is package.module.ClassName.testMethod +Options: + -?/-h/--help : this message + -s/--spec <spec.xml> : file containing amqp XML spec + -b/--broker [<user>[/<password>]@]<host>[:<port>] : broker to connect to + -v/--verbose : verbose - lists tests as they are run. + -d/--debug : enable debug logging. + -i/--ignore <test> : ignore the named test. + -I/--ignore-file : file containing patterns to ignore. + """ + sys.exit(1) + + def setBroker(self, broker): + rex = re.compile(r""" + # [ <user> [ / <password> ] @] <host> [ :<port> ] + ^ (?: ([^/]*) (?: / ([^@]*) )? @)? ([^:]+) (?: :([0-9]+))?$""", re.X) + match = rex.match(broker) + if not match: self._die("'%s' is not a valid broker" % (broker)) + self.user, self.password, self.host, self.port = match.groups() + self.port = int(default(self.port, 5672)) + self.user = default(self.user, "guest") + self.password = default(self.password, "guest") + + def __init__(self): + # Defaults + self.setBroker("localhost") + self.spec = "../specs/amqp-8.0.xml" + self.verbose = 1 + self.ignore = [] + + def ignoreFile(self, filename): + f = file(filename) + for line in f.readlines(): self.ignore.append(line.strip()) + f.close() + + def _parseargs(self, args): + try: + opts, self.tests = getopt(args, "s:b:h?dvi:I:", ["help", "spec", "server", "verbose", "ignore", "ignore-file"]) + except GetoptError, e: + self._die(str(e)) + for opt, value in opts: + if opt in ("-?", "-h", "--help"): self._die() + if opt in ("-s", "--spec"): self.spec = value + if opt in ("-b", "--broker"): self.setBroker(value) + if opt in ("-v", "--verbose"): self.verbose = 2 + if opt in ("-d", "--debug"): logging.basicConfig(level=logging.DEBUG) + if opt in ("-i", "--ignore"): self.ignore.append(value) + if opt in ("-I", "--ignore-file"): self.ignoreFile(value) + + if len(self.tests) == 0: self.tests=findmodules("tests") + + def testSuite(self): + class IgnoringTestSuite(unittest.TestSuite): + def addTest(self, test): + if isinstance(test, unittest.TestCase) and test.id() in testrunner.ignore: + return + unittest.TestSuite.addTest(self, test) + + # Use our IgnoringTestSuite in the test loader. + unittest.TestLoader.suiteClass = IgnoringTestSuite + return unittest.defaultTestLoader.loadTestsFromNames(self.tests) + + def run(self, args=sys.argv[1:]): + self._parseargs(args) + runner = unittest.TextTestRunner(descriptions=False, + verbosity=self.verbose) + result = runner.run(self.testSuite()) + if (self.ignore): + print "=======================================" + print "NOTE: the following tests were ignored:" + for t in self.ignore: print t + print "=======================================" + return result.wasSuccessful() + + def connect(self, host=None, port=None, spec=None, user=None, password=None): + """Connect to the broker, returns a qpid.client.Client""" + host = host or self.host + port = port or self.port + spec = spec or self.spec + user = user or self.user + password = password or self.password + client = qpid.client.Client(host, port, qpid.spec.load(spec)) + client.start({"LOGIN": user, "PASSWORD": password}) + return client + + +# Global instance for tests to call connect. +testrunner = TestRunner() + + +class TestBase(unittest.TestCase): + """Base class for Qpid test cases. + + self.client is automatically connected with channel 1 open before + the test methods are run. + + Deletes queues and exchanges after. Tests call + self.queue_declare(channel, ...) and self.exchange_declare(chanel, + ...) which are wrappers for the Channel functions that note + resources to clean up later. + """ + + def setUp(self): + self.queues = [] + self.exchanges = [] + self.client = self.connect() + self.channel = self.client.channel(1) + self.channel.channel_open() + + def tearDown(self): + # TODO aconway 2006-09-05: Wrong behaviour here, we should + # close all open channels (checking for exceptions on the + # channesl) then open a channel to clean up qs and exs, + # finally close that channel. + for ch, q in self.queues: + ch.queue_delete(queue=q) + for ch, ex in self.exchanges: + ch.exchange_delete(exchange=ex) + + def connect(self, *args, **keys): + """Create a new connction, return the Client object""" + return testrunner.connect(*args, **keys) + + def queue_declare(self, channel=None, *args, **keys): + channel = channel or self.channel + reply = channel.queue_declare(*args, **keys) + self.queues.append((channel, reply.queue)) + return reply + + def exchange_declare(self, channel=None, ticket=0, exchange='', + type='', passive=False, durable=False, + auto_delete=False, internal=False, nowait=False, + arguments={}): + channel = channel or self.channel + reply = channel.exchange_declare(ticket, exchange, type, passive, durable, auto_delete, internal, nowait, arguments) + # TODO aconway 2006-09-14: Don't add exchange on failure. + self.exchanges.append((channel,exchange)) + return reply + + def assertPublishConsume(self, queue="", exchange="", routing_key=""): + """ + Publish a message and consume it, assert it comes back intact. + + queue can be a single queue name or a list of queue names. + For a list assert the message appears on all queues. + Crude attempt to make unique messages so we can't consume + a message not really meant for us. + """ + body = "TestMessage("+str(random.randint(999999, 1000000))+")" + self.channel.basic_publish(exchange=exchange, + content=qpid.content.Content(body), + routing_key=routing_key) + if not isinstance(queue, list): queue = [queue] + for q in queue: + reply = self.channel.basic_consume(queue=q, no_ack=True) + msg = self.client.queue(reply.consumer_tag).get(timeout=2) + self.assertEqual(body, msg.content.body) + + + def assertChannelException(self, expectedCode, message): + self.assertEqual(message.method.klass.name, "channel") + self.assertEqual(message.method.name, "close") + self.assertEqual(message.reply_code, expectedCode) + + + def assertConnectionException(self, expectedCode, message): + self.assertEqual(message.method.klass.name, "connection") + self.assertEqual(message.method.name, "close") + self.assertEqual(message.reply_code, expectedCode) + diff --git a/python/qpid/xmlutil.py b/python/qpid/xmlutil.py new file mode 100644 index 0000000000..8f8a7116f5 --- /dev/null +++ b/python/qpid/xmlutil.py @@ -0,0 +1,116 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +XML utilities used by spec.py +""" + +import xml.sax +from xml.sax.handler import ContentHandler + +def parse(file): + doc = Node("root") + xml.sax.parse(file, Builder(doc)) + return doc + +class Node: + + def __init__(self, name, attrs = None, text = None, parent = None): + self.name = name + self.attrs = attrs + self.text = text + self.parent = parent + self.children = [] + if parent != None: + parent.children.append(self) + + def get_bool(self, key, default = False): + v = self.get(key) + if v == None: + return default + else: + return bool(int(v)) + + def index(self): + if self.parent: + return self.parent.children.index(self) + else: + return 0 + + def has(self, key): + try: + result = self[key] + return True + except KeyError: + return False + except IndexError: + return False + + def get(self, key, default = None): + if self.has(key): + return self[key] + else: + return default + + def __getitem__(self, key): + if callable(key): + return filter(key, self.children) + else: + t = key.__class__ + meth = "__get%s__" % t.__name__ + if hasattr(self, meth): + return getattr(self, meth)(key) + else: + raise KeyError(key) + + def __getstr__(self, name): + if name[:1] == "@": + return self.attrs[name[1:]] + else: + return self[lambda nd: nd.name == name] + + def __getint__(self, index): + return self.children[index] + + def __iter__(self): + return iter(self.children) + + def path(self): + if self.parent == None: + return "/%s" % self.name + else: + return "%s/%s" % (self.parent.path(), self.name) + +class Builder(ContentHandler): + + def __init__(self, start = None): + self.node = start + + def __setitem__(self, element, type): + self.types[element] = type + + def startElement(self, name, attrs): + self.node = Node(name, attrs, None, self.node) + + def endElement(self, name): + self.node = self.node.parent + + def characters(self, content): + if self.node.text == None: + self.node.text = content + else: + self.node.text += content + diff --git a/python/rule2test b/python/rule2test new file mode 100755 index 0000000000..b57ea9e24e --- /dev/null +++ b/python/rule2test @@ -0,0 +1,89 @@ +#!/usr/bin/env python + +# +# Convert rules to tests +# +import sys, re, os.path +from getopt import getopt, GetoptError +from string import capitalize +from xml import dom +from xml.dom.minidom import parse + +def camelcase(s): + """Convert 'string like this' to 'StringLikeThis'""" + return "".join([capitalize(w) for w in re.split(re.compile("\W*"), s)]) + +def uncapitalize(s): return s[0].lower()+s[1:] + +def ancestors(node): + "Return iterator of ancestors from top-level element to node" + def generator(node): + while node and node.parentNode: + yield node + node = node.parentNode + return reversed(list(generator(node))) + +def tagAndName(element): + nameAttr = element.getAttribute("name"); + if (nameAttr) : return camelcase(nameAttr) + camelcase(element.tagName) + else: return camelcase(element.tagName) + +def nodeText(n): + """Recursively collect text from all text nodes under n""" + if n.nodeType == dom.Node.TEXT_NODE: + return n.data + if n.childNodes: + return reduce(lambda t, c: t + nodeText(c), n.childNodes, "") + return "" + +def cleanup(docString, level=8): + unindent = re.sub("\n[ \t]*", "\n", docString.strip()) + emptyLines = re.sub("\n\n\n", "\n\n", unindent) + indented = re.sub("\n", "\n"+level*" ", emptyLines) + return level*" " + indented + +def printTest(test, docstring): + print "class %s(TestBase):" % test + print ' """' + print docstring + print ' """' + print + print + +def printTests(doc, module): + """Returns dictionary { classname : [ (methodname, docstring)* ] * }""" + tests = {} + rules = doc.getElementsByTagName("rule") + for r in rules: + path = list(ancestors(r)) + if module == path[1].getAttribute("name").lower(): + test = "".join(map(tagAndName, path[2:])) + "Tests" + docstring = cleanup(nodeText(r), 4) + printTest(test, docstring) + +def usage(message=None): + if message: print >>sys.stderr, message + print >>sys.stderr, """ +rule2test [options] <amqpclass> + +Print test classes for each rule for the amqpclass in amqp.xml. + +Options: + -?/-h/--help : this message + -s/--spec <spec.xml> : file containing amqp XML spec +""" + return 1 + +def main(argv): + try: opts, args = getopt(argv[1:], "h?s:", ["help", "spec="]) + except GetoptError, e: return usage(e) + spec = "../specs/amqp.xml" # Default + for opt, val in opts: + if (opt in ("-h", "-?", "--help")): return usage() + if (opt in ("-s", "--spec")): spec = val + doc = parse(spec) + if len(args) == 0: return usage() + printTests(doc, args[0]) + return 0 + +if (__name__ == "__main__"): sys.exit(main(sys.argv)) diff --git a/python/run-tests b/python/run-tests new file mode 100755 index 0000000000..c49bd32a96 --- /dev/null +++ b/python/run-tests @@ -0,0 +1,24 @@ +#!/usr/bin/env python +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +import sys +from qpid.testlib import testrunner + +if not testrunner.run(): sys.exit(1) + + + diff --git a/python/tests/__init__.py b/python/tests/__init__.py new file mode 100644 index 0000000000..d55ff3fd85 --- /dev/null +++ b/python/tests/__init__.py @@ -0,0 +1 @@ +# Do not delete - marks this directory as a python package. diff --git a/python/tests/basic.py b/python/tests/basic.py new file mode 100644 index 0000000000..b912fc40be --- /dev/null +++ b/python/tests/basic.py @@ -0,0 +1,115 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +from qpid.client import Client, Closed +from qpid.queue import Empty +from qpid.content import Content +from qpid.testlib import testrunner, TestBase + +class BasicTests(TestBase): + """Tests for 'methods' on the amqp basic 'class'""" + + def test_consume_no_local(self): + """ + Test that the no_local flag is honoured in the consume method + """ + channel = self.channel + #setup, declare two queues: + channel.queue_declare(queue="test-queue-1a", exclusive=True) + channel.queue_declare(queue="test-queue-1b", exclusive=True) + #establish two consumers one of which excludes delivery of locally sent messages + channel.basic_consume(consumer_tag="local_included", queue="test-queue-1a") + channel.basic_consume(consumer_tag="local_excluded", queue="test-queue-1b", no_local=True) + + #send a message + channel.basic_publish(exchange="amq.direct", routing_key="test-queue-1a", content=Content("consume_no_local")) + channel.basic_publish(exchange="amq.direct", routing_key="test-queue-1b", content=Content("consume_no_local")) + + #check the queues of the two consumers + excluded = self.client.queue("local_excluded") + included = self.client.queue("local_included") + msg = included.get(timeout=1) + self.assertEqual("consume_no_local", msg.content.body) + try: + excluded.get(timeout=1) + self.fail("Received locally published message though no_local=true") + except Empty: None + + + def test_consume_exclusive(self): + """ + Test that the exclusive flag is honoured in the consume method + """ + channel = self.channel + #setup, declare a queue: + channel.queue_declare(queue="test-queue-2", exclusive=True) + + #check that an exclusive consumer prevents other consumer being created: + channel.basic_consume(consumer_tag="first", queue="test-queue-2", exclusive=True) + try: + channel.basic_consume(consumer_tag="second", queue="test-queue-2") + self.fail("Expected consume request to fail due to previous exclusive consumer") + except Closed, e: + self.assertChannelException(403, e.args[0]) + + #open new channel and cleanup last consumer: + channel = self.client.channel(2) + channel.channel_open() + + #check that an exclusive consumer cannot be created if a consumer already exists: + channel.basic_consume(consumer_tag="first", queue="test-queue-2") + try: + channel.basic_consume(consumer_tag="second", queue="test-queue-2", exclusive=True) + self.fail("Expected exclusive consume request to fail due to previous consumer") + except Closed, e: + self.assertChannelException(403, e.args[0]) + + def test_consume_queue_errors(self): + """ + Test error conditions associated with the queue field of the consume method: + """ + channel = self.channel + try: + #queue specified but doesn't exist: + channel.basic_consume(queue="invalid-queue") + self.fail("Expected failure when consuming from non-existent queue") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + channel = self.client.channel(2) + channel.channel_open() + try: + #queue not specified and none previously declared for channel: + channel.basic_consume(queue="") + self.fail("Expected failure when consuming from unspecified queue") + except Closed, e: + self.assertConnectionException(530, e.args[0]) + + def test_consume_unique_consumers(self): + """ + Ensure unique consumer tags are enforced + """ + channel = self.channel + #setup, declare a queue: + channel.queue_declare(queue="test-queue-3", exclusive=True) + + #check that attempts to use duplicate tags are detected and prevented: + channel.basic_consume(consumer_tag="first", queue="test-queue-3") + try: + channel.basic_consume(consumer_tag="first", queue="test-queue-3") + self.fail("Expected consume request to fail due to non-unique tag") + except Closed, e: + self.assertConnectionException(530, e.args[0]) + diff --git a/python/tests/broker.py b/python/tests/broker.py new file mode 100644 index 0000000000..1345076604 --- /dev/null +++ b/python/tests/broker.py @@ -0,0 +1,84 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +from qpid.queue import Empty +from qpid.content import Content +from qpid.testlib import testrunner, TestBase + +class BrokerTests(TestBase): + """Tests for basic Broker functionality""" + + def test_amqp_basic_13(self): + """ + First, this test tries to receive a message with a no-ack + consumer. Second, this test tries to explicitely receive and + acknowledge a message with an acknowledging consumer. + """ + ch = self.channel + self.queue_declare(ch, queue = "myqueue") + + # No ack consumer + ctag = ch.basic_consume(queue = "myqueue", no_ack = True).consumer_tag + body = "test no-ack" + ch.basic_publish(routing_key = "myqueue", content = Content(body)) + msg = self.client.queue(ctag).get(timeout = 5) + self.assert_(msg.content.body == body) + + # Acknowleding consumer + self.queue_declare(ch, queue = "otherqueue") + ctag = ch.basic_consume(queue = "otherqueue", no_ack = False).consumer_tag + body = "test ack" + ch.basic_publish(routing_key = "otherqueue", content = Content(body)) + msg = self.client.queue(ctag).get(timeout = 5) + ch.basic_ack(delivery_tag = msg.delivery_tag) + self.assert_(msg.content.body == body) + + # TODO: Ensure we get a failure if an ack consumer doesn't ack. + + def test_basic_delivery_immediate(self): + """ + Test basic message delivery where consume is issued before publish + """ + channel = self.channel + self.exchange_declare(channel, exchange="test-exchange", type="direct") + self.queue_declare(channel, queue="test-queue") + channel.queue_bind(queue="test-queue", exchange="test-exchange", routing_key="key") + reply = channel.basic_consume(queue="test-queue", no_ack=True) + queue = self.client.queue(reply.consumer_tag) + + body = "Immediate Delivery" + channel.basic_publish(exchange="test-exchange", routing_key="key", content=Content(body), immediate=True) + msg = queue.get(timeout=5) + self.assert_(msg.content.body == body) + + # TODO: Ensure we fail if immediate=True and there's no consumer. + + + def test_basic_delivery_queued(self): + """ + Test basic message delivery where publish is issued before consume + (i.e. requires queueing of the message) + """ + channel = self.channel + self.exchange_declare(channel, exchange="test-exchange", type="direct") + self.queue_declare(channel, queue="test-queue") + channel.queue_bind(queue="test-queue", exchange="test-exchange", routing_key="key") + body = "Queued Delivery" + channel.basic_publish(exchange="test-exchange", routing_key="key", content=Content(body)) + reply = channel.basic_consume(queue="test-queue", no_ack=True) + queue = self.client.queue(reply.consumer_tag) + msg = queue.get(timeout=5) + self.assert_(msg.content.body == body) + diff --git a/python/tests/example.py b/python/tests/example.py new file mode 100644 index 0000000000..47d07fe9c5 --- /dev/null +++ b/python/tests/example.py @@ -0,0 +1,91 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +from qpid.content import Content +from qpid.testlib import testrunner, TestBase + +class ExampleTest (TestBase): + """ + An example Qpid test, illustrating the unittest frameowkr and the + python Qpid client. The test class must inherit TestCase. The + test code uses the Qpid client to interact with a qpid broker and + verify it behaves as expected. + """ + + def test_example(self): + """ + An example test. Note that test functions must start with 'test_' + to be recognized by the test framework. + """ + + # By inheriting TestBase, self.client is automatically connected + # and self.channel is automatically opened as channel(1) + # Other channel methods mimic the protocol. + channel = self.channel + + # Now we can send regular commands. If you want to see what the method + # arguments mean or what other commands are available, you can use the + # python builtin help() method. For example: + #help(chan) + #help(chan.exchange_declare) + + # If you want browse the available protocol methods without being + # connected to a live server you can use the amqp-doc utility: + # + # Usage amqp-doc [<options>] <spec> [<pattern_1> ... <pattern_n>] + # + # Options: + # -e, --regexp use regex instead of glob when matching + + # Now that we know what commands are available we can use them to + # interact with the server. + + # Here we use ordinal arguments. + self.exchange_declare(channel, 0, "test", "direct") + + # Here we use keyword arguments. + self.queue_declare(channel, queue="test-queue") + channel.queue_bind(queue="test-queue", exchange="test", routing_key="key") + + # Call Channel.basic_consume to register as a consumer. + # All the protocol methods return a message object. The message object + # has fields corresponding to the reply method fields, plus a content + # field that is filled if the reply includes content. In this case the + # interesting field is the consumer_tag. + reply = channel.basic_consume(queue="test-queue") + + # We can use the Client.queue(...) method to access the queue + # corresponding to our consumer_tag. + queue = self.client.queue(reply.consumer_tag) + + # Now lets publish a message and see if our consumer gets it. To do + # this we need to import the Content class. + body = "Hello World!" + channel.basic_publish(exchange="test", + routing_key="key", + content=Content(body)) + + # Now we'll wait for the message to arrive. We can use the timeout + # argument in case the server hangs. By default queue.get() will wait + # until a message arrives or the connection to the server dies. + msg = queue.get(timeout=10) + + # And check that we got the right response with assertEqual + self.assertEqual(body, msg.content.body) + + # Now acknowledge the message. + channel.basic_ack(msg.delivery_tag, True) + diff --git a/python/tests/exchange.py b/python/tests/exchange.py new file mode 100644 index 0000000000..b9b16bad78 --- /dev/null +++ b/python/tests/exchange.py @@ -0,0 +1,234 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +""" +Tests for exchange behaviour. + +Test classes ending in 'RuleTests' are derived from rules in amqp.xml. +""" + +import logging, Queue +from qpid.testlib import TestBase +from qpid.content import Content + + +# TODO aconway 2006-09-01: Investigate and add tests as appropriate. +# Observered on C++: +# +# No exception raised for basic_consume on non-existent queue name. +# No exception for basic_publish with bad routing key. +# No exception for binding to non-existent exchange? +# queue_bind hangs with invalid exchange name +# +# Do server exceptions get propagated properly? +# Do Java exceptions propagate with any data (or just Closed()) + +class StandardExchangeVerifier: + """Verifies standard exchange behavior. + + Used as base class for classes that test standard exchanges.""" + + def verifyDirectExchange(self, ex): + """Verify that ex behaves like a direct exchange.""" + self.queue_declare(queue="q") + self.channel.queue_bind(queue="q", exchange=ex, routing_key="k") + self.assertPublishConsume(exchange=ex, queue="q", routing_key="k") + try: + self.assertPublishConsume(exchange=ex, queue="q", routing_key="kk") + self.fail("Expected Empty exception") + except Queue.Empty: None # Expected + + def verifyFanOutExchange(self, ex): + """Verify that ex behaves like a fanout exchange.""" + self.queue_declare(queue="q") + self.channel.queue_bind(queue="q", exchange=ex) + self.queue_declare(queue="p") + self.channel.queue_bind(queue="p", exchange=ex) + self.assertPublishConsume(exchange=ex, queue=["q","p"]) + + +class RecommendedTypesRuleTests(TestBase, StandardExchangeVerifier): + """ + The server SHOULD implement these standard exchange types: topic, headers. + + Client attempts to declare an exchange with each of these standard types. + """ + + def testDirect(self): + """Declare and test a direct exchange""" + self.exchange_declare(0, exchange="d", type="direct") + self.verifyDirectExchange("d") + + def testFanout(self): + """Declare and test a fanout exchange""" + self.exchange_declare(0, exchange="f", type="fanout") + self.verifyFanOutExchange("f") + + +class RequiredInstancesRuleTests(TestBase, StandardExchangeVerifier): + """ + The server MUST, in each virtual host, pre-declare an exchange instance + for each standard exchange type that it implements, where the name of the + exchange instance is amq. followed by the exchange type name. + + Client creates a temporary queue and attempts to bind to each required + exchange instance (amq.fanout, amq.direct, and amq.topic, amq.headers if + those types are defined). + """ + # TODO aconway 2006-09-01: Add tests for 3.1.3.1: + # - Test auto binding by q name + # - Test the nameless "default publish" exchange. + # - Auto created amq.fanout exchange + + def testAmqDirect(self): self.verifyDirectExchange("amq.direct") + + def testAmqFanOut(self): self.verifyFanOutExchange("amq.fanout") + + def testAmqTopic(self): + self.exchange_declare(0, exchange="amq.topic", passive="true") + # TODO aconway 2006-09-14: verify topic behavior + + def testAmqHeaders(self): + self.exchange_declare(0, exchange="amq.headers", passive="true") + # TODO aconway 2006-09-14: verify headers behavior + +class DefaultExchangeRuleTests(TestBase): + """ + The server MUST predeclare a direct exchange to act as the default exchange + for content Publish methods and for default queue bindings. + + Client checks that the default exchange is active by specifying a queue + binding with no exchange name, and publishing a message with a suitable + routing key but without specifying the exchange name, then ensuring that + the message arrives in the queue correctly. + """ + + +class DefaultAccessRuleTests(TestBase): + """ + The server MUST NOT allow clients to access the default exchange except + by specifying an empty exchange name in the Queue.Bind and content Publish + methods. + """ + + +class ExtensionsRuleTests(TestBase): + """ + The server MAY implement other exchange types as wanted. + """ + + +class DeclareMethodMinimumRuleTests(TestBase): + """ + The server SHOULD support a minimum of 16 exchanges per virtual host and + ideally, impose no limit except as defined by available resources. + + The client creates as many exchanges as it can until the server reports + an error; the number of exchanges successfuly created must be at least + sixteen. + """ + + +class DeclareMethodTicketFieldValidityRuleTests(TestBase): + """ + The client MUST provide a valid access ticket giving "active" access to + the realm in which the exchange exists or will be created, or "passive" + access if the if-exists flag is set. + + Client creates access ticket with wrong access rights and attempts to use + in this method. + """ + + +class DeclareMethodExchangeFieldReservedRuleTests(TestBase): + """ + Exchange names starting with "amq." are reserved for predeclared and + standardised exchanges. The client MUST NOT attempt to create an exchange + starting with "amq.". + + + """ + + +class DeclareMethodTypeFieldTypedRuleTests(TestBase): + """ + Exchanges cannot be redeclared with different types. The client MUST not + attempt to redeclare an existing exchange with a different type than used + in the original Exchange.Declare method. + + + """ + + +class DeclareMethodTypeFieldSupportRuleTests(TestBase): + """ + The client MUST NOT attempt to create an exchange with a type that the + server does not support. + + + """ + + +class DeclareMethodPassiveFieldNotFoundRuleTests(TestBase): + """ + If set, and the exchange does not already exist, the server MUST raise a + channel exception with reply code 404 (not found). + + + """ + + +class DeclareMethodDurableFieldSupportRuleTests(TestBase): + """ + The server MUST support both durable and transient exchanges. + + + """ + + +class DeclareMethodDurableFieldStickyRuleTests(TestBase): + """ + The server MUST ignore the durable field if the exchange already exists. + + + """ + + +class DeclareMethodAutoDeleteFieldStickyRuleTests(TestBase): + """ + The server MUST ignore the auto-delete field if the exchange already + exists. + + + """ + + +class DeleteMethodTicketFieldValidityRuleTests(TestBase): + """ + The client MUST provide a valid access ticket giving "active" access + rights to the exchange's access realm. + + Client creates access ticket with wrong access rights and attempts to use + in this method. + """ + + +class DeleteMethodExchangeFieldExistsRuleTests(TestBase): + """ + The client MUST NOT attempt to delete an exchange that does not exist. + """ + + diff --git a/python/tests/queue.py b/python/tests/queue.py new file mode 100644 index 0000000000..92260a7d64 --- /dev/null +++ b/python/tests/queue.py @@ -0,0 +1,254 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +from qpid.client import Client, Closed +from qpid.queue import Empty +from qpid.content import Content +from qpid.testlib import testrunner, TestBase + +class QueueTests(TestBase): + """Tests for 'methods' on the amqp queue 'class'""" + + def test_purge(self): + """ + Test that the purge method removes messages from the queue + """ + channel = self.channel + #setup, declare a queue and add some messages to it: + channel.exchange_declare(exchange="test-exchange", type="direct") + channel.queue_declare(queue="test-queue", exclusive=True) + channel.queue_bind(queue="test-queue", exchange="test-exchange", routing_key="key") + channel.basic_publish(exchange="test-exchange", routing_key="key", content=Content("one")) + channel.basic_publish(exchange="test-exchange", routing_key="key", content=Content("two")) + channel.basic_publish(exchange="test-exchange", routing_key="key", content=Content("three")) + + #check that the queue now reports 3 messages: + reply = channel.queue_declare(queue="test-queue") + self.assertEqual(3, reply.message_count) + + #now do the purge, then test that three messages are purged and the count drops to 0 + reply = channel.queue_purge(queue="test-queue"); + self.assertEqual(3, reply.message_count) + reply = channel.queue_declare(queue="test-queue") + self.assertEqual(0, reply.message_count) + + #send a further message and consume it, ensuring that the other messages are really gone + channel.basic_publish(exchange="test-exchange", routing_key="key", content=Content("four")) + reply = channel.basic_consume(queue="test-queue", no_ack=True) + queue = self.client.queue(reply.consumer_tag) + msg = queue.get(timeout=1) + self.assertEqual("four", msg.content.body) + + #check error conditions (use new channels): + channel = self.client.channel(2) + channel.channel_open() + try: + #queue specified but doesn't exist: + channel.queue_purge(queue="invalid-queue") + self.fail("Expected failure when purging non-existent queue") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + channel = self.client.channel(3) + channel.channel_open() + try: + #queue not specified and none previously declared for channel: + channel.queue_purge() + self.fail("Expected failure when purging unspecified queue") + except Closed, e: + self.assertConnectionException(530, e.args[0]) + + #cleanup + channel = self.client.channel(4) + channel.channel_open() + channel.exchange_delete(exchange="test-exchange") + + def test_declare_exclusive(self): + """ + Test that the exclusive field is honoured in queue.declare + """ + # TestBase.setUp has already opened channel(1) + c1 = self.channel + # Here we open a second separate connection: + other = self.connect() + c2 = other.channel(1) + c2.channel_open() + + #declare an exclusive queue: + c1.queue_declare(queue="exclusive-queue", exclusive="True") + try: + #other connection should not be allowed to declare this: + c2.queue_declare(queue="exclusive-queue", exclusive="True") + self.fail("Expected second exclusive queue_declare to raise a channel exception") + except Closed, e: + self.assertChannelException(405, e.args[0]) + + + def test_declare_passive(self): + """ + Test that the passive field is honoured in queue.declare + """ + channel = self.channel + #declare an exclusive queue: + channel.queue_declare(queue="passive-queue-1", exclusive="True") + channel.queue_declare(queue="passive-queue-1", passive="True") + try: + #other connection should not be allowed to declare this: + channel.queue_declare(queue="passive-queue-2", passive="True") + self.fail("Expected passive declaration of non-existant queue to raise a channel exception") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + + def test_bind(self): + """ + Test various permutations of the queue.bind method + """ + channel = self.channel + channel.queue_declare(queue="queue-1", exclusive="True") + + #straightforward case, both exchange & queue exist so no errors expected: + channel.queue_bind(queue="queue-1", exchange="amq.direct", routing_key="key1") + + #bind the default queue for the channel (i.e. last one declared): + channel.queue_bind(exchange="amq.direct", routing_key="key2") + + #use the queue name where neither routing key nor queue are specified: + channel.queue_bind(exchange="amq.direct") + + #try and bind to non-existant exchange + try: + channel.queue_bind(queue="queue-1", exchange="an-invalid-exchange", routing_key="key1") + self.fail("Expected bind to non-existant exchange to fail") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + #need to reopen a channel: + channel = self.client.channel(2) + channel.channel_open() + + #try and bind non-existant queue: + try: + channel.queue_bind(queue="queue-2", exchange="amq.direct", routing_key="key1") + self.fail("Expected bind of non-existant queue to fail") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + + def test_delete_simple(self): + """ + Test basic queue deletion + """ + channel = self.client.channel(1) + channel.channel_open() + + #straight-forward case: + channel.queue_declare(queue="delete-me") + channel.basic_publish(exchange="amq.direct", routing_key="delete-me", content=Content("a")) + channel.basic_publish(exchange="amq.direct", routing_key="delete-me", content=Content("b")) + channel.basic_publish(exchange="amq.direct", routing_key="delete-me", content=Content("c")) + reply = channel.queue_delete(queue="delete-me") + self.assertEqual(3, reply.message_count) + #check that it has gone be declaring passively + try: + channel.queue_declare(queue="delete-me", passive="True") + self.fail("Queue has not been deleted") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + #check attempted deletion of non-existant queue is handled correctly: + channel = self.client.channel(2) + channel.channel_open() + try: + channel.queue_delete(queue="i-dont-exist", if_empty="True") + self.fail("Expected delete of non-existant queue to fail") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + + + def test_delete_ifempty(self): + """ + Test that if_empty field of queue_delete is honoured + """ + channel = self.client.channel(1) + channel.channel_open() + + #create a queue and add a message to it (use default binding): + channel.queue_declare(queue="delete-me-2") + channel.queue_declare(queue="delete-me-2", passive="True") + channel.basic_publish(exchange="amq.direct", routing_key="delete-me-2", content=Content("message")) + + #try to delete, but only if empty: + try: + channel.queue_delete(queue="delete-me-2", if_empty="True") + self.fail("Expected delete if_empty to fail for non-empty queue") + except Closed, e: + self.assertChannelException(406, e.args[0]) + + #need new channel now: + channel = self.client.channel(2) + channel.channel_open() + + #empty queue: + reply = channel.basic_consume(queue="delete-me-2", no_ack=True) + queue = self.client.queue(reply.consumer_tag) + msg = queue.get(timeout=1) + self.assertEqual("message", msg.content.body) + channel.basic_cancel(consumer_tag=reply.consumer_tag) + + #retry deletion on empty queue: + channel.queue_delete(queue="delete-me-2", if_empty="True") + + #check that it has gone by declaring passively: + try: + channel.queue_declare(queue="delete-me-2", passive="True") + self.fail("Queue has not been deleted") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + def test_delete_ifunused(self): + """ + Test that if_unused field of queue_delete is honoured + """ + channel = self.client.channel(1) + channel.channel_open() + + #create a queue and register a consumer: + channel.queue_declare(queue="delete-me-3") + channel.queue_declare(queue="delete-me-3", passive="True") + reply = channel.basic_consume(queue="delete-me-3", no_ack=True) + + #need new channel now: + channel2 = self.client.channel(2) + channel2.channel_open() + #try to delete, but only if empty: + try: + channel2.queue_delete(queue="delete-me-3", if_unused="True") + self.fail("Expected delete if_unused to fail for queue with existing consumer") + except Closed, e: + self.assertChannelException(406, e.args[0]) + + + channel.basic_cancel(consumer_tag=reply.consumer_tag) + channel.queue_delete(queue="delete-me-3", if_unused="True") + #check that it has gone by declaring passively: + try: + channel.queue_declare(queue="delete-me-3", passive="True") + self.fail("Queue has not been deleted") + except Closed, e: + self.assertChannelException(404, e.args[0]) + + diff --git a/ruby/client.rb b/ruby/client.rb new file mode 100644 index 0000000000..f8535dca6f --- /dev/null +++ b/ruby/client.rb @@ -0,0 +1,106 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require "peer" +require "thread" +require "queue" + +module Qpid + + class Client + def initialize(host, port, spec, vhost = nil) + @host = host + @port = port + @spec = spec + @vhost = if vhost.nil?; host else vhost end + + @mechanism = nil + @response = nil + @locale = nil + + @queues = {} + @mutex = Mutex.new() + + @closed = false + @started = ConditionVariable.new() + + @conn = Connection.new(@host, @port, @spec) + @peer = Peer.new(@conn, ClientDelegate.new(self)) + end + + attr_reader :mechanism, :response, :locale + + def closed?; @closed end + + def wait() + @mutex.synchronize do + @started.wait(@mutex) + end + raise EOFError.new() if closed? + end + + def signal_start() + @started.broadcast() + end + + def queue(key) + @mutex.synchronize do + q = @queues[key] + if q.nil? + q = Queue.new() + @queues[key] = q + end + return q + end + end + + def start(response, mechanism="AMQPLAIN", locale="en_US") + @response = response + @mechanism = mechanism + @locale = locale + + @conn.connect() + @conn.init() + @peer.start() + wait() + channel(0).connection_open(@vhost) + end + + def channel(id) + return @peer.channel(id) + end + end + + class ClientDelegate + include Delegate + + def initialize(client) + @client = client + end + + def connection_start(ch, msg) + ch.connection_start_ok(:mechanism => @client.mechanism, + :response => @client.response, + :locale => @client.locale) + end + + def connection_tune(ch, msg) + ch.connection_tune_ok(*msg.fields) + @client.signal_start() + end + end + +end diff --git a/ruby/codec.rb b/ruby/codec.rb new file mode 100644 index 0000000000..e5f3c846fc --- /dev/null +++ b/ruby/codec.rb @@ -0,0 +1,253 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +module Codec + # is there a better way to do this? + class StringWriter + + def initialize(str = "") + @str = str + end + + def write(value) + @str << value + end + + def to_s() + return @str + end + + end + + class EOF < Exception; end + + class Encoder + + def initialize(out) + @out = out + @bits = [] + end + + attr_reader(:out) + + def encode(type, value) + send(type, value) + end + + def bit(b) + @bits << b + end + + def octet(o) + pack("C", o) + end + + def short(s) + pack("n", s) + end + + def long(l) + pack("N", l) + end + + def longlong(l) + # is this the right byte order? + lower = l & 0xffffffff + upper = (l & ~0xffffffff) >> 32 + long(lower) + long(upper) + end + + def shortstr(s) + # shortstr is actually octetstr + octet(s.length) + write(s) + end + + def longstr(s) + case s + when Hash + table(s) + else + long(s.length) + write(s) + end + end + + def table(t) + t = {} if t.nil? + enc = Encoder.new(StringWriter.new()) + t.each {|key, value| + enc.shortstr(key) + # I offer this chicken to the gods of polymorphism. May they + # choke on it. + case value + when String + type = :longstr + desc = "S" + when Numeric + type = :long + desc = "I" + else + raise Exception.new("unknown table value: #{value.class}") + end + enc.write(desc) + enc.encode(type, value) + } + longstr(enc.out.to_s()) + end + + def write(str) + flushbits() + @out.write(str) + end + + def pack(fmt, *args) + write(args.pack(fmt)) + end + + def flush() + flushbits() + end + + private + + def flushbits() + if @bits.empty? then return end + + bytes = [] + index = 0 + @bits.each {|b| + bytes << 0 if index == 0 + if b then bytes[-1] |= 1 << index end + index = (index + 1) % 8 + } + @bits.clear() + bytes.each {|b| + octet(b) + } + end + + end + + class StringReader + + def initialize(str) + @str = str + @index = 0 + end + + def read(n) + result = @str[@index, n] + @index += result.length + return result + end + + end + + class Decoder + + def initialize(_in) + @in = _in + @bits = [] + end + + def decode(type) + return send(type) + end + + def bit() + if @bits.empty? + byte = octet() + 7.downto(0) {|i| + @bits << (byte[i] == 1) + } + end + return @bits.pop() + end + + def octet() + return unpack("C", 1) + end + + def short() + return unpack("n", 2) + end + + def long() + return unpack("N", 4) + end + + def longlong() + upper = long() + lower = long() + return upper << 32 | lower + end + + def shortstr() + # shortstr is actually octetstr + return read(octet()) + end + + def longstr() + return read(long()) + end + + def table() + dec = Decoder.new(StringReader.new(longstr())) + result = {} + while true + begin + key = dec.shortstr() + rescue EOF + break + end + desc = dec.read(1) + case desc + when "S" + value = dec.longstr() + when "I" + value = dec.long() + else + raise Exception.new("unrecognized descriminator: #{desc.inspect()}") + end + result[key] = value + end + return result + end + + def read(n) + return "" if n == 0 + result = @in.read(n) + if result.nil? or result.empty? + raise EOF.new() + else + return result + end + end + + def unpack(fmt, size) + result = read(size).unpack(fmt) + if result.length == 1 + return result[0] + else + return result + end + end + + end + +end diff --git a/ruby/connection.rb b/ruby/connection.rb new file mode 100644 index 0000000000..4c5e54cb32 --- /dev/null +++ b/ruby/connection.rb @@ -0,0 +1,142 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require "socket" +require "codec" + +include Codec + +module Qpid + + class Connection + + def initialize(host, port, spec) + @host = host + @port = port + @spec = spec + end + + attr_reader(:host, :port, :spec) + + def connect() + @sock = TCPSocket.open(@host, @port) + @out = Encoder.new(@sock) + @in = Decoder.new(@sock) + end + + def init() + @out.write("AMQP") + [1, 1, @spec.major, @spec.minor].each {|o| + @out.octet(o) + } + end + + def write(frame) + @out.octet(@spec.constants[frame.payload.type].id) + @out.short(frame.channel) + frame.payload.encode(@out) + @out.octet(frame_end) + end + + def read() + type = @spec.constants[@in.octet()].name + channel = @in.short() + payload = Payload.decode(type, @spec, @in) + oct = @in.octet() + if oct != frame_end + raise Exception.new("framing error: expected #{frame_end}, got #{oct}") + end + Frame.new(channel, payload) + end + + private + + def frame_end + @spec.constants[:"frame end"].id + end + + end + + class Frame + + def initialize(channel, payload) + @channel = channel + @payload = payload + end + + attr_reader(:channel, :payload) + + end + + class Payload + + TYPES = {} + + def Payload.singleton_method_added(name) + if name == :type + TYPES[type] = self + end + end + + def Payload.decode(type, spec, dec) + klass = TYPES[type] + klass.decode(spec, dec) + end + + end + + class Method < Payload + + def initialize(method, args) + if args.size != method.fields.size + raise ArgumentError.new("argument mismatch #{method} #{args}") + end + @method = method + @args = args + end + + attr_reader(:method, :args) + + def Method.type + :"frame method" + end + + def type; Method.type end + + def encode(encoder) + buf = StringWriter.new() + enc = Encoder.new(buf) + enc.short(@method.parent.id) + enc.short(@method.id) + @method.fields.zip(self.args).each {|f, a| + enc.encode(f.type, a) + } + enc.flush() + encoder.longstr(buf.to_s) + end + + def Method.decode(spec, decoder) + buf = decoder.longstr() + dec = Decoder.new(StringReader.new(buf)) + klass = spec.classes[dec.short()] + meth = klass.methods[dec.short()] + args = meth.fields.map {|f| dec.decode(f.type)} + return Method.new(meth, args) + end + + end + +end diff --git a/ruby/diff.rb b/ruby/diff.rb new file mode 100644 index 0000000000..38f96f827d --- /dev/null +++ b/ruby/diff.rb @@ -0,0 +1,57 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require "spec" + +spec = Spec.load(File.new($*[0])) + +class Symbol + def <=>(sym) + to_s <=> sym.to_s + end +end + +def diff(classes) + sets = classes.map {|c| yield(c).to_set} + common = sets[0] + sets[1..-1].each {|s| + common = common & s + } + + sep = "\n " + + puts "Common:\n #{common.to_a.sort.join(sep)}" + classes.zip(sets).each {|c, s| + specific = (s - common).to_a.sort + puts "\n#{c.name}:\n #{specific.join(sep)}" + } +end + +classes = $*[1..-1].map {|c| + spec.classes[c] +} + +diff(classes) {|c| + result = [] + c.methods.each {|m| m.fields.each {|f| result << :"#{m.name}.#{f.name}"}} + result +} + +puts + +diff(classes) {|c| + c.fields.map {|f| f.name} +} diff --git a/ruby/fields.rb b/ruby/fields.rb new file mode 100644 index 0000000000..c46ba645ee --- /dev/null +++ b/ruby/fields.rb @@ -0,0 +1,46 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +class Class + def fields(*fields) + module_eval { + def initialize(*args, &block) + args = init_fields(*args) + + if respond_to? :init + init(*args) {|*a| yield(*a)} + elsif args.any? + raise ArgumentException.new("extra arguments: #{args}") + end + end + } + + vars = fields.map {|f| :"@#{f.to_s().chomp("?")}"} + + define_method(:init_fields) {|*args| + vars.each {|v| + instance_variable_set(v, args.shift()) + } + args + } + + vars.each_index {|i| + define_method(fields[i]) { + instance_variable_get(vars[i]) + } + } + end +end diff --git a/ruby/peer.rb b/ruby/peer.rb new file mode 100644 index 0000000000..c1bd49f125 --- /dev/null +++ b/ruby/peer.rb @@ -0,0 +1,246 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require "thread" +require "queue" +require "connection" +require "fields" + +module Qpid + + class Peer + + def initialize(conn, delegate) + @conn = conn + @delegate = delegate + @outgoing = Queue.new() + @work = Queue.new() + @channels = {} + @mutex = Mutex.new() + end + + def channel(id) + @mutex.synchronize do + ch = @channels[id] + if ch.nil? + ch = Channel.new(id, @outgoing, @conn.spec) + @channels[id] = ch + end + return ch + end + end + + def start() + spawn(:writer) + spawn(:reader) + spawn(:worker) + end + + private + + def spawn(method, *args) + Thread.new do + begin + send(method, *args) + # is this the standard way to catch any exception? + rescue Object => e + print e + e.backtrace.each do |line| + print "\n ", line + end + print "\n" + end + end + end + + def reader() + while true + frame = @conn.read() + ch = channel(frame.channel) + ch.dispatch(frame, @work) + end + end + + def writer() + while true + @conn.write(@outgoing.pop()) + end + end + + def worker() + while true + dispatch(@work.pop()) + end + end + + def dispatch(queue) + frame = queue.pop() + ch = channel(frame.channel) + payload = frame.payload + if payload.method.content? + content = read_content(queue) + else + content = nil + end + + message = Message.new(payload.method, payload.args, content) + @delegate.dispatch(ch, message) + end + + end + + class Channel + def initialize(id, outgoing, spec) + @id = id + @outgoing = outgoing + @spec = spec + @incoming = Queue.new() + @responses = Queue.new() + @queue = nil + @closed = false + @reason = nil + end + + def closed?; @closed end + + def close(reason) + return if closed? + @closed = true + @reason = reason + @incoming.close() + @responses .close() + end + + def dispatch(frame, work) + payload = frame.payload + case payload + when Method + if payload.method.response? + @queue = @responses + else + @queue = @incoming + work << @incoming + end + end + @queue << frame + end + + def method_missing(name, *args) + method = @spec.ruby_method(name) + if method.nil? + raise NoMethodError.new("undefined method '#{name}' for #{self}:#{self.class}") + end + + if args.size == 1 and args[0].instance_of? Hash + kwargs = args[0] + invoke_args = method.fields.map do |f| + kwargs[f.ruby_name] + end + content = kwargs[:content] + else + invoke_args = [] + method.fields.each do |f| + if args.any? + invoke_args << args.shift() + else + invoke_args << f.default + end + end + if method.content? and args.any? + content = args.shift() + else + content = nil + end + if args.any? then raise ArgumentError.new("#{args.size} extr arguments") end + end + return invoke(method, invoke_args, content) + end + + def invoke(method, args, content = nil) + raise Closed(@reason) if closed? + frame = Frame.new(@id, Method.new(method, args)) + @outgoing << frame + + if method.content? + content = Content.new() if content.nil? + write_content(method.klass, content, @outgoing) + end + + nowait = false + f = method.fields[:"nowait"] + nowait = args[method.fields.index(f)] unless f.nil? + + unless nowait or method.responses.empty? + resp = @responses.pop().payload + if resp.method.content? + content = read_content(@responses) + else + content = nil + end + if method.responses.include? resp.method + return Message.new(resp.method, resp.args, content) + else + # XXX: ValueError doesn't actually exist + raise ValueError.new(resp) + end + end + end + + def write_content(klass, content, queue) + size = content.size + header = Frame.new(@id, Header.new(klass, content.weight, size)) + queue << header + content.children.each {|child| write_content(klass, child, queue)} + queue << Frame.new(@id, Body.new(content.body)) if size > 0 + end + + end + + def read_content(queue) + frame = queue.pop() + header = frame.payload + children = [] + 1.upto(header.weight) { children << read_content(queue) } + size = header.size + read = 0 + buf = "" + while read << size + body = queue.get() + content = body.payload.content + buf << content + read += content.size + end + buf.freeze() + return Content.new(buf, children, header.properties.clone()) + end + + class Message + fields(:method, :args, :content) + + alias fields args + + def inspect() + "#{method.ruby_name}(#{args.join(", ")})" + end + end + + module Delegate + def dispatch(ch, msg) + send(msg.method.ruby_name, ch, msg) + end + end + +end diff --git a/ruby/queue.rb b/ruby/queue.rb new file mode 100644 index 0000000000..037ecd25b7 --- /dev/null +++ b/ruby/queue.rb @@ -0,0 +1,49 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require "thread" + +module Qpid + + class Closed < Exception; end + + class Queue < Queue + + @@END = Object.new() + + def close() + # sentinal to indicate the end of the queue + self << @@END + end + + def pop(*args) + result = super(*args) + if @@END.equal? result + # we put another sentinal on the end in case there are + # subsequent calls to pop by this or other threads + self << @@END + raise Closed.new() + else + return result + end + end + + alias shift pop + alias deq pop + + end + +end diff --git a/ruby/spec.rb b/ruby/spec.rb new file mode 100644 index 0000000000..ad04a4a91f --- /dev/null +++ b/ruby/spec.rb @@ -0,0 +1,291 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require "rexml/document" +require "set" +require "fields" +require "traverse" +require "delegate" + +module Spec + + include REXML + + class Container < Array + + def initialize() + @cache = {} + end + + def [](key) + return @cache[key] if @cache.include?(key) + + case key + when String + value = find {|x| x.name == key.intern()} + when Symbol + value = find {|x| x.name == key} + when Integer + value = find {|x| x.id == key} + else + raise Exception.new("invalid key: #{key}") + end + + @cache[key] = value + return value + end + + end + + class Root + fields(:major, :minor, :classes, :constants, :domains) + + def ruby_method(name) + classes.each do |c| + c.methods.each do |m| + if name == m.ruby_name + return m + end + end + end + end + end + + class Constant + fields(:name, :id, :type, :docs) + end + + class Domain + fields(:name, :type) + end + + class Class + fields(:name, :id, :handler, :fields, :methods, :docs) + end + + class Method + fields(:name, :id, :content?, :responses, :synchronous?, :fields, + :docs) + + def init() + @response = false + end + + attr :parent, true + + def response?; @response end + def response=(b); @response = b end + + def ruby_name + Spec.rubyize(:"#{parent.name}_#{name}") + end + end + + class Field + fields(:name, :id, :type, :docs) + + def ruby_name + Spec.rubyize(name) + end + + def default + case type + when :bit then false + when :octet, :short, :long, :longlong then 0 + when :shortstr, :longstr then "" + when :table then {} + end + end + + end + + class Doc + fields(:type, :text) + end + + class Reference + + fields(:name) + + def init(&block) + @resolver = block + end + + def resolve(spec, klass) + @resolver.call(spec, klass) + end + + end + + class Loader + + def initialize() + @stack = [] + end + + def load(obj) + case obj + when String + elem = @stack[-1] + result = Container.new() + elem.elements.each(obj) {|e| + @index = result.size + result << load(e) + } + @index = nil + return result + else + elem = obj + @stack << elem + begin + result = send(:"load_#{elem.name}") + ensure + @stack.pop() + end + return result + end + end + + def element + @stack[-1] + end + + def text + element.text + end + + def attr(name, type = :string, default = nil) + value = element.attributes[name] + value = value.strip() unless value.nil? + value = nil unless value.nil? or value.any? + if value.nil? and not default.nil? then + default + else + send(:"parse_#{type}", value) + end + end + + def parse_int(value) + value.to_i + end + + TRUE = ["yes", "true", "1"].to_set + FALSE = ["no", "false", "0", nil].to_set + + def parse_bool(value) + if TRUE.include?(value) + true + elsif FALSE.include?(value) + false + else + raise Exception.new("parse error, expecting boolean: #{value}") + end + end + + def parse_string(value) + value.to_s + end + + def parse_symbol(value) + value.intern() unless value.nil? + end + + def load_amqp() + Root.new(attr("major", :int), attr("minor", :int), load("class"), + load("constant"), load("domain")) + end + + def load_class() + Class.new(attr("name", :symbol), attr("index", :int), attr("handler", :symbol), + load("field"), load("method"), load("doc")) + end + + def load_method() + Method.new(attr("name", :symbol), attr("index", :int), + attr("content", :bool), load("response"), + attr("synchronous", :bool), load("field"), load("docs")) + end + + def load_response() + name = attr("name", :symbol) + Reference.new {|spec, klass| + response = klass.methods[name] + if response.nil? + raise Exception.new("no such method: #{name}") + end + response + } + end + + def load_field() + type = attr("type", :symbol) + if type.nil? + domain = attr("domain", :symbol) + type = Reference.new {|spec, klass| + spec.domains[domain].type + } + end + Field.new(attr("name", :symbol), @index, type, load("docs")) + end + + def load_constant() + Constant.new(attr("name", :symbol), attr("value", :int), attr("class", :symbol), + load("doc")) + end + + def load_domain() + Domain.new(attr("name", :symbol), attr("type", :symbol)) + end + + def load_doc() + Doc.new(attr("type", :symbol), text) + end + + end + + def Spec.load(spec) + case spec + when String + spec = File.new(spec) + end + doc = Document.new(spec) + spec = Loader.new().load(doc.root) + spec.classes.each do |klass| + klass.traverse! do |o| + case o + when Reference + o.resolve(spec, klass) + else + o + end + end + klass.methods.each do |m| + m.parent = klass + m.responses.each do |r| + r.response = true + end + end + end + spec + end + + private + + def Spec.rubyize(name) + name.to_s.gsub(/[\s-]/, '_').intern() + end + +end diff --git a/ruby/test.rb b/ruby/test.rb new file mode 100644 index 0000000000..d247e333e6 --- /dev/null +++ b/ruby/test.rb @@ -0,0 +1,24 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require "client" +require "spec" + +c = Qpid::Client.new("0.0.0.0", 5672, Spec.load($*[0])) +c.start({"LOGIN" => "guest", "PASSWORD" => "guest"}) +ch = c.channel(1) +p ch.channel_open() +p ch.queue_declare() diff --git a/ruby/traverse.rb b/ruby/traverse.rb new file mode 100644 index 0000000000..85551a55d5 --- /dev/null +++ b/ruby/traverse.rb @@ -0,0 +1,61 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +class Object + + public + + def traverse() + traverse! {|o| yield(o); o} + end + + def traverse_children!() + instance_variables.each {|v| + value = instance_variable_get(v) + replacement = yield(value) + instance_variable_set(v, replacement) unless replacement.equal? value + } + end + + def traverse!(replacements = {}) + return replacements[__id__] if replacements.has_key? __id__ + replacement = yield(self) + replacements[__id__] = replacement + traverse_children! {|o| o.traverse!(replacements) {|c| yield(c)}} + return replacement + end + +end + +class Array + def traverse_children!() + map! {|o| yield(o)} + end +end + +class Hash + def traverse_children!() + mods = {} + each_pair {|k, v| + key = yield(k) + value = yield(v) + mods[key] = value unless key.equal? k and value.equal? v + delete(k) unless key.equal? k + } + + merge!(mods) + end +end diff --git a/specs/amqp-8.0.xml b/specs/amqp-8.0.xml new file mode 100644 index 0000000000..b0adf31828 --- /dev/null +++ b/specs/amqp-8.0.xml @@ -0,0 +1,3959 @@ +<?xml version="1.0"?> + +<!-- + Copyright Notice + ================ + (c) Copyright JPMorgan Chase Bank & Co., Cisco Systems, Inc., Envoy Technologies Inc., + iMatix Corporation, IONA\ufffd Technologies, Red Hat, Inc., + TWIST Process Innovations, and 29West Inc. 2006. All rights reserved. + + License + ======= + JPMorgan Chase Bank & Co., Cisco Systems, Inc., Envoy Technologies Inc., iMatix + Corporation, IONA\ufffd Technologies, Red Hat, Inc., TWIST Process Innovations, and + 29West Inc. (collectively, the "Authors") each hereby grants to you a worldwide, + perpetual, royalty-free, nontransferable, nonexclusive license to + (i) copy, display, and implement the Advanced Messaging Queue Protocol + ("AMQP") Specification and (ii) the Licensed Claims that are held by + the Authors, all for the purpose of implementing the Advanced Messaging + Queue Protocol Specification. Your license and any rights under this + Agreement will terminate immediately without notice from + any Author if you bring any claim, suit, demand, or action related to + the Advanced Messaging Queue Protocol Specification against any Author. + Upon termination, you shall destroy all copies of the Advanced Messaging + Queue Protocol Specification in your possession or control. + + As used hereunder, "Licensed Claims" means those claims of a patent or + patent application, throughout the world, excluding design patents and + design registrations, owned or controlled, or that can be sublicensed + without fee and in compliance with the requirements of this + Agreement, by an Author or its affiliates now or at any + future time and which would necessarily be infringed by implementation + of the Advanced Messaging Queue Protocol Specification. A claim is + necessarily infringed hereunder only when it is not possible to avoid + infringing it because there is no plausible non-infringing alternative + for implementing the required portions of the Advanced Messaging Queue + Protocol Specification. Notwithstanding the foregoing, Licensed Claims + shall not include any claims other than as set forth above even if + contained in the same patent as Licensed Claims; or that read solely + on any implementations of any portion of the Advanced Messaging Queue + Protocol Specification that are not required by the Advanced Messaging + Queue Protocol Specification, or that, if licensed, would require a + payment of royalties by the licensor to unaffiliated third parties. + Moreover, Licensed Claims shall not include (i) any enabling technologies + that may be necessary to make or use any Licensed Product but are not + themselves expressly set forth in the Advanced Messaging Queue Protocol + Specification (e.g., semiconductor manufacturing technology, compiler + technology, object oriented technology, networking technology, operating + system technology, and the like); or (ii) the implementation of other + published standards developed elsewhere and merely referred to in the + body of the Advanced Messaging Queue Protocol Specification, or + (iii) any Licensed Product and any combinations thereof the purpose or + function of which is not required for compliance with the Advanced + Messaging Queue Protocol Specification. For purposes of this definition, + the Advanced Messaging Queue Protocol Specification shall be deemed to + include both architectural and interconnection requirements essential + for interoperability and may also include supporting source code artifacts + where such architectural, interconnection requirements and source code + artifacts are expressly identified as being required or documentation to + achieve compliance with the Advanced Messaging Queue Protocol Specification. + + As used hereunder, "Licensed Products" means only those specific portions + of products (hardware, software or combinations thereof) that implement + and are compliant with all relevant portions of the Advanced Messaging + Queue Protocol Specification. + + The following disclaimers, which you hereby also acknowledge as to any + use you may make of the Advanced Messaging Queue Protocol Specification: + + THE ADVANCED MESSAGING QUEUE PROTOCOL SPECIFICATION IS PROVIDED "AS IS," + AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR + IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE + CONTENTS OF THE ADVANCED MESSAGING QUEUE PROTOCOL SPECIFICATION ARE + SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF THE ADVANCED + MESSAGING QUEUE PROTOCOL SPECIFICATION WILL NOT INFRINGE ANY THIRD PARTY + PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + + THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, + INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY + USE, IMPLEMENTATION OR DISTRIBUTION OF THE ADVANCED MESSAGING QUEUE + PROTOCOL SPECIFICATION. + + The name and trademarks of the Authors may NOT be used in any manner, + including advertising or publicity pertaining to the Advanced Messaging + Queue Protocol Specification or its contents without specific, written + prior permission. Title to copyright in the Advanced Messaging Queue + Protocol Specification will at all times remain with the Authors. + + No other rights are granted by implication, estoppel or otherwise. + + Upon termination of your license or rights under this Agreement, you + shall destroy all copies of the Advanced Messaging Queue Protocol + Specification in your possession or control. + + Trademarks + ========== + "JPMorgan", "JPMorgan Chase", "Chase", the JPMorgan Chase logo and the + Octagon Symbol are trademarks of JPMorgan Chase & Co. + + IMATIX and the iMatix logo are trademarks of iMatix Corporation sprl. + + IONA, IONA Technologies, and the IONA logos are trademarks of IONA + Technologies PLC and/or its subsidiaries. + + LINUX is a trademark of Linus Torvalds. RED HAT and JBOSS are registered + trademarks of Red Hat, Inc. in the US and other countries. + + Java, all Java-based trademarks and OpenOffice.org are trademarks of + Sun Microsystems, Inc. in the United States, other countries, or both. + + Other company, product, or service names may be trademarks or service + marks of others. + + Links to full AMQP specification: + ================================= + http://www.envoytech.org/spec/amq/ + http://www.iona.com/opensource/amqp/ + http://www.redhat.com/solutions/specifications/amqp/ + http://www.twiststandards.org/tiki-index.php?page=AMQ + http://www.imatix.com/amqp + +--> + +<!-- +======================================================== +EDITORS: (PH) Pieter Hintjens <ph@imatix.com> + (KvdR) Kim van der Riet <kim.vdriet@redhat.com> + +NOTE: These editors have been assigned by the AMQP working group. Please do not +edit/commit this file without consulting with one of the above editors. +======================================================== + +Revision history: + 2006-06-07 (PH) - version number changed to 0.8 to conform to public + release documentation. + + 2006-05-15 (PH) - fixed comments on queue name in basic.get to clarify + use of current queue in this method. + + 2006-05-15 (PH) - fixed comments on routing key in queue.bind to clarify + how routing key is filled when empty (to allow asynch queue.declare). + + 2006-05-11 (PH) - reset version to 0.70 so that putatitive standards + group can release 2-3 major new versions before hitting 1.0 (again). + + 2006-05-11 (PH) - TODO in documentation: cycle field in frame header + has been removed. + + 2006-05-11 (PH) - added nowait option to exchange.declare, delete, + queue.declare, delete, bind, purge, basic.consume, cancel, + file.consume, cancel, stream.consume and cancel methods. + + 2006-05-11 (PH) - removed notnull rule and added explanations on queue + name in queue.bind, purge, delete, basic.consume, cancel, file.consume, + cancel, stream.consume and cancel methods. + + 2006-05-11 (PH) - added basic.qos, file.qos, and stream.qos methods that + regroup all prefetch options from the consume methods. Also removed the + prefetch option from channel.open. + + 2006-05-11 (PH) - renumbered method indexes to show request-response + nature of methods; requests are 10, 20, 30 while responses are 11, 21, + etc. + + 2006-05-11 (PH) - removed OpenAMQ extension methods from this definition + since these are maintained seperately. + + 2006-05-26 (RG) - added Basic.Recover method to allow replay of + unacknowledged messages on a channel. + + 2006-07-03 (PH) - cosmetic clean-up of Basic.Recover comments. +--> + +<amqp major="8" minor="0" port="5672" comment="AMQ protocol 0.80"> + AMQ Protocol 0.80 + +<!-- +====================================================== +== CONSTANTS +====================================================== +--> + <constant name="frame method" value="1"/> + <constant name="frame header" value="2"/> + <constant name="frame body" value="3"/> + <constant name="frame oob method" value="4"/> + <constant name="frame oob header" value="5"/> + <constant name="frame oob body" value="6"/> + <constant name="frame trace" value="7"/> + <constant name="frame heartbeat" value="8"/> + <constant name="frame min size" value="4096"/> + <constant name="frame end" value="206"/> + <constant name="reply success" value="200"> + Indicates that the method completed successfully. This reply code is + reserved for future use - the current protocol design does not use + positive confirmation and reply codes are sent only in case of an + error. +</constant> + <constant name="not delivered" value="310" class="soft error"> + The client asked for a specific message that is no longer available. + The message was delivered to another client, or was purged from the + queue for some other reason. +</constant> + <constant name="content too large" value="311" class="soft error"> + The client attempted to transfer content larger than the server + could accept at the present time. The client may retry at a later + time. +</constant> + <constant name="connection forced" value="320" class="hard error"> + An operator intervened to close the connection for some reason. + The client may retry at some later date. +</constant> + <constant name="invalid path" value="402" class="hard error"> + The client tried to work with an unknown virtual host or cluster. +</constant> + <constant name="access refused" value="403" class="soft error"> + The client attempted to work with a server entity to which it has + no due to security settings. +</constant> + <constant name="not found" value="404" class="soft error"> + The client attempted to work with a server entity that does not exist. +</constant> + <constant name="resource locked" value="405" class="soft error"> + The client attempted to work with a server entity to which it has + no access because another client is working with it. +</constant> + <constant name="frame error" value="501" class="hard error"> + The client sent a malformed frame that the server could not decode. + This strongly implies a programming error in the client. +</constant> + <constant name="syntax error" value="502" class="hard error"> + The client sent a frame that contained illegal values for one or more + fields. This strongly implies a programming error in the client. +</constant> + <constant name="command invalid" value="503" class="hard error"> + The client sent an invalid sequence of frames, attempting to perform + an operation that was considered invalid by the server. This usually + implies a programming error in the client. +</constant> + <constant name="channel error" value="504" class="hard error"> + The client attempted to work with a channel that had not been + correctly opened. This most likely indicates a fault in the client + layer. +</constant> + <constant name="resource error" value="506" class="hard error"> + The server could not complete the method because it lacked sufficient + resources. This may be due to the client creating too many of some + type of entity. +</constant> + <constant name="not allowed" value="530" class="hard error"> + The client tried to work with some entity in a manner that is + prohibited by the server, due to security settings or by some other + criteria. +</constant> + <constant name="not implemented" value="540" class="hard error"> + The client tried to use functionality that is not implemented in the + server. +</constant> + <constant name="internal error" value="541" class="hard error"> + The server could not complete the method because of an internal error. + The server may require intervention by an operator in order to resume + normal operations. +</constant> + <!-- +====================================================== +== DOMAIN TYPES +====================================================== +--> + <domain name="access ticket" type="short"> + access ticket granted by server + <doc> + An access ticket granted by the server for a certain set of access + rights within a specific realm. Access tickets are valid within the + channel where they were created, and expire when the channel closes. + </doc> + <assert check="ne" value="0"/> + </domain> + <domain name="class id" type="short"/> + <domain name="consumer tag" type="shortstr"> + consumer tag + <doc> + Identifier for the consumer, valid within the current connection. + </doc> + <rule implement="MUST"> + The consumer tag is valid only within the channel from which the + consumer was created. I.e. a client MUST NOT create a consumer in + one channel and then use it in another. + </rule> + </domain> + <domain name="delivery tag" type="longlong"> + server-assigned delivery tag + <doc> + The server-assigned and channel-specific delivery tag + </doc> + <rule implement="MUST"> + The delivery tag is valid only within the channel from which the + message was received. I.e. a client MUST NOT receive a message on + one channel and then acknowledge it on another. + </rule> + <rule implement="MUST"> + The server MUST NOT use a zero value for delivery tags. Zero is + reserved for client use, meaning "all messages so far received". + </rule> + </domain> + <domain name="exchange name" type="shortstr"> + exchange name + <doc> + The exchange name is a client-selected string that identifies + the exchange for publish methods. Exchange names may consist + of any mixture of digits, letters, and underscores. Exchange + names are scoped by the virtual host. + </doc> + <assert check="length" value="127"/> + </domain> + <domain name="known hosts" type="shortstr"> +list of known hosts +<doc> +Specifies the list of equivalent or alternative hosts that the server +knows about, which will normally include the current server itself. +Clients can cache this information and use it when reconnecting to a +server after a failure. +</doc> + <rule implement="MAY"> +The server MAY leave this field empty if it knows of no other +hosts than itself. +</rule> + </domain> + <domain name="method id" type="short"/> + <domain name="no ack" type="bit"> + no acknowledgement needed + <doc> + If this field is set the server does not expect acknowledgments + for messages. That is, when a message is delivered to the client + the server automatically and silently acknowledges it on behalf + of the client. This functionality increases performance but at + the cost of reliability. Messages can get lost if a client dies + before it can deliver them to the application. + </doc> + </domain> + <domain name="no local" type="bit"> + do not deliver own messages + <doc> + If the no-local field is set the server will not send messages to + the client that published them. + </doc> + </domain> + <domain name="path" type="shortstr"> + <doc> + Must start with a slash "/" and continue with path names + separated by slashes. A path name consists of any combination + of at least one of [A-Za-z0-9] plus zero or more of [.-_+!=:]. +</doc> + <assert check="notnull"/> + <assert check="syntax" rule="path"/> + <assert check="length" value="127"/> + </domain> + <domain name="peer properties" type="table"> + <doc> +This string provides a set of peer properties, used for +identification, debugging, and general information. +</doc> + <rule implement="SHOULD"> +The properties SHOULD contain these fields: +"product", giving the name of the peer product, "version", giving +the name of the peer version, "platform", giving the name of the +operating system, "copyright", if appropriate, and "information", +giving other general information. +</rule> + </domain> + <domain name="queue name" type="shortstr"> + queue name + <doc> + The queue name identifies the queue within the vhost. Queue + names may consist of any mixture of digits, letters, and + underscores. + </doc> + <assert check="length" value="127"/> + </domain> + <domain name="redelivered" type="bit"> + message is being redelivered + <doc> + This indicates that the message has been previously delivered to + this or another client. + </doc> + <rule implement="SHOULD"> + The server SHOULD try to signal redelivered messages when it can. + When redelivering a message that was not successfully acknowledged, + the server SHOULD deliver it to the original client if possible. + </rule> + <rule implement="MUST"> + The client MUST NOT rely on the redelivered field but MUST take it + as a hint that the message may already have been processed. A + fully robust client must be able to track duplicate received messages + on non-transacted, and locally-transacted channels. + </rule> + </domain> + <domain name="reply code" type="short"> +reply code from server +<doc> + The reply code. The AMQ reply codes are defined in AMQ RFC 011. +</doc> + <assert check="notnull"/> + </domain> + <domain name="reply text" type="shortstr"> +localised reply text +<doc> + The localised reply text. This text can be logged as an aid to + resolving issues. +</doc> + <assert check="notnull"/> + </domain> + <class name="connection" handler="connection" index="10"> + <!-- +====================================================== +== CONNECTION +====================================================== +--> + work with socket connections +<doc> + The connection class provides methods for a client to establish a + network connection to a server, and for both peers to operate the + connection thereafter. +</doc> + <doc name="grammar"> + connection = open-connection *use-connection close-connection + open-connection = C:protocol-header + S:START C:START-OK + *challenge + S:TUNE C:TUNE-OK + C:OPEN S:OPEN-OK | S:REDIRECT + challenge = S:SECURE C:SECURE-OK + use-connection = *channel + close-connection = C:CLOSE S:CLOSE-OK + / S:CLOSE C:CLOSE-OK +</doc> + <chassis name="server" implement="MUST"/> + <chassis name="client" implement="MUST"/> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="start" synchronous="1" index="10"> + start connection negotiation + <doc> + This method starts the connection negotiation process by telling + the client the protocol version that the server proposes, along + with a list of security mechanisms which the client can use for + authentication. + </doc> + <rule implement="MUST"> + If the client cannot handle the protocol version suggested by the + server it MUST close the socket connection. + </rule> + <rule implement="MUST"> + The server MUST provide a protocol version that is lower than or + equal to that requested by the client in the protocol header. If + the server cannot support the specified protocol it MUST NOT send + this method, but MUST close the socket connection. + </rule> + <chassis name="client" implement="MUST"/> + <response name="start-ok"/> + <field name="version major" type="octet"> + protocol major version + <doc> + The protocol major version that the server agrees to use, which + cannot be higher than the client's major version. + </doc> + </field> + <field name="version minor" type="octet"> + protocol major version + <doc> + The protocol minor version that the server agrees to use, which + cannot be higher than the client's minor version. + </doc> + </field> + <field name="server properties" domain="peer properties"> + server properties + </field> + <field name="mechanisms" type="longstr"> + available security mechanisms + <doc> + A list of the security mechanisms that the server supports, delimited + by spaces. Currently ASL supports these mechanisms: PLAIN. + </doc> + <see name="security mechanisms"/> + <assert check="notnull"/> + </field> + <field name="locales" type="longstr"> + available message locales + <doc> + A list of the message locales that the server supports, delimited + by spaces. The locale defines the language in which the server + will send reply texts. + </doc> + <rule implement="MUST"> + All servers MUST support at least the en_US locale. + </rule> + <assert check="notnull"/> + </field> + </method> + <method name="start-ok" synchronous="1" index="11"> + select security mechanism and locale + <doc> + This method selects a SASL security mechanism. ASL uses SASL + (RFC2222) to negotiate authentication and encryption. + </doc> + <chassis name="server" implement="MUST"/> + <field name="client properties" domain="peer properties"> + client properties + </field> + <field name="mechanism" type="shortstr"> + selected security mechanism + <doc> + A single security mechanisms selected by the client, which must be + one of those specified by the server. + </doc> + <rule implement="SHOULD"> + The client SHOULD authenticate using the highest-level security + profile it can handle from the list provided by the server. + </rule> + <rule implement="MUST"> + The mechanism field MUST contain one of the security mechanisms + proposed by the server in the Start method. If it doesn't, the + server MUST close the socket. + </rule> + <assert check="notnull"/> + </field> + <field name="response" type="longstr"> + security response data + <doc> + A block of opaque data passed to the security mechanism. The contents + of this data are defined by the SASL security mechanism. For the + PLAIN security mechanism this is defined as a field table holding + two fields, LOGIN and PASSWORD. + </doc> + <assert check="notnull"/> + </field> + <field name="locale" type="shortstr"> + selected message locale + <doc> + A single message local selected by the client, which must be one + of those specified by the server. + </doc> + <assert check="notnull"/> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="secure" synchronous="1" index="20"> + security mechanism challenge + <doc> + The SASL protocol works by exchanging challenges and responses until + both peers have received sufficient information to authenticate each + other. This method challenges the client to provide more information. + </doc> + <chassis name="client" implement="MUST"/> + <response name="secure-ok"/> + <field name="challenge" type="longstr"> + security challenge data + <doc> + Challenge information, a block of opaque binary data passed to + the security mechanism. + </doc> + <see name="security mechanisms"/> + </field> + </method> + <method name="secure-ok" synchronous="1" index="21"> + security mechanism response + <doc> + This method attempts to authenticate, passing a block of SASL data + for the security mechanism at the server side. + </doc> + <chassis name="server" implement="MUST"/> + <field name="response" type="longstr"> + security response data + <doc> + A block of opaque data passed to the security mechanism. The contents + of this data are defined by the SASL security mechanism. + </doc> + <assert check="notnull"/> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="tune" synchronous="1" index="30"> + propose connection tuning parameters + <doc> + This method proposes a set of connection configuration values + to the client. The client can accept and/or adjust these. + </doc> + <chassis name="client" implement="MUST"/> + <response name="tune-ok"/> + <field name="channel max" type="short"> + proposed maximum channels + <doc> + The maximum total number of channels that the server allows + per connection. Zero means that the server does not impose a + fixed limit, but the number of allowed channels may be limited + by available server resources. + </doc> + </field> + <field name="frame max" type="long"> + proposed maximum frame size + <doc> + The largest frame size that the server proposes for the + connection. The client can negotiate a lower value. Zero means + that the server does not impose any specific limit but may reject + very large frames if it cannot allocate resources for them. + </doc> + <rule implement="MUST"> + Until the frame-max has been negotiated, both peers MUST accept + frames of up to 4096 octets large. The minimum non-zero value for + the frame-max field is 4096. + </rule> + </field> + <field name="heartbeat" type="short"> + desired heartbeat delay + <doc> + The delay, in seconds, of the connection heartbeat that the server + wants. Zero means the server does not want a heartbeat. + </doc> + </field> + </method> + <method name="tune-ok" synchronous="1" index="31"> + negotiate connection tuning parameters + <doc> + This method sends the client's connection tuning parameters to the + server. Certain fields are negotiated, others provide capability + information. + </doc> + <chassis name="server" implement="MUST"/> + <field name="channel max" type="short"> + negotiated maximum channels + <doc> + The maximum total number of channels that the client will use + per connection. May not be higher than the value specified by + the server. + </doc> + <rule implement="MAY"> + The server MAY ignore the channel-max value or MAY use it for + tuning its resource allocation. + </rule> + <assert check="notnull"/> + <assert check="le" method="tune" field="channel max"/> + </field> + <field name="frame max" type="long"> + negotiated maximum frame size + <doc> + The largest frame size that the client and server will use for + the connection. Zero means that the client does not impose any + specific limit but may reject very large frames if it cannot + allocate resources for them. Note that the frame-max limit + applies principally to content frames, where large contents + can be broken into frames of arbitrary size. + </doc> + <rule implement="MUST"> + Until the frame-max has been negotiated, both peers must accept + frames of up to 4096 octets large. The minimum non-zero value for + the frame-max field is 4096. + </rule> + </field> + <field name="heartbeat" type="short"> + desired heartbeat delay + <doc> + The delay, in seconds, of the connection heartbeat that the client + wants. Zero means the client does not want a heartbeat. + </doc> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="open" synchronous="1" index="40"> + open connection to virtual host + <doc> + This method opens a connection to a virtual host, which is a + collection of resources, and acts to separate multiple application + domains within a server. + </doc> + <rule implement="MUST"> + The client MUST open the context before doing any work on the + connection. + </rule> + <chassis name="server" implement="MUST"/> + <response name="open-ok"/> + <response name="redirect"/> + <field name="virtual host" domain="path"> + virtual host name + <assert check="regexp" value="^[a-zA-Z0-9/-_]+$"/> + <doc> + The name of the virtual host to work with. + </doc> + <rule implement="MUST"> + If the server supports multiple virtual hosts, it MUST enforce a + full separation of exchanges, queues, and all associated entities + per virtual host. An application, connected to a specific virtual + host, MUST NOT be able to access resources of another virtual host. + </rule> + <rule implement="SHOULD"> + The server SHOULD verify that the client has permission to access + the specified virtual host. + </rule> + <rule implement="MAY"> + The server MAY configure arbitrary limits per virtual host, such + as the number of each type of entity that may be used, per + connection and/or in total. + </rule> + </field> + <field name="capabilities" type="shortstr"> + required capabilities + <doc> + The client may specify a number of capability names, delimited by + spaces. The server can use this string to how to process the + client's connection request. + </doc> + </field> + <field name="insist" type="bit"> + insist on connecting to server + <doc> + In a configuration with multiple load-sharing servers, the server + may respond to a Connection.Open method with a Connection.Redirect. + The insist option tells the server that the client is insisting on + a connection to the specified server. + </doc> + <rule implement="SHOULD"> + When the client uses the insist option, the server SHOULD accept + the client connection unless it is technically unable to do so. + </rule> + </field> + </method> + <method name="open-ok" synchronous="1" index="41"> + signal that the connection is ready + <doc> + This method signals to the client that the connection is ready for + use. + </doc> + <chassis name="client" implement="MUST"/> + <field name="known hosts" domain="known hosts"/> + </method> + <method name="redirect" synchronous="1" index="50"> + asks the client to use a different server + <doc> + This method redirects the client to another server, based on the + requested virtual host and/or capabilities. + </doc> + <rule implement="SHOULD"> + When getting the Connection.Redirect method, the client SHOULD + reconnect to the host specified, and if that host is not present, + to any of the hosts specified in the known-hosts list. + </rule> + <chassis name="client" implement="MAY"/> + <field name="host" type="shortstr"> + server to connect to + <doc> + Specifies the server to connect to. This is an IP address or a + DNS name, optionally followed by a colon and a port number. If + no port number is specified, the client should use the default + port number for the protocol. + </doc> + <assert check="notnull"/> + </field> + <field name="known hosts" domain="known hosts"/> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="close" synchronous="1" index="60"> + request a connection close + <doc> + This method indicates that the sender wants to close the connection. + This may be due to internal conditions (e.g. a forced shut-down) or + due to an error handling a specific method, i.e. an exception. When + a close is due to an exception, the sender provides the class and + method id of the method which caused the exception. + </doc> + <rule implement="MUST"> + After sending this method any received method except the Close-OK + method MUST be discarded. + </rule> + <rule implement="MAY"> + The peer sending this method MAY use a counter or timeout to + detect failure of the other peer to respond correctly with + the Close-OK method. + </rule> + <rule implement="MUST"> + When a server receives the Close method from a client it MUST + delete all server-side resources associated with the client's + context. A client CANNOT reconnect to a context after sending + or receiving a Close method. + </rule> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <response name="close-ok"/> + <field name="reply code" domain="reply code"/> + <field name="reply text" domain="reply text"/> + <field name="class id" domain="class id"> + failing method class + <doc> + When the close is provoked by a method exception, this is the + class of the method. + </doc> + </field> + <field name="method id" domain="class id"> + failing method ID + <doc> + When the close is provoked by a method exception, this is the + ID of the method. + </doc> + </field> + </method> + <method name="close-ok" synchronous="1" index="61"> + confirm a connection close + <doc> + This method confirms a Connection.Close method and tells the + recipient that it is safe to release resources for the connection + and close the socket. + </doc> + <rule implement="SHOULD"> + A peer that detects a socket closure without having received a + Close-Ok handshake method SHOULD log the error. + </rule> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + </method> + </class> + <class name="channel" handler="channel" index="20"> + <!-- +====================================================== +== CHANNEL +====================================================== +--> + work with channels +<doc> + The channel class provides methods for a client to establish a virtual + connection - a channel - to a server and for both peers to operate the + virtual connection thereafter. +</doc> + <doc name="grammar"> + channel = open-channel *use-channel close-channel + open-channel = C:OPEN S:OPEN-OK + use-channel = C:FLOW S:FLOW-OK + / S:FLOW C:FLOW-OK + / S:ALERT + / functional-class + close-channel = C:CLOSE S:CLOSE-OK + / S:CLOSE C:CLOSE-OK +</doc> + <chassis name="server" implement="MUST"/> + <chassis name="client" implement="MUST"/> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="open" synchronous="1" index="10"> + open a channel for use + <doc> + This method opens a virtual connection (a channel). + </doc> + <rule implement="MUST"> + This method MUST NOT be called when the channel is already open. + </rule> + <chassis name="server" implement="MUST"/> + <response name="open-ok"/> + <field name="out of band" type="shortstr"> + out-of-band settings + <doc> + Configures out-of-band transfers on this channel. The syntax and + meaning of this field will be formally defined at a later date. + </doc> + <assert check="null"/> + </field> + </method> + <method name="open-ok" synchronous="1" index="11"> + signal that the channel is ready + <doc> + This method signals to the client that the channel is ready for use. + </doc> + <chassis name="client" implement="MUST"/> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="flow" synchronous="1" index="20"> + enable/disable flow from peer + <doc> + This method asks the peer to pause or restart the flow of content + data. This is a simple flow-control mechanism that a peer can use + to avoid oveflowing its queues or otherwise finding itself receiving + more messages than it can process. Note that this method is not + intended for window control. The peer that receives a request to + stop sending content should finish sending the current content, if + any, and then wait until it receives a Flow restart method. + </doc> + <rule implement="MAY"> + When a new channel is opened, it is active. Some applications + assume that channels are inactive until started. To emulate this + behaviour a client MAY open the channel, then pause it. + </rule> + <rule implement="SHOULD"> + When sending content data in multiple frames, a peer SHOULD monitor + the channel for incoming methods and respond to a Channel.Flow as + rapidly as possible. + </rule> + <rule implement="MAY"> + A peer MAY use the Channel.Flow method to throttle incoming content + data for internal reasons, for example, when exchangeing data over a + slower connection. + </rule> + <rule implement="MAY"> + The peer that requests a Channel.Flow method MAY disconnect and/or + ban a peer that does not respect the request. + </rule> + <chassis name="server" implement="MUST"/> + <chassis name="client" implement="MUST"/> + <response name="flow-ok"/> + <field name="active" type="bit"> + start/stop content frames + <doc> + If 1, the peer starts sending content frames. If 0, the peer + stops sending content frames. + </doc> + </field> + </method> + <method name="flow-ok" index="21"> + confirm a flow method + <doc> + Confirms to the peer that a flow command was received and processed. + </doc> + <chassis name="server" implement="MUST"/> + <chassis name="client" implement="MUST"/> + <field name="active" type="bit"> + current flow setting + <doc> + Confirms the setting of the processed flow method: 1 means the + peer will start sending or continue to send content frames; 0 + means it will not. + </doc> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="alert" index="30"> + send a non-fatal warning message + <doc> + This method allows the server to send a non-fatal warning to the + client. This is used for methods that are normally asynchronous + and thus do not have confirmations, and for which the server may + detect errors that need to be reported. Fatal errors are handled + as channel or connection exceptions; non-fatal errors are sent + through this method. + </doc> + <chassis name="client" implement="MUST"/> + <field name="reply code" domain="reply code"/> + <field name="reply text" domain="reply text"/> + <field name="details" type="table"> + detailed information for warning + <doc> + A set of fields that provide more information about the + problem. The meaning of these fields are defined on a + per-reply-code basis (TO BE DEFINED). + </doc> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="close" synchronous="1" index="40"> + request a channel close + <doc> + This method indicates that the sender wants to close the channel. + This may be due to internal conditions (e.g. a forced shut-down) or + due to an error handling a specific method, i.e. an exception. When + a close is due to an exception, the sender provides the class and + method id of the method which caused the exception. + </doc> + <rule implement="MUST"> + After sending this method any received method except + Channel.Close-OK MUST be discarded. + </rule> + <rule implement="MAY"> + The peer sending this method MAY use a counter or timeout to detect + failure of the other peer to respond correctly with Channel.Close-OK.. + </rule> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <response name="close-ok"/> + <field name="reply code" domain="reply code"/> + <field name="reply text" domain="reply text"/> + <field name="class id" domain="class id"> + failing method class + <doc> + When the close is provoked by a method exception, this is the + class of the method. + </doc> + </field> + <field name="method id" domain="method id"> + failing method ID + <doc> + When the close is provoked by a method exception, this is the + ID of the method. + </doc> + </field> + </method> + <method name="close-ok" synchronous="1" index="41"> + confirm a channel close + <doc> + This method confirms a Channel.Close method and tells the recipient + that it is safe to release resources for the channel and close the + socket. + </doc> + <rule implement="SHOULD"> + A peer that detects a socket closure without having received a + Channel.Close-Ok handshake method SHOULD log the error. + </rule> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + </method> + </class> + <class name="access" handler="connection" index="30"> + <!-- +====================================================== +== ACCESS CONTROL +====================================================== +--> + work with access tickets +<doc> + The protocol control access to server resources using access tickets. + A client must explicitly request access tickets before doing work. + An access ticket grants a client the right to use a specific set of + resources - called a "realm" - in specific ways. +</doc> + <doc name="grammar"> + access = C:REQUEST S:REQUEST-OK +</doc> + <chassis name="server" implement="MUST"/> + <chassis name="client" implement="MUST"/> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="request" synchronous="1" index="10"> + request an access ticket + <doc> + This method requests an access ticket for an access realm. + The server responds by granting the access ticket. If the + client does not have access rights to the requested realm + this causes a connection exception. Access tickets are a + per-channel resource. + </doc> + <rule implement="MUST"> + The realm name MUST start with either "/data" (for application + resources) or "/admin" (for server administration resources). + If the realm starts with any other path, the server MUST raise + a connection exception with reply code 403 (access refused). + </rule> + <rule implement="MUST"> + The server MUST implement the /data realm and MAY implement the + /admin realm. The mapping of resources to realms is not + defined in the protocol - this is a server-side configuration + issue. + </rule> + <chassis name="server" implement="MUST"/> + <response name="request-ok"/> + <field name="realm" domain="path"> + name of requested realm + <rule implement="MUST"> + If the specified realm is not known to the server, the server + must raise a channel exception with reply code 402 (invalid + path). + </rule> + </field> + <field name="exclusive" type="bit"> + request exclusive access + <doc> + Request exclusive access to the realm. If the server cannot grant + this - because there are other active tickets for the realm - it + raises a channel exception. + </doc> + </field> + <field name="passive" type="bit"> + request passive access + <doc> + Request message passive access to the specified access realm. + Passive access lets a client get information about resources in + the realm but not to make any changes to them. + </doc> + </field> + <field name="active" type="bit"> + request active access + <doc> + Request message active access to the specified access realm. + Acvtive access lets a client get create and delete resources in + the realm. + </doc> + </field> + <field name="write" type="bit"> + request write access + <doc> + Request write access to the specified access realm. Write access + lets a client publish messages to all exchanges in the realm. + </doc> + </field> + <field name="read" type="bit"> + request read access + <doc> + Request read access to the specified access realm. Read access + lets a client consume messages from queues in the realm. + </doc> + </field> + </method> + <method name="request-ok" synchronous="1" index="11"> + grant access to server resources + <doc> + This method provides the client with an access ticket. The access + ticket is valid within the current channel and for the lifespan of + the channel. + </doc> + <rule implement="MUST"> + The client MUST NOT use access tickets except within the same + channel as originally granted. + </rule> + <rule implement="MUST"> + The server MUST isolate access tickets per channel and treat an + attempt by a client to mix these as a connection exception. + </rule> + <chassis name="client" implement="MUST"/> + <field name="ticket" domain="access ticket"/> + </method> + </class> + <class name="exchange" handler="channel" index="40"> + <!-- +====================================================== +== EXCHANGES (or "routers", if you prefer) +== (Or matchers, plugins, extensions, agents,... Routing is just one of +== the many fun things an exchange can do.) +====================================================== +--> + work with exchanges +<doc> + Exchanges match and distribute messages across queues. Exchanges can be + configured in the server or created at runtime. +</doc> + <doc name="grammar"> + exchange = C:DECLARE S:DECLARE-OK + / C:DELETE S:DELETE-OK +</doc> + <chassis name="server" implement="MUST"/> + <chassis name="client" implement="MUST"/> + <rule implement="MUST"> + <test>amq_exchange_19</test> + The server MUST implement the direct and fanout exchange types, and + predeclare the corresponding exchanges named amq.direct and amq.fanout + in each virtual host. The server MUST also predeclare a direct + exchange to act as the default exchange for content Publish methods + and for default queue bindings. +</rule> + <rule implement="SHOULD"> + <test>amq_exchange_20</test> + The server SHOULD implement the topic exchange type, and predeclare + the corresponding exchange named amq.topic in each virtual host. +</rule> + <rule implement="MAY"> + <test>amq_exchange_21</test> + The server MAY implement the system exchange type, and predeclare the + corresponding exchanges named amq.system in each virtual host. If the + client attempts to bind a queue to the system exchange, the server + MUST raise a connection exception with reply code 507 (not allowed). +</rule> + <rule implement="MUST"> + <test>amq_exchange_22</test> + The default exchange MUST be defined as internal, and be inaccessible + to the client except by specifying an empty exchange name in a content + Publish method. That is, the server MUST NOT let clients make explicit + bindings to this exchange. +</rule> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="declare" synchronous="1" index="10"> + declare exchange, create if needed + <doc> + This method creates an exchange if it does not already exist, and if the + exchange exists, verifies that it is of the correct and expected class. + </doc> + <rule implement="SHOULD"> + <test>amq_exchange_23</test> + The server SHOULD support a minimum of 16 exchanges per virtual host + and ideally, impose no limit except as defined by available resources. + </rule> + <chassis name="server" implement="MUST"/> + <response name="declare-ok"/> + <field name="ticket" domain="access ticket"> + <doc> + When a client defines a new exchange, this belongs to the access realm + of the ticket used. All further work done with that exchange must be + done with an access ticket for the same realm. + </doc> + <rule implement="MUST"> + The client MUST provide a valid access ticket giving "active" access + to the realm in which the exchange exists or will be created, or + "passive" access if the if-exists flag is set. + </rule> + </field> + <field name="exchange" domain="exchange name"> + <rule implement="MUST"> + <test>amq_exchange_15</test> + Exchange names starting with "amq." are reserved for predeclared + and standardised exchanges. If the client attempts to create an + exchange starting with "amq.", the server MUST raise a channel + exception with reply code 403 (access refused). + </rule> + <assert check="regexp" value="^[a-zA-Z0-9-_.:]+$"/> + </field> + <field name="type" type="shortstr"> + exchange type + <doc> + Each exchange belongs to one of a set of exchange types implemented + by the server. The exchange types define the functionality of the + exchange - i.e. how messages are routed through it. It is not valid + or meaningful to attempt to change the type of an existing exchange. + </doc> + <rule implement="MUST"> + <test>amq_exchange_16</test> + If the exchange already exists with a different type, the server + MUST raise a connection exception with a reply code 507 (not allowed). + </rule> + <rule implement="MUST"> + <test>amq_exchange_18</test> + If the server does not support the requested exchange type it MUST + raise a connection exception with a reply code 503 (command invalid). + </rule> + <assert check="regexp" value="^[a-zA-Z0-9-_.:]+$"/> + </field> + <field name="passive" type="bit"> + do not create exchange + <doc> + If set, the server will not create the exchange. The client can use + this to check whether an exchange exists without modifying the server + state. + </doc> + <rule implement="MUST"> + <test>amq_exchange_05</test> + If set, and the exchange does not already exist, the server MUST + raise a channel exception with reply code 404 (not found). + </rule> + </field> + <field name="durable" type="bit"> + request a durable exchange + <doc> + If set when creating a new exchange, the exchange will be marked as + durable. Durable exchanges remain active when a server restarts. + Non-durable exchanges (transient exchanges) are purged if/when a + server restarts. + </doc> + <rule implement="MUST"> + <test>amq_exchange_24</test> + The server MUST support both durable and transient exchanges. + </rule> + <rule implement="MUST"> + The server MUST ignore the durable field if the exchange already + exists. + </rule> + </field> + <field name="auto delete" type="bit"> + auto-delete when unused + <doc> + If set, the exchange is deleted when all queues have finished + using it. + </doc> + <rule implement="SHOULD"> + <test>amq_exchange_02</test> + The server SHOULD allow for a reasonable delay between the point + when it determines that an exchange is not being used (or no longer + used), and the point when it deletes the exchange. At the least it + must allow a client to create an exchange and then bind a queue to + it, with a small but non-zero delay between these two actions. + </rule> + <rule implement="MUST"> + <test>amq_exchange_25</test> + The server MUST ignore the auto-delete field if the exchange already + exists. + </rule> + </field> + <field name="internal" type="bit"> + create internal exchange + <doc> + If set, the exchange may not be used directly by publishers, but + only when bound to other exchanges. Internal exchanges are used to + construct wiring that is not visible to applications. + </doc> + </field> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> + + <field name="arguments" type="table"> + arguments for declaration + <doc> + A set of arguments for the declaration. The syntax and semantics + of these arguments depends on the server implementation. This + field is ignored if passive is 1. + </doc> + </field> + </method> + <method name="declare-ok" synchronous="1" index="11"> + confirms an exchange declaration + <doc> + This method confirms a Declare method and confirms the name of the + exchange, essential for automatically-named exchanges. + </doc> + <chassis name="client" implement="MUST"/> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="delete" synchronous="1" index="20"> + delete an exchange + <doc> + This method deletes an exchange. When an exchange is deleted all queue + bindings on the exchange are cancelled. + </doc> + <chassis name="server" implement="MUST"/> + <response name="delete-ok"/> + <field name="ticket" domain="access ticket"> + <rule implement="MUST"> + The client MUST provide a valid access ticket giving "active" + access rights to the exchange's access realm. + </rule> + </field> + <field name="exchange" domain="exchange name"> + <rule implement="MUST"> + <test>amq_exchange_11</test> + The exchange MUST exist. Attempting to delete a non-existing exchange + causes a channel exception. + </rule> + <assert check="notnull"/> + </field> + <field name="if unused" type="bit"> + delete only if unused + <doc> + If set, the server will only delete the exchange if it has no queue + bindings. If the exchange has queue bindings the server does not + delete it but raises a channel exception instead. + </doc> + <rule implement="SHOULD"> + <test>amq_exchange_12</test> + If set, the server SHOULD delete the exchange but only if it has + no queue bindings. + </rule> + <rule implement="SHOULD"> + <test>amq_exchange_13</test> + If set, the server SHOULD raise a channel exception if the exchange is in + use. + </rule> + </field> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> + + </method> + <method name="delete-ok" synchronous="1" index="21"> + confirm deletion of an exchange + <doc> + This method confirms the deletion of an exchange. + </doc> + <chassis name="client" implement="MUST"/> + </method> + </class> + <class name="queue" handler="channel" index="50"> + <!-- +====================================================== +== QUEUES +====================================================== +--> + work with queues + +<doc> + Queues store and forward messages. Queues can be configured in the server + or created at runtime. Queues must be attached to at least one exchange + in order to receive messages from publishers. +</doc> + <doc name="grammar"> + queue = C:DECLARE S:DECLARE-OK + / C:BIND S:BIND-OK + / C:PURGE S:PURGE-OK + / C:DELETE S:DELETE-OK +</doc> + <chassis name="server" implement="MUST"/> + <chassis name="client" implement="MUST"/> + <rule implement="MUST"> + <test>amq_queue_33</test> + A server MUST allow any content class to be sent to any queue, in any + mix, and queue and delivery these content classes independently. Note + that all methods that fetch content off queues are specific to a given + content class. +</rule> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="declare" synchronous="1" index="10"> + declare queue, create if needed + <doc> + This method creates or checks a queue. When creating a new queue + the client can specify various properties that control the durability + of the queue and its contents, and the level of sharing for the queue. + </doc> + <rule implement="MUST"> + <test>amq_queue_34</test> + The server MUST create a default binding for a newly-created queue + to the default exchange, which is an exchange of type 'direct'. + </rule> + <rule implement="SHOULD"> + <test>amq_queue_35</test> + The server SHOULD support a minimum of 256 queues per virtual host + and ideally, impose no limit except as defined by available resources. + </rule> + <chassis name="server" implement="MUST"/> + <response name="declare-ok"/> + <field name="ticket" domain="access ticket"> + <doc> + When a client defines a new queue, this belongs to the access realm + of the ticket used. All further work done with that queue must be + done with an access ticket for the same realm. + </doc> + <doc> + The client provides a valid access ticket giving "active" access + to the realm in which the queue exists or will be created, or + "passive" access if the if-exists flag is set. + </doc> + </field> + <field name="queue" domain="queue name"> + <rule implement="MAY"> + <test>amq_queue_10</test> + The queue name MAY be empty, in which case the server MUST create + a new queue with a unique generated name and return this to the + client in the Declare-Ok method. + </rule> + <rule implement="MUST"> + <test>amq_queue_32</test> + Queue names starting with "amq." are reserved for predeclared and + standardised server queues. If the queue name starts with "amq." + and the passive option is zero, the server MUST raise a connection + exception with reply code 403 (access refused). + </rule> + <assert check="regexp" value="^[a-zA-Z0-9-_.:]*$"/> + </field> + <field name="passive" type="bit"> + do not create queue + <doc> + If set, the server will not create the queue. The client can use + this to check whether a queue exists without modifying the server + state. + </doc> + <rule implement="MUST"> + <test>amq_queue_05</test> + If set, and the queue does not already exist, the server MUST + respond with a reply code 404 (not found) and raise a channel + exception. + </rule> + </field> + <field name="durable" type="bit"> + request a durable queue + <doc> + If set when creating a new queue, the queue will be marked as + durable. Durable queues remain active when a server restarts. + Non-durable queues (transient queues) are purged if/when a + server restarts. Note that durable queues do not necessarily + hold persistent messages, although it does not make sense to + send persistent messages to a transient queue. + </doc> + <rule implement="MUST"> + <test>amq_queue_03</test> + The server MUST recreate the durable queue after a restart. + </rule> + <rule implement="MUST"> + <test>amq_queue_36</test> + The server MUST support both durable and transient queues. + </rule> + <rule implement="MUST"> + <test>amq_queue_37</test> + The server MUST ignore the durable field if the queue already + exists. + </rule> + </field> + <field name="exclusive" type="bit"> + request an exclusive queue + <doc> + Exclusive queues may only be consumed from by the current connection. + Setting the 'exclusive' flag always implies 'auto-delete'. + </doc> + <rule implement="MUST"> + <test>amq_queue_38</test> + The server MUST support both exclusive (private) and non-exclusive + (shared) queues. + </rule> + <rule implement="MUST"> + <test>amq_queue_04</test> + The server MUST raise a channel exception if 'exclusive' is specified + and the queue already exists and is owned by a different connection. + </rule> + </field> + <field name="auto delete" type="bit"> + auto-delete queue when unused + <doc> + If set, the queue is deleted when all consumers have finished + using it. Last consumer can be cancelled either explicitly or because + its channel is closed. If there was no consumer ever on the queue, it + won't be deleted. + </doc> + <rule implement="SHOULD"> + <test>amq_queue_02</test> + The server SHOULD allow for a reasonable delay between the point + when it determines that a queue is not being used (or no longer + used), and the point when it deletes the queue. At the least it + must allow a client to create a queue and then create a consumer + to read from it, with a small but non-zero delay between these + two actions. The server should equally allow for clients that may + be disconnected prematurely, and wish to re-consume from the same + queue without losing messages. We would recommend a configurable + timeout, with a suitable default value being one minute. + </rule> + <rule implement="MUST"> + <test>amq_queue_31</test> + The server MUST ignore the auto-delete field if the queue already + exists. + </rule> + </field> + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> + + <field name="arguments" type="table"> + arguments for declaration + <doc> + A set of arguments for the declaration. The syntax and semantics + of these arguments depends on the server implementation. This + field is ignored if passive is 1. + </doc> + </field> + </method> + <method name="declare-ok" synchronous="1" index="11"> + confirms a queue definition + <doc> + This method confirms a Declare method and confirms the name of the + queue, essential for automatically-named queues. + </doc> + <chassis name="client" implement="MUST"/> + <field name="queue" domain="queue name"> + <doc> + Reports the name of the queue. If the server generated a queue + name, this field contains that name. + </doc> + <assert check="notnull"/> + </field> + <field name="message count" type="long"> + number of messages in queue + <doc> + Reports the number of messages in the queue, which will be zero + for newly-created queues. + </doc> + </field> + <field name="consumer count" type="long"> + number of consumers + <doc> + Reports the number of active consumers for the queue. Note that + consumers can suspend activity (Channel.Flow) in which case they + do not appear in this count. + </doc> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="bind" synchronous="1" index="20"> + bind queue to an exchange + <doc> + This method binds a queue to an exchange. Until a queue is + bound it will not receive any messages. In a classic messaging + model, store-and-forward queues are bound to a dest exchange + and subscription queues are bound to a dest_wild exchange. + </doc> + <rule implement="MUST"> + <test>amq_queue_25</test> + A server MUST allow ignore duplicate bindings - that is, two or + more bind methods for a specific queue, with identical arguments + - without treating these as an error. + </rule> + <rule implement="MUST"> + <test>amq_queue_39</test> + If a bind fails, the server MUST raise a connection exception. + </rule> + <rule implement="MUST"> + <test>amq_queue_12</test> + The server MUST NOT allow a durable queue to bind to a transient + exchange. If the client attempts this the server MUST raise a + channel exception. + </rule> + <rule implement="SHOULD"> + <test>amq_queue_13</test> + Bindings for durable queues are automatically durable and the + server SHOULD restore such bindings after a server restart. + </rule> + <rule implement="MUST"> + <test>amq_queue_17</test> + If the client attempts to an exchange that was declared as internal, + the server MUST raise a connection exception with reply code 530 + (not allowed). + </rule> + <rule implement="SHOULD"> + <test>amq_queue_40</test> + The server SHOULD support at least 4 bindings per queue, and + ideally, impose no limit except as defined by available resources. + </rule> + <chassis name="server" implement="MUST"/> + <response name="bind-ok"/> + <field name="ticket" domain="access ticket"> + <doc> + The client provides a valid access ticket giving "active" + access rights to the queue's access realm. + </doc> + </field> + + <field name = "queue" domain = "queue name"> + <doc> + Specifies the name of the queue to bind. If the queue name is + empty, refers to the current queue for the channel, which is + the last declared queue. + </doc> + <doc name = "rule"> + If the client did not previously declare a queue, and the queue + name in this method is empty, the server MUST raise a connection + exception with reply code 530 (not allowed). + </doc> + <doc name = "rule" test = "amq_queue_26"> + If the queue does not exist the server MUST raise a channel exception + with reply code 404 (not found). + </doc> + </field> + + <field name="exchange" domain="exchange name"> + The name of the exchange to bind to. + <rule implement="MUST"> + <test>amq_queue_14</test> + If the exchange does not exist the server MUST raise a channel + exception with reply code 404 (not found). + </rule> + </field> + <field name="routing key" type="shortstr"> + message routing key + <doc> + Specifies the routing key for the binding. The routing key is + used for routing messages depending on the exchange configuration. + Not all exchanges use a routing key - refer to the specific + exchange documentation. If the routing key is empty and the queue + name is empty, the routing key will be the current queue for the + channel, which is the last declared queue. + </doc> + </field> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> + + <field name="arguments" type="table"> + arguments for binding + <doc> + A set of arguments for the binding. The syntax and semantics of + these arguments depends on the exchange class. + </doc> + </field> + </method> + <method name="bind-ok" synchronous="1" index="21"> + confirm bind successful + <doc> + This method confirms that the bind was successful. + </doc> + <chassis name="client" implement="MUST"/> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="purge" synchronous="1" index="30"> + purge a queue + <doc> + This method removes all messages from a queue. It does not cancel + consumers. Purged messages are deleted without any formal "undo" + mechanism. + </doc> + <rule implement="MUST"> + <test>amq_queue_15</test> + A call to purge MUST result in an empty queue. + </rule> + <rule implement="MUST"> + <test>amq_queue_41</test> + On transacted channels the server MUST not purge messages that have + already been sent to a client but not yet acknowledged. + </rule> + <rule implement="MAY"> + <test>amq_queue_42</test> + The server MAY implement a purge queue or log that allows system + administrators to recover accidentally-purged messages. The server + SHOULD NOT keep purged messages in the same storage spaces as the + live messages since the volumes of purged messages may get very + large. + </rule> + <chassis name="server" implement="MUST"/> + <response name="purge-ok"/> + <field name="ticket" domain="access ticket"> + <doc> + The access ticket must be for the access realm that holds the + queue. + </doc> + <rule implement="MUST"> + The client MUST provide a valid access ticket giving "read" access + rights to the queue's access realm. Note that purging a queue is + equivalent to reading all messages and discarding them. + </rule> + </field> + <field name = "queue" domain = "queue name"> + <doc> + Specifies the name of the queue to purge. If the queue name is + empty, refers to the current queue for the channel, which is + the last declared queue. + </doc> + <doc name = "rule"> + If the client did not previously declare a queue, and the queue + name in this method is empty, the server MUST raise a connection + exception with reply code 530 (not allowed). + </doc> + <doc name = "rule" test = "amq_queue_16"> + The queue must exist. Attempting to purge a non-existing queue + causes a channel exception. + </doc> + </field> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> + </method> + <method name="purge-ok" synchronous="1" index="31"> + confirms a queue purge + <doc> + This method confirms the purge of a queue. + </doc> + <chassis name="client" implement="MUST"/> + <field name="message count" type="long"> + number of messages purged + <doc> + Reports the number of messages purged. + </doc> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="delete" synchronous="1" index="40"> + delete a queue + <doc> + This method deletes a queue. When a queue is deleted any pending + messages are sent to a dead-letter queue if this is defined in the + server configuration, and all consumers on the queue are cancelled. + </doc> + <rule implement="SHOULD"> + <test>amq_queue_43</test> + The server SHOULD use a dead-letter queue to hold messages that + were pending on a deleted queue, and MAY provide facilities for + a system administrator to move these messages back to an active + queue. + </rule> + <chassis name="server" implement="MUST"/> + <response name="delete-ok"/> + <field name="ticket" domain="access ticket"> + <doc> + The client provides a valid access ticket giving "active" + access rights to the queue's access realm. + </doc> + </field> + + <field name = "queue" domain = "queue name"> + <doc> + Specifies the name of the queue to delete. If the queue name is + empty, refers to the current queue for the channel, which is the + last declared queue. + </doc> + <doc name = "rule"> + If the client did not previously declare a queue, and the queue + name in this method is empty, the server MUST raise a connection + exception with reply code 530 (not allowed). + </doc> + <doc name = "rule" test = "amq_queue_21"> + The queue must exist. Attempting to delete a non-existing queue + causes a channel exception. + </doc> + </field> + + <field name="if unused" type="bit"> + delete only if unused + <doc> + If set, the server will only delete the queue if it has no + consumers. If the queue has consumers the server does does not + delete it but raises a channel exception instead. + </doc> + <rule implement="MUST"> + <test>amq_queue_29</test> + <test>amq_queue_30</test> + The server MUST respect the if-unused flag when deleting a queue. + </rule> + </field> + <field name="if empty" type="bit"> + delete only if empty + <test>amq_queue_27</test> + <doc> + If set, the server will only delete the queue if it has no + messages. If the queue is not empty the server raises a channel + exception. + </doc> + </field> + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> + </method> + + <method name="delete-ok" synchronous="1" index="41"> + confirm deletion of a queue + <doc> + This method confirms the deletion of a queue. + </doc> + <chassis name="client" implement="MUST"/> + <field name="message count" type="long"> + number of messages purged + <doc> + Reports the number of messages purged. + </doc> + </field> + </method> + </class> + <class name="basic" handler="channel" index="60"> + <!-- +====================================================== +== BASIC MIDDLEWARE +====================================================== +--> + work with basic content +<doc> + The Basic class provides methods that support an industry-standard + messaging model. +</doc> + +<doc name = "grammar"> + basic = C:QOS S:QOS-OK + / C:CONSUME S:CONSUME-OK + / C:CANCEL S:CANCEL-OK + / C:PUBLISH content + / S:RETURN content + / S:DELIVER content + / C:GET ( S:GET-OK content / S:GET-EMPTY ) + / C:ACK + / C:REJECT +</doc> + +<chassis name = "server" implement = "MUST" /> +<chassis name = "client" implement = "MAY" /> + +<doc name = "rule" test = "amq_basic_08"> + The server SHOULD respect the persistent property of basic messages + and SHOULD make a best-effort to hold persistent basic messages on a + reliable storage mechanism. +</doc> +<doc name = "rule" test = "amq_basic_09"> + The server MUST NOT discard a persistent basic message in case of a + queue overflow. The server MAY use the Channel.Flow method to slow + or stop a basic message publisher when necessary. +</doc> +<doc name = "rule" test = "amq_basic_10"> + The server MAY overflow non-persistent basic messages to persistent + storage and MAY discard or dead-letter non-persistent basic messages + on a priority basis if the queue size exceeds some configured limit. +</doc> +<doc name = "rule" test = "amq_basic_11"> + The server MUST implement at least 2 priority levels for basic + messages, where priorities 0-4 and 5-9 are treated as two distinct + levels. The server MAY implement up to 10 priority levels. +</doc> +<doc name = "rule" test = "amq_basic_12"> + The server MUST deliver messages of the same priority in order + irrespective of their individual persistence. +</doc> +<doc name = "rule" test = "amq_basic_13"> + The server MUST support both automatic and explicit acknowledgements + on Basic content. +</doc> + +<!-- These are the properties for a Basic content --> + +<field name = "content type" type = "shortstr"> + MIME content type +</field> +<field name = "content encoding" type = "shortstr"> + MIME content encoding +</field> +<field name = "headers" type = "table"> + Message header field table +</field> +<field name = "delivery mode" type = "octet"> + Non-persistent (1) or persistent (2) +</field> +<field name = "priority" type = "octet"> + The message priority, 0 to 9 +</field> +<field name = "correlation id" type = "shortstr"> + The application correlation identifier +</field> +<field name = "reply to" type = "shortstr"> + The destination to reply to +</field> +<field name = "expiration" type = "shortstr"> + Message expiration specification +</field> +<field name = "message id" type = "shortstr"> + The application message identifier +</field> +<field name = "timestamp" type = "timestamp"> + The message timestamp +</field> +<field name = "type" type = "shortstr"> + The message type name +</field> +<field name = "user id" type = "shortstr"> + The creating user id +</field> +<field name = "app id" type = "shortstr"> + The creating application id +</field> +<field name = "cluster id" type = "shortstr"> + Intra-cluster routing identifier +</field> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "qos" synchronous = "1" index = "10"> + specify quality of service + <doc> + This method requests a specific quality of service. The QoS can + be specified for the current channel or for all channels on the + connection. The particular properties and semantics of a qos method + always depend on the content class semantics. Though the qos method + could in principle apply to both peers, it is currently meaningful + only for the server. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "qos-ok" /> + + <field name = "prefetch size" type = "long"> + prefetch window in octets + <doc> + The client can request that messages be sent in advance so that + when the client finishes processing a message, the following + message is already held locally, rather than needing to be sent + down the channel. Prefetching gives a performance improvement. + This field specifies the prefetch window size in octets. The + server will send a message in advance if it is equal to or + smaller in size than the available prefetch size (and also falls + into other prefetch limits). May be set to zero, meaning "no + specific limit", although other prefetch limits may still apply. + The prefetch-size is ignored if the no-ack option is set. + </doc> + <doc name = "rule" test = "amq_basic_17"> + The server MUST ignore this setting when the client is not + processing any messages - i.e. the prefetch size does not limit + the transfer of single messages to a client, only the sending in + advance of more messages while the client still has one or more + unacknowledged messages. + </doc> + </field> + + <field name = "prefetch count" type = "short"> + prefetch window in messages + <doc> + Specifies a prefetch window in terms of whole messages. This + field may be used in combination with the prefetch-size field; + a message will only be sent in advance if both prefetch windows + (and those at the channel and connection level) allow it. + The prefetch-count is ignored if the no-ack option is set. + </doc> + <doc name = "rule" test = "amq_basic_18"> + The server MAY send less data in advance than allowed by the + client's specified prefetch windows but it MUST NOT send more. + </doc> + </field> + + <field name = "global" type = "bit"> + apply to entire connection + <doc> + By default the QoS settings apply to the current channel only. If + this field is set, they are applied to the entire connection. + </doc> + </field> +</method> + +<method name = "qos-ok" synchronous = "1" index = "11"> + confirm the requested qos + <doc> + This method tells the client that the requested QoS levels could + be handled by the server. The requested QoS applies to all active + consumers until a new QoS is defined. + </doc> + <chassis name = "client" implement = "MUST" /> +</method> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "consume" synchronous = "1" index = "20"> + start a queue consumer + <doc> + This method asks the server to start a "consumer", which is a + transient request for messages from a specific queue. Consumers + last as long as the channel they were created on, or until the + client cancels them. + </doc> + <doc name = "rule" test = "amq_basic_01"> + The server SHOULD support at least 16 consumers per queue, unless + the queue was declared as private, and ideally, impose no limit + except as defined by available resources. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "consume-ok" /> + + <field name = "ticket" domain = "access ticket"> + <doc name = "rule"> + The client MUST provide a valid access ticket giving "read" access + rights to the realm for the queue. + </doc> + </field> + + <field name = "queue" domain = "queue name"> + <doc> + Specifies the name of the queue to consume from. If the queue name + is null, refers to the current queue for the channel, which is the + last declared queue. + </doc> + <doc name = "rule"> + If the client did not previously declare a queue, and the queue name + in this method is empty, the server MUST raise a connection exception + with reply code 530 (not allowed). + </doc> + </field> + + <field name = "consumer tag" domain = "consumer tag"> + <doc> + Specifies the identifier for the consumer. The consumer tag is + local to a connection, so two clients can use the same consumer + tags. If this field is empty the server will generate a unique + tag. + </doc> + <doc name = "rule" test = "todo"> + The tag MUST NOT refer to an existing consumer. If the client + attempts to create two consumers with the same non-empty tag + the server MUST raise a connection exception with reply code + 530 (not allowed). + </doc> + </field> + + <field name = "no local" domain = "no local" /> + + <field name = "no ack" domain = "no ack" /> + + <field name = "exclusive" type = "bit"> + request exclusive access + <doc> + Request exclusive consumer access, meaning only this consumer can + access the queue. + </doc> + <doc name = "rule" test = "amq_basic_02"> + If the server cannot grant exclusive access to the queue when asked, + - because there are other consumers active - it MUST raise a channel + exception with return code 403 (access refused). + </doc> + </field> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> +</method> + +<method name = "consume-ok" synchronous = "1" index = "21"> + confirm a new consumer + <doc> + The server provides the client with a consumer tag, which is used + by the client for methods called on the consumer at a later stage. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag"> + <doc> + Holds the consumer tag specified by the client or provided by + the server. + </doc> + </field> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "cancel" synchronous = "1" index = "30"> + end a queue consumer + <doc test = "amq_basic_04"> + This method cancels a consumer. This does not affect already + delivered messages, but it does mean the server will not send any + more messages for that consumer. The client may receive an + abitrary number of messages in between sending the cancel method + and receiving the cancel-ok reply. + </doc> + <doc name = "rule" test = "todo"> + If the queue no longer exists when the client sends a cancel command, + or the consumer has been cancelled for other reasons, this command + has no effect. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "cancel-ok" /> + + <field name = "consumer tag" domain = "consumer tag" /> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> +</method> + +<method name = "cancel-ok" synchronous = "1" index = "31"> + confirm a cancelled consumer + <doc> + This method confirms that the cancellation was completed. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag" /> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "publish" content = "1" index = "40"> + publish a message + <doc> + This method publishes a message to a specific exchange. The message + will be routed to queues as defined by the exchange configuration + and distributed to any active consumers when the transaction, if any, + is committed. + </doc> + <chassis name = "server" implement = "MUST" /> + + <field name = "ticket" domain = "access ticket"> + <doc name = "rule"> + The client MUST provide a valid access ticket giving "write" + access rights to the access realm for the exchange. + </doc> + </field> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange to publish to. The exchange + name can be empty, meaning the default exchange. If the exchange + name is specified, and that exchange does not exist, the server + will raise a channel exception. + </doc> + <doc name = "rule" test = "amq_basic_06"> + The server MUST accept a blank exchange name to mean the default + exchange. + </doc> + <doc name = "rule" test = "amq_basic_14"> + If the exchange was declared as an internal exchange, the server + MUST raise a channel exception with a reply code 403 (access + refused). + </doc> + <doc name = "rule" test = "amq_basic_15"> + The exchange MAY refuse basic content in which case it MUST raise + a channel exception with reply code 540 (not implemented). + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key for the message. The routing key is + used for routing messages depending on the exchange configuration. + </doc> + </field> + + <field name = "mandatory" type = "bit"> + indicate mandatory routing + <doc> + This flag tells the server how to react if the message cannot be + routed to a queue. If this flag is set, the server will return an + unroutable message with a Return method. If this flag is zero, the + server silently drops the message. + </doc> + <doc name = "rule" test = "amq_basic_07"> + The server SHOULD implement the mandatory flag. + </doc> + </field> + + <field name = "immediate" type = "bit"> + request immediate delivery + <doc> + This flag tells the server how to react if the message cannot be + routed to a queue consumer immediately. If this flag is set, the + server will return an undeliverable message with a Return method. + If this flag is zero, the server will queue the message, but with + no guarantee that it will ever be consumed. + </doc> + <doc name = "rule" test = "amq_basic_16"> + The server SHOULD implement the immediate flag. + </doc> + </field> +</method> + +<method name = "return" content = "1" index = "50"> + return a failed message + <doc> + This method returns an undeliverable message that was published + with the "immediate" flag set, or an unroutable message published + with the "mandatory" flag set. The reply code and text provide + information about the reason that the message was undeliverable. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "reply code" domain = "reply code" /> + <field name = "reply text" domain = "reply text" /> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange that the message was + originally published to. + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key name specified when the message was + published. + </doc> + </field> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "deliver" content = "1" index = "60"> + notify the client of a consumer message + <doc> + This method delivers a message to the client, via a consumer. In + the asynchronous message delivery model, the client starts a + consumer using the Consume method, then the server responds with + Deliver methods as and when messages arrive for that consumer. + </doc> + <doc name = "rule" test = "amq_basic_19"> + The server SHOULD track the number of times a message has been + delivered to clients and when a message is redelivered a certain + number of times - e.g. 5 times - without being acknowledged, the + server SHOULD consider the message to be unprocessable (possibly + causing client applications to abort), and move the message to a + dead letter queue. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag" /> + + <field name = "delivery tag" domain = "delivery tag" /> + + <field name = "redelivered" domain = "redelivered" /> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange that the message was + originally published to. + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key name specified when the message was + published. + </doc> + </field> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "get" synchronous = "1" index = "70"> + direct access to a queue + <doc> + This method provides a direct access to the messages in a queue + using a synchronous dialogue that is designed for specific types of + application where synchronous functionality is more important than + performance. + </doc> + <response name = "get-ok" /> + <response name = "get-empty" /> + <chassis name = "server" implement = "MUST" /> + + <field name = "ticket" domain = "access ticket"> + <doc name = "rule"> + The client MUST provide a valid access ticket giving "read" + access rights to the realm for the queue. + </doc> + </field> + + <field name = "queue" domain = "queue name"> + <doc> + Specifies the name of the queue to consume from. If the queue name + is null, refers to the current queue for the channel, which is the + last declared queue. + </doc> + <doc name = "rule"> + If the client did not previously declare a queue, and the queue name + in this method is empty, the server MUST raise a connection exception + with reply code 530 (not allowed). + </doc> + </field> + + <field name = "no ack" domain = "no ack" /> +</method> + +<method name = "get-ok" synchronous = "1" content = "1" index = "71"> + provide client with a message + <doc> + This method delivers a message to the client following a get + method. A message delivered by 'get-ok' must be acknowledged + unless the no-ack option was set in the get method. + </doc> + <chassis name = "client" implement = "MAY" /> + + <field name = "delivery tag" domain = "delivery tag" /> + + <field name = "redelivered" domain = "redelivered" /> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange that the message was originally + published to. If empty, the message was published to the default + exchange. + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key name specified when the message was + published. + </doc> + </field> + + <field name = "message count" type = "long" > + number of messages pending + <doc> + This field reports the number of messages pending on the queue, + excluding the message being delivered. Note that this figure is + indicative, not reliable, and can change arbitrarily as messages + are added to the queue and removed by other clients. + </doc> + </field> +</method> + + +<method name = "get-empty" synchronous = "1" index = "72"> + indicate no messages available + <doc> + This method tells the client that the queue has no messages + available for the client. + </doc> + <chassis name = "client" implement = "MAY" /> + + <field name = "cluster id" type = "shortstr"> + Cluster id + <doc> + For use by cluster applications, should not be used by + client applications. + </doc> + </field> +</method> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "ack" index = "80"> + acknowledge one or more messages + <doc> + This method acknowledges one or more messages delivered via the + Deliver or Get-Ok methods. The client can ask to confirm a + single message or a set of messages up to and including a specific + message. + </doc> + <chassis name = "server" implement = "MUST" /> + <field name = "delivery tag" domain = "delivery tag" /> + + <field name = "multiple" type = "bit"> + acknowledge multiple messages + <doc> + If set to 1, the delivery tag is treated as "up to and including", + so that the client can acknowledge multiple messages with a single + method. If set to zero, the delivery tag refers to a single + message. If the multiple field is 1, and the delivery tag is zero, + tells the server to acknowledge all outstanding mesages. + </doc> + <doc name = "rule" test = "amq_basic_20"> + The server MUST validate that a non-zero delivery-tag refers to an + delivered message, and raise a channel exception if this is not the + case. + </doc> + </field> +</method> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "reject" index = "90"> + reject an incoming message + <doc> + This method allows a client to reject a message. It can be used to + interrupt and cancel large incoming messages, or return untreatable + messages to their original queue. + </doc> + <doc name = "rule" test = "amq_basic_21"> + The server SHOULD be capable of accepting and process the Reject + method while sending message content with a Deliver or Get-Ok + method. I.e. the server should read and process incoming methods + while sending output frames. To cancel a partially-send content, + the server sends a content body frame of size 1 (i.e. with no data + except the frame-end octet). + </doc> + <doc name = "rule" test = "amq_basic_22"> + The server SHOULD interpret this method as meaning that the client + is unable to process the message at this time. + </doc> + <doc name = "rule"> + A client MUST NOT use this method as a means of selecting messages + to process. A rejected message MAY be discarded or dead-lettered, + not necessarily passed to another client. + </doc> + <chassis name = "server" implement = "MUST" /> + + <field name = "delivery tag" domain = "delivery tag" /> + + <field name = "requeue" type = "bit"> + requeue the message + <doc> + If this field is zero, the message will be discarded. If this bit + is 1, the server will attempt to requeue the message. + </doc> + <doc name = "rule" test = "amq_basic_23"> + The server MUST NOT deliver the message to the same client within + the context of the current channel. The recommended strategy is + to attempt to deliver the message to an alternative consumer, and + if that is not possible, to move the message to a dead-letter + queue. The server MAY use more sophisticated tracking to hold + the message on the queue and redeliver it to the same client at + a later stage. + </doc> + </field> +</method> + +<method name = "recover" index = "100"> + redeliver unacknowledged messages + <doc> + This method asks the broker to redeliver all unacknowledged messages on a + specified channel. Zero or more messages may be redelivered. This method + is only allowed on non-transacted channels. + </doc> + <chassis name = "server" implement = "MUST" /> + + <field name = "requeue" type = "bit"> + requeue the message + <doc> + If this field is zero, the message will be redelivered to the original + recipient. If this bit is 1, the server will attempt to requeue the + message, potentially then delivering it to an alternative subscriber. + </doc> + </field> + <doc name="rule"> + The server MUST set the redelivered flag on all messages that are resent. + </doc> + <doc name="rule"> + The server MUST raise a channel exception if this is called on a + transacted channel. + </doc> +</method> + +</class> + + + <class name="file" handler="channel" index="70"> + <!-- +====================================================== +== FILE TRANSFER +====================================================== +--> + work with file content +<doc> + The file class provides methods that support reliable file transfer. + File messages have a specific set of properties that are required for + interoperability with file transfer applications. File messages and + acknowledgements are subject to channel transactions. Note that the + file class does not provide message browsing methods; these are not + compatible with the staging model. Applications that need browsable + file transfer should use Basic content and the Basic class. +</doc> + +<doc name = "grammar"> + file = C:QOS S:QOS-OK + / C:CONSUME S:CONSUME-OK + / C:CANCEL S:CANCEL-OK + / C:OPEN S:OPEN-OK C:STAGE content + / S:OPEN C:OPEN-OK S:STAGE content + / C:PUBLISH + / S:DELIVER + / S:RETURN + / C:ACK + / C:REJECT +</doc> + +<chassis name = "server" implement = "MAY" /> +<chassis name = "client" implement = "MAY" /> + +<doc name = "rule"> + The server MUST make a best-effort to hold file messages on a + reliable storage mechanism. +</doc> +<doc name = "rule"> + The server MUST NOT discard a file message in case of a queue + overflow. The server MUST use the Channel.Flow method to slow or stop + a file message publisher when necessary. +</doc> +<doc name = "rule"> + The server MUST implement at least 2 priority levels for file + messages, where priorities 0-4 and 5-9 are treated as two distinct + levels. The server MAY implement up to 10 priority levels. +</doc> +<doc name = "rule"> + The server MUST support both automatic and explicit acknowledgements + on file content. +</doc> + +<!-- These are the properties for a File content --> + +<field name = "content type" type = "shortstr"> + MIME content type +</field> +<field name = "content encoding" type = "shortstr"> + MIME content encoding +</field> +<field name = "headers" type = "table"> + Message header field table +</field> +<field name = "priority" type = "octet"> + The message priority, 0 to 9 +</field> +<field name = "reply to" type = "shortstr"> + The destination to reply to +</field> +<field name = "message id" type = "shortstr"> + The application message identifier +</field> +<field name = "filename" type = "shortstr"> + The message filename +</field> +<field name = "timestamp" type = "timestamp"> + The message timestamp +</field> +<field name = "cluster id" type = "shortstr"> + Intra-cluster routing identifier +</field> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "qos" synchronous = "1" index = "10"> + specify quality of service + <doc> + This method requests a specific quality of service. The QoS can + be specified for the current channel or for all channels on the + connection. The particular properties and semantics of a qos method + always depend on the content class semantics. Though the qos method + could in principle apply to both peers, it is currently meaningful + only for the server. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "qos-ok" /> + + <field name = "prefetch size" type = "long"> + prefetch window in octets + <doc> + The client can request that messages be sent in advance so that + when the client finishes processing a message, the following + message is already held locally, rather than needing to be sent + down the channel. Prefetching gives a performance improvement. + This field specifies the prefetch window size in octets. May be + set to zero, meaning "no specific limit". Note that other + prefetch limits may still apply. The prefetch-size is ignored + if the no-ack option is set. + </doc> + </field> + + <field name = "prefetch count" type = "short"> + prefetch window in messages + <doc> + Specifies a prefetch window in terms of whole messages. This + is compatible with some file API implementations. This field + may be used in combination with the prefetch-size field; a + message will only be sent in advance if both prefetch windows + (and those at the channel and connection level) allow it. + The prefetch-count is ignored if the no-ack option is set. + </doc> + <doc name = "rule"> + The server MAY send less data in advance than allowed by the + client's specified prefetch windows but it MUST NOT send more. + </doc> + </field> + + <field name = "global" type = "bit"> + apply to entire connection + <doc> + By default the QoS settings apply to the current channel only. If + this field is set, they are applied to the entire connection. + </doc> + </field> +</method> + +<method name = "qos-ok" synchronous = "1" index = "11"> + confirm the requested qos + <doc> + This method tells the client that the requested QoS levels could + be handled by the server. The requested QoS applies to all active + consumers until a new QoS is defined. + </doc> + <chassis name = "client" implement = "MUST" /> +</method> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "consume" synchronous = "1" index = "20"> + start a queue consumer + <doc> + This method asks the server to start a "consumer", which is a + transient request for messages from a specific queue. Consumers + last as long as the channel they were created on, or until the + client cancels them. + </doc> + <doc name = "rule"> + The server SHOULD support at least 16 consumers per queue, unless + the queue was declared as private, and ideally, impose no limit + except as defined by available resources. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "consume-ok" /> + + <field name = "ticket" domain = "access ticket"> + <doc name = "rule"> + The client MUST provide a valid access ticket giving "read" access + rights to the realm for the queue. + </doc> + </field> + + <field name = "queue" domain = "queue name"> + <doc> + Specifies the name of the queue to consume from. If the queue name + is null, refers to the current queue for the channel, which is the + last declared queue. + </doc> + <doc name = "rule"> + If the client did not previously declare a queue, and the queue name + in this method is empty, the server MUST raise a connection exception + with reply code 530 (not allowed). + </doc> + </field> + + <field name = "consumer tag" domain = "consumer tag"> + <doc> + Specifies the identifier for the consumer. The consumer tag is + local to a connection, so two clients can use the same consumer + tags. If this field is empty the server will generate a unique + tag. + </doc> + <doc name = "rule" test = "todo"> + The tag MUST NOT refer to an existing consumer. If the client + attempts to create two consumers with the same non-empty tag + the server MUST raise a connection exception with reply code + 530 (not allowed). + </doc> + </field> + + <field name = "no local" domain = "no local" /> + + <field name = "no ack" domain = "no ack" /> + + <field name = "exclusive" type = "bit"> + request exclusive access + <doc> + Request exclusive consumer access, meaning only this consumer can + access the queue. + </doc> + <doc name = "rule" test = "amq_file_00"> + If the server cannot grant exclusive access to the queue when asked, + - because there are other consumers active - it MUST raise a channel + exception with return code 405 (resource locked). + </doc> + </field> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> +</method> + +<method name = "consume-ok" synchronous = "1" index = "21"> + confirm a new consumer + <doc> + This method provides the client with a consumer tag which it MUST + use in methods that work with the consumer. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag"> + <doc> + Holds the consumer tag specified by the client or provided by + the server. + </doc> + </field> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "cancel" synchronous = "1" index = "30"> + end a queue consumer + <doc> + This method cancels a consumer. This does not affect already + delivered messages, but it does mean the server will not send any + more messages for that consumer. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "cancel-ok" /> + + <field name = "consumer tag" domain = "consumer tag" /> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> +</method> + +<method name = "cancel-ok" synchronous = "1" index = "31"> + confirm a cancelled consumer + <doc> + This method confirms that the cancellation was completed. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag" /> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "open" synchronous = "1" index = "40"> + request to start staging + <doc> + This method requests permission to start staging a message. Staging + means sending the message into a temporary area at the recipient end + and then delivering the message by referring to this temporary area. + Staging is how the protocol handles partial file transfers - if a + message is partially staged and the connection breaks, the next time + the sender starts to stage it, it can restart from where it left off. + </doc> + <response name = "open-ok" /> + <chassis name = "server" implement = "MUST" /> + <chassis name = "client" implement = "MUST" /> + + <field name = "identifier" type = "shortstr"> + staging identifier + <doc> + This is the staging identifier. This is an arbitrary string chosen + by the sender. For staging to work correctly the sender must use + the same staging identifier when staging the same message a second + time after recovery from a failure. A good choice for the staging + identifier would be the SHA1 hash of the message properties data + (including the original filename, revised time, etc.). + </doc> + </field> + + <field name = "content size" type = "longlong"> + message content size + <doc> + The size of the content in octets. The recipient may use this + information to allocate or check available space in advance, to + avoid "disk full" errors during staging of very large messages. + </doc> + <doc name = "rule"> + The sender MUST accurately fill the content-size field. + Zero-length content is permitted. + </doc> + </field> +</method> + +<method name = "open-ok" synchronous = "1" index = "41"> + confirm staging ready + <doc> + This method confirms that the recipient is ready to accept staged + data. If the message was already partially-staged at a previous + time the recipient will report the number of octets already staged. + </doc> + <response name = "stage" /> + <chassis name = "server" implement = "MUST" /> + <chassis name = "client" implement = "MUST" /> + + <field name = "staged size" type = "longlong"> + already staged amount + <doc> + The amount of previously-staged content in octets. For a new + message this will be zero. + </doc> + <doc name = "rule"> + The sender MUST start sending data from this octet offset in the + message, counting from zero. + </doc> + <doc name = "rule"> + The recipient MAY decide how long to hold partially-staged content + and MAY implement staging by always discarding partially-staged + content. However if it uses the file content type it MUST support + the staging methods. + </doc> + </field> +</method> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "stage" content = "1" index = "50"> + stage message content + <doc> + This method stages the message, sending the message content to the + recipient from the octet offset specified in the Open-Ok method. + </doc> + <chassis name = "server" implement = "MUST" /> + <chassis name = "client" implement = "MUST" /> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "publish" index = "60"> + publish a message + <doc> + This method publishes a staged file message to a specific exchange. + The file message will be routed to queues as defined by the exchange + configuration and distributed to any active consumers when the + transaction, if any, is committed. + </doc> + <chassis name = "server" implement = "MUST" /> + + <field name = "ticket" domain = "access ticket"> + <doc name = "rule"> + The client MUST provide a valid access ticket giving "write" + access rights to the access realm for the exchange. + </doc> + </field> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange to publish to. The exchange + name can be empty, meaning the default exchange. If the exchange + name is specified, and that exchange does not exist, the server + will raise a channel exception. + </doc> + <doc name = "rule"> + The server MUST accept a blank exchange name to mean the default + exchange. + </doc> + <doc name = "rule"> + If the exchange was declared as an internal exchange, the server + MUST respond with a reply code 403 (access refused) and raise a + channel exception. + </doc> + <doc name = "rule"> + The exchange MAY refuse file content in which case it MUST respond + with a reply code 540 (not implemented) and raise a channel + exception. + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key for the message. The routing key is + used for routing messages depending on the exchange configuration. + </doc> + </field> + + <field name = "mandatory" type = "bit"> + indicate mandatory routing + <doc> + This flag tells the server how to react if the message cannot be + routed to a queue. If this flag is set, the server will return an + unroutable message with a Return method. If this flag is zero, the + server silently drops the message. + </doc> + <doc name = "rule" test = "amq_file_00"> + The server SHOULD implement the mandatory flag. + </doc> + </field> + + <field name = "immediate" type = "bit"> + request immediate delivery + <doc> + This flag tells the server how to react if the message cannot be + routed to a queue consumer immediately. If this flag is set, the + server will return an undeliverable message with a Return method. + If this flag is zero, the server will queue the message, but with + no guarantee that it will ever be consumed. + </doc> + <doc name = "rule" test = "amq_file_00"> + The server SHOULD implement the immediate flag. + </doc> + </field> + + <field name = "identifier" type = "shortstr"> + staging identifier + <doc> + This is the staging identifier of the message to publish. The + message must have been staged. Note that a client can send the + Publish method asynchronously without waiting for staging to + finish. + </doc> + </field> +</method> + +<method name = "return" content = "1" index = "70"> + return a failed message + <doc> + This method returns an undeliverable message that was published + with the "immediate" flag set, or an unroutable message published + with the "mandatory" flag set. The reply code and text provide + information about the reason that the message was undeliverable. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "reply code" domain = "reply code" /> + <field name = "reply text" domain = "reply text" /> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange that the message was + originally published to. + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key name specified when the message was + published. + </doc> + </field> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "deliver" index = "80"> + notify the client of a consumer message + <doc> + This method delivers a staged file message to the client, via a + consumer. In the asynchronous message delivery model, the client + starts a consumer using the Consume method, then the server + responds with Deliver methods as and when messages arrive for + that consumer. + </doc> + <doc name = "rule"> + The server SHOULD track the number of times a message has been + delivered to clients and when a message is redelivered a certain + number of times - e.g. 5 times - without being acknowledged, the + server SHOULD consider the message to be unprocessable (possibly + causing client applications to abort), and move the message to a + dead letter queue. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag" /> + + <field name = "delivery tag" domain = "delivery tag" /> + + <field name = "redelivered" domain = "redelivered" /> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange that the message was originally + published to. + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key name specified when the message was + published. + </doc> + </field> + + <field name = "identifier" type = "shortstr"> + staging identifier + <doc> + This is the staging identifier of the message to deliver. The + message must have been staged. Note that a server can send the + Deliver method asynchronously without waiting for staging to + finish. + </doc> + </field> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "ack" index = "90"> + acknowledge one or more messages + <doc> + This method acknowledges one or more messages delivered via the + Deliver method. The client can ask to confirm a single message or + a set of messages up to and including a specific message. + </doc> + <chassis name = "server" implement = "MUST" /> + <field name = "delivery tag" domain = "delivery tag" /> + + <field name = "multiple" type = "bit"> + acknowledge multiple messages + <doc> + If set to 1, the delivery tag is treated as "up to and including", + so that the client can acknowledge multiple messages with a single + method. If set to zero, the delivery tag refers to a single + message. If the multiple field is 1, and the delivery tag is zero, + tells the server to acknowledge all outstanding mesages. + </doc> + <doc name = "rule"> + The server MUST validate that a non-zero delivery-tag refers to an + delivered message, and raise a channel exception if this is not the + case. + </doc> + </field> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "reject" index = "100"> + reject an incoming message + <doc> + This method allows a client to reject a message. It can be used to + return untreatable messages to their original queue. Note that file + content is staged before delivery, so the client will not use this + method to interrupt delivery of a large message. + </doc> + <doc name = "rule"> + The server SHOULD interpret this method as meaning that the client + is unable to process the message at this time. + </doc> + <doc name = "rule"> + A client MUST NOT use this method as a means of selecting messages + to process. A rejected message MAY be discarded or dead-lettered, + not necessarily passed to another client. + </doc> + <chassis name = "server" implement = "MUST" /> + + <field name = "delivery tag" domain = "delivery tag" /> + + <field name = "requeue" type = "bit"> + requeue the message + <doc> + If this field is zero, the message will be discarded. If this bit + is 1, the server will attempt to requeue the message. + </doc> + <doc name = "rule"> + The server MUST NOT deliver the message to the same client within + the context of the current channel. The recommended strategy is + to attempt to deliver the message to an alternative consumer, and + if that is not possible, to move the message to a dead-letter + queue. The server MAY use more sophisticated tracking to hold + the message on the queue and redeliver it to the same client at + a later stage. + </doc> + </field> +</method> + +</class> + + <class name="stream" handler="channel" index="80"> + <!-- +====================================================== +== STREAMING +====================================================== +--> + work with streaming content + +<doc> + The stream class provides methods that support multimedia streaming. + The stream class uses the following semantics: one message is one + packet of data; delivery is unacknowleged and unreliable; the consumer + can specify quality of service parameters that the server can try to + adhere to; lower-priority messages may be discarded in favour of high + priority messages. +</doc> + +<doc name = "grammar"> + stream = C:QOS S:QOS-OK + / C:CONSUME S:CONSUME-OK + / C:CANCEL S:CANCEL-OK + / C:PUBLISH content + / S:RETURN + / S:DELIVER content +</doc> + +<chassis name = "server" implement = "MAY" /> +<chassis name = "client" implement = "MAY" /> + +<doc name = "rule"> + The server SHOULD discard stream messages on a priority basis if + the queue size exceeds some configured limit. +</doc> +<doc name = "rule"> + The server MUST implement at least 2 priority levels for stream + messages, where priorities 0-4 and 5-9 are treated as two distinct + levels. The server MAY implement up to 10 priority levels. +</doc> +<doc name = "rule"> + The server MUST implement automatic acknowledgements on stream + content. That is, as soon as a message is delivered to a client + via a Deliver method, the server must remove it from the queue. +</doc> + + +<!-- These are the properties for a Stream content --> + +<field name = "content type" type = "shortstr"> + MIME content type +</field> +<field name = "content encoding" type = "shortstr"> + MIME content encoding +</field> +<field name = "headers" type = "table"> + Message header field table +</field> +<field name = "priority" type = "octet"> + The message priority, 0 to 9 +</field> +<field name = "timestamp" type = "timestamp"> + The message timestamp +</field> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "qos" synchronous = "1" index = "10"> + specify quality of service + <doc> + This method requests a specific quality of service. The QoS can + be specified for the current channel or for all channels on the + connection. The particular properties and semantics of a qos method + always depend on the content class semantics. Though the qos method + could in principle apply to both peers, it is currently meaningful + only for the server. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "qos-ok" /> + + <field name = "prefetch size" type = "long"> + prefetch window in octets + <doc> + The client can request that messages be sent in advance so that + when the client finishes processing a message, the following + message is already held locally, rather than needing to be sent + down the channel. Prefetching gives a performance improvement. + This field specifies the prefetch window size in octets. May be + set to zero, meaning "no specific limit". Note that other + prefetch limits may still apply. + </doc> + </field> + + <field name = "prefetch count" type = "short"> + prefetch window in messages + <doc> + Specifies a prefetch window in terms of whole messages. This + field may be used in combination with the prefetch-size field; + a message will only be sent in advance if both prefetch windows + (and those at the channel and connection level) allow it. + </doc> + </field> + + <field name = "consume rate" type = "long"> + transfer rate in octets/second + <doc> + Specifies a desired transfer rate in octets per second. This is + usually determined by the application that uses the streaming + data. A value of zero means "no limit", i.e. as rapidly as + possible. + </doc> + <doc name = "rule"> + The server MAY ignore the prefetch values and consume rates, + depending on the type of stream and the ability of the server + to queue and/or reply it. The server MAY drop low-priority + messages in favour of high-priority messages. + </doc> + </field> + + <field name = "global" type = "bit"> + apply to entire connection + <doc> + By default the QoS settings apply to the current channel only. If + this field is set, they are applied to the entire connection. + </doc> + </field> +</method> + +<method name = "qos-ok" synchronous = "1" index = "11"> + confirm the requested qos + <doc> + This method tells the client that the requested QoS levels could + be handled by the server. The requested QoS applies to all active + consumers until a new QoS is defined. + </doc> + <chassis name = "client" implement = "MUST" /> +</method> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "consume" synchronous = "1" index = "20"> + start a queue consumer + <doc> + This method asks the server to start a "consumer", which is a + transient request for messages from a specific queue. Consumers + last as long as the channel they were created on, or until the + client cancels them. + </doc> + <doc name = "rule"> + The server SHOULD support at least 16 consumers per queue, unless + the queue was declared as private, and ideally, impose no limit + except as defined by available resources. + </doc> + <doc name = "rule"> + Streaming applications SHOULD use different channels to select + different streaming resolutions. AMQP makes no provision for + filtering and/or transforming streams except on the basis of + priority-based selective delivery of individual messages. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "consume-ok" /> + + <field name = "ticket" domain = "access ticket"> + <doc name = "rule"> + The client MUST provide a valid access ticket giving "read" access + rights to the realm for the queue. + </doc> + </field> + + <field name = "queue" domain = "queue name"> + <doc> + Specifies the name of the queue to consume from. If the queue name + is null, refers to the current queue for the channel, which is the + last declared queue. + </doc> + <doc name = "rule"> + If the client did not previously declare a queue, and the queue name + in this method is empty, the server MUST raise a connection exception + with reply code 530 (not allowed). + </doc> + </field> + + <field name = "consumer tag" domain = "consumer tag"> + <doc> + Specifies the identifier for the consumer. The consumer tag is + local to a connection, so two clients can use the same consumer + tags. If this field is empty the server will generate a unique + tag. + </doc> + <doc name = "rule" test = "todo"> + The tag MUST NOT refer to an existing consumer. If the client + attempts to create two consumers with the same non-empty tag + the server MUST raise a connection exception with reply code + 530 (not allowed). + </doc> + </field> + + <field name = "no local" domain = "no local" /> + + <field name = "exclusive" type = "bit"> + request exclusive access + <doc> + Request exclusive consumer access, meaning only this consumer can + access the queue. + </doc> + <doc name = "rule" test = "amq_file_00"> + If the server cannot grant exclusive access to the queue when asked, + - because there are other consumers active - it MUST raise a channel + exception with return code 405 (resource locked). + </doc> + </field> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> +</method> + + +<method name = "consume-ok" synchronous = "1" index = "21"> + confirm a new consumer + <doc> + This method provides the client with a consumer tag which it may + use in methods that work with the consumer. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag"> + <doc> + Holds the consumer tag specified by the client or provided by + the server. + </doc> + </field> +</method> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "cancel" synchronous = "1" index = "30"> + end a queue consumer + <doc> + This method cancels a consumer. Since message delivery is + asynchronous the client may continue to receive messages for + a short while after canceling a consumer. It may process or + discard these as appropriate. + </doc> + <chassis name = "server" implement = "MUST" /> + <response name = "cancel-ok" /> + + <field name = "consumer tag" domain = "consumer tag" /> + + <field name = "nowait" type = "bit"> + do not send a reply method + <doc> + If set, the server will not respond to the method. The client should + not wait for a reply method. If the server could not complete the + method it will raise a channel or connection exception. + </doc> + </field> +</method> + +<method name = "cancel-ok" synchronous = "1" index = "31"> + confirm a cancelled consumer + <doc> + This method confirms that the cancellation was completed. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag" /> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "publish" content = "1" index = "40"> + publish a message + <doc> + This method publishes a message to a specific exchange. The message + will be routed to queues as defined by the exchange configuration + and distributed to any active consumers as appropriate. + </doc> + <chassis name = "server" implement = "MUST" /> + + <field name = "ticket" domain = "access ticket"> + <doc name = "rule"> + The client MUST provide a valid access ticket giving "write" + access rights to the access realm for the exchange. + </doc> + </field> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange to publish to. The exchange + name can be empty, meaning the default exchange. If the exchange + name is specified, and that exchange does not exist, the server + will raise a channel exception. + </doc> + <doc name = "rule"> + The server MUST accept a blank exchange name to mean the default + exchange. + </doc> + <doc name = "rule"> + If the exchange was declared as an internal exchange, the server + MUST respond with a reply code 403 (access refused) and raise a + channel exception. + </doc> + <doc name = "rule"> + The exchange MAY refuse stream content in which case it MUST + respond with a reply code 540 (not implemented) and raise a + channel exception. + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key for the message. The routing key is + used for routing messages depending on the exchange configuration. + </doc> + </field> + + <field name = "mandatory" type = "bit"> + indicate mandatory routing + <doc> + This flag tells the server how to react if the message cannot be + routed to a queue. If this flag is set, the server will return an + unroutable message with a Return method. If this flag is zero, the + server silently drops the message. + </doc> + <doc name = "rule" test = "amq_stream_00"> + The server SHOULD implement the mandatory flag. + </doc> + </field> + + <field name = "immediate" type = "bit"> + request immediate delivery + <doc> + This flag tells the server how to react if the message cannot be + routed to a queue consumer immediately. If this flag is set, the + server will return an undeliverable message with a Return method. + If this flag is zero, the server will queue the message, but with + no guarantee that it will ever be consumed. + </doc> + <doc name = "rule" test = "amq_stream_00"> + The server SHOULD implement the immediate flag. + </doc> + </field> +</method> + +<method name = "return" content = "1" index = "50"> + return a failed message + <doc> + This method returns an undeliverable message that was published + with the "immediate" flag set, or an unroutable message published + with the "mandatory" flag set. The reply code and text provide + information about the reason that the message was undeliverable. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "reply code" domain = "reply code" /> + <field name = "reply text" domain = "reply text" /> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange that the message was + originally published to. + </doc> + </field> + + <field name = "routing key" type = "shortstr"> + Message routing key + <doc> + Specifies the routing key name specified when the message was + published. + </doc> + </field> +</method> + + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<method name = "deliver" content = "1" index = "60"> + notify the client of a consumer message + <doc> + This method delivers a message to the client, via a consumer. In + the asynchronous message delivery model, the client starts a + consumer using the Consume method, then the server responds with + Deliver methods as and when messages arrive for that consumer. + </doc> + <chassis name = "client" implement = "MUST" /> + + <field name = "consumer tag" domain = "consumer tag" /> + + <field name = "delivery tag" domain = "delivery tag" /> + + <field name = "exchange" domain = "exchange name"> + <doc> + Specifies the name of the exchange that the message was originally + published to. + </doc> + </field> + + <field name = "queue" domain = "queue name"> + <doc> + Specifies the name of the queue that the message came from. Note + that a single channel can start many consumers on different + queues. + </doc> + <assert check = "notnull" /> + </field> +</method> + </class> + + <class name="tx" handler="channel" index="90"> + <!-- +====================================================== +== TRANSACTIONS +====================================================== +--> + work with standard transactions + +<doc> + Standard transactions provide so-called "1.5 phase commit". We can + ensure that work is never lost, but there is a chance of confirmations + being lost, so that messages may be resent. Applications that use + standard transactions must be able to detect and ignore duplicate + messages. +</doc> + <rule implement="SHOULD"> + An client using standard transactions SHOULD be able to track all + messages received within a reasonable period, and thus detect and + reject duplicates of the same message. It SHOULD NOT pass these to + the application layer. +</rule> + <doc name="grammar"> + tx = C:SELECT S:SELECT-OK + / C:COMMIT S:COMMIT-OK + / C:ROLLBACK S:ROLLBACK-OK +</doc> + <chassis name="server" implement="SHOULD"/> + <chassis name="client" implement="MAY"/> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="select" synchronous="1" index="10"> +select standard transaction mode + <doc> + This method sets the channel to use standard transactions. The + client must use this method at least once on a channel before + using the Commit or Rollback methods. + </doc> + <chassis name="server" implement="MUST"/> + <response name="select-ok"/> + </method> + <method name="select-ok" synchronous="1" index="11"> +confirm transaction mode + <doc> + This method confirms to the client that the channel was successfully + set to use standard transactions. + </doc> + <chassis name="client" implement="MUST"/> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="commit" synchronous="1" index="20"> +commit the current transaction + <doc> + This method commits all messages published and acknowledged in + the current transaction. A new transaction starts immediately + after a commit. + </doc> + <chassis name="server" implement="MUST"/> + <response name="commit-ok"/> + </method> + <method name="commit-ok" synchronous="1" index="21"> +confirm a successful commit + <doc> + This method confirms to the client that the commit succeeded. + Note that if a commit fails, the server raises a channel exception. + </doc> + <chassis name="client" implement="MUST"/> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="rollback" synchronous="1" index="30"> +abandon the current transaction + <doc> + This method abandons all messages published and acknowledged in + the current transaction. A new transaction starts immediately + after a rollback. + </doc> + <chassis name="server" implement="MUST"/> + <response name="rollback-ok"/> + </method> + <method name="rollback-ok" synchronous="1" index="31"> +confirm a successful rollback + <doc> + This method confirms to the client that the rollback succeeded. + Note that if an rollback fails, the server raises a channel exception. + </doc> + <chassis name="client" implement="MUST"/> + </method> + </class> + <class name="dtx" handler="channel" index="100"> + <!-- +====================================================== +== DISTRIBUTED TRANSACTIONS +====================================================== +--> + work with distributed transactions + +<doc> + Distributed transactions provide so-called "2-phase commit". The + AMQP distributed transaction model supports the X-Open XA + architecture and other distributed transaction implementations. + The Dtx class assumes that the server has a private communications + channel (not AMQP) to a distributed transaction coordinator. +</doc> + <doc name="grammar"> + dtx = C:SELECT S:SELECT-OK + C:START S:START-OK +</doc> + <chassis name="server" implement="MAY"/> + <chassis name="client" implement="MAY"/> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="select" synchronous="1" index="10"> +select standard transaction mode + <doc> + This method sets the channel to use distributed transactions. The + client must use this method at least once on a channel before + using the Start method. + </doc> + <chassis name="server" implement="MUST"/> + <response name="select-ok"/> + </method> + <method name="select-ok" synchronous="1" index="11"> +confirm transaction mode + <doc> + This method confirms to the client that the channel was successfully + set to use distributed transactions. + </doc> + <chassis name="client" implement="MUST"/> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="start" synchronous="1" index="20"> + start a new distributed transaction + <doc> + This method starts a new distributed transaction. This must be + the first method on a new channel that uses the distributed + transaction mode, before any methods that publish or consume + messages. + </doc> + <chassis name="server" implement="MAY"/> + <response name="start-ok"/> + <field name="dtx identifier" type="shortstr"> + transaction identifier + <doc> + The distributed transaction key. This identifies the transaction + so that the AMQP server can coordinate with the distributed + transaction coordinator. + </doc> + <assert check="notnull"/> + </field> + </method> + <method name="start-ok" synchronous="1" index="21"> + confirm the start of a new distributed transaction + <doc> + This method confirms to the client that the transaction started. + Note that if a start fails, the server raises a channel exception. + </doc> + <chassis name="client" implement="MUST"/> + </method> + </class> + <class name="tunnel" handler="tunnel" index="110"> + <!-- +====================================================== +== TUNNEL +====================================================== +--> + methods for protocol tunneling. + +<doc> + The tunnel methods are used to send blocks of binary data - which + can be serialised AMQP methods or other protocol frames - between + AMQP peers. +</doc> + <doc name="grammar"> + tunnel = C:REQUEST + / S:REQUEST +</doc> + <chassis name="server" implement="MAY"/> + <chassis name="client" implement="MAY"/> + <field name="headers" type="table"> + Message header field table +</field> + <field name="proxy name" type="shortstr"> + The identity of the tunnelling proxy +</field> + <field name="data name" type="shortstr"> + The name or type of the message being tunnelled +</field> + <field name="durable" type="octet"> + The message durability indicator +</field> + <field name="broadcast" type="octet"> + The message broadcast mode +</field> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="request" content="1" index="10"> + sends a tunnelled method + <doc> + This method tunnels a block of binary data, which can be an + encoded AMQP method or other data. The binary data is sent + as the content for the Tunnel.Request method. + </doc> + <chassis name="server" implement="MUST"/> + <field name="meta data" type="table"> + meta data for the tunnelled block + <doc> + This field table holds arbitrary meta-data that the sender needs + to pass to the recipient. + </doc> + </field> + </method> + </class> + <class name="test" handler="channel" index="120"> + <!-- +====================================================== +== TEST - CHECK FUNCTIONAL CAPABILITIES OF AN IMPLEMENTATION +====================================================== +--> + test functional primitives of the implementation + +<doc> + The test class provides methods for a peer to test the basic + operational correctness of another peer. The test methods are + intended to ensure that all peers respect at least the basic + elements of the protocol, such as frame and content organisation + and field types. We assume that a specially-designed peer, a + "monitor client" would perform such tests. +</doc> + <doc name="grammar"> + test = C:INTEGER S:INTEGER-OK + / S:INTEGER C:INTEGER-OK + / C:STRING S:STRING-OK + / S:STRING C:STRING-OK + / C:TABLE S:TABLE-OK + / S:TABLE C:TABLE-OK + / C:CONTENT S:CONTENT-OK + / S:CONTENT C:CONTENT-OK +</doc> + <chassis name="server" implement="MUST"/> + <chassis name="client" implement="SHOULD"/> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="integer" synchronous="1" index="10"> + test integer handling + <doc> + This method tests the peer's capability to correctly marshal integer + data. + </doc> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <response name="integer-ok"/> + <field name="integer 1" type="octet"> + octet test value + <doc> + An octet integer test value. + </doc> + </field> + <field name="integer 2" type="short"> + short test value + <doc> + A short integer test value. + </doc> + </field> + <field name="integer 3" type="long"> + long test value + <doc> + A long integer test value. + </doc> + </field> + <field name="integer 4" type="longlong"> + long-long test value + <doc> + A long long integer test value. + </doc> + </field> + <field name="operation" type="octet"> + operation to test + <doc> + The client must execute this operation on the provided integer + test fields and return the result. + </doc> + <assert check="enum"> + <value name="add">return sum of test values</value> + <value name="min">return lowest of test values</value> + <value name="max">return highest of test values</value> + </assert> + </field> + </method> + <method name="integer-ok" synchronous="1" index="11"> + report integer test result + <doc> + This method reports the result of an Integer method. + </doc> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <field name="result" type="longlong"> + result value + <doc> + The result of the tested operation. + </doc> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="string" synchronous="1" index="20"> + test string handling + <doc> + This method tests the peer's capability to correctly marshal string + data. + </doc> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <response name="string-ok"/> + <field name="string 1" type="shortstr"> + short string test value + <doc> + An short string test value. + </doc> + </field> + <field name="string 2" type="longstr"> + long string test value + <doc> + A long string test value. + </doc> + </field> + <field name="operation" type="octet"> + operation to test + <doc> + The client must execute this operation on the provided string + test fields and return the result. + </doc> + <assert check="enum"> + <value name="add">return concatentation of test strings</value> + <value name="min">return shortest of test strings</value> + <value name="max">return longest of test strings</value> + </assert> + </field> + </method> + <method name="string-ok" synchronous="1" index="21"> + report string test result + <doc> + This method reports the result of a String method. + </doc> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <field name="result" type="longstr"> + result value + <doc> + The result of the tested operation. + </doc> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="table" synchronous="1" index="30"> + test field table handling + <doc> + This method tests the peer's capability to correctly marshal field + table data. + </doc> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <response name="table-ok"/> + <field name="table" type="table"> + field table of test values + <doc> + A field table of test values. + </doc> + </field> + <field name="integer op" type="octet"> + operation to test on integers + <doc> + The client must execute this operation on the provided field + table integer values and return the result. + </doc> + <assert check="enum"> + <value name="add">return sum of numeric field values</value> + <value name="min">return min of numeric field values</value> + <value name="max">return max of numeric field values</value> + </assert> + </field> + <field name="string op" type="octet"> + operation to test on strings + <doc> + The client must execute this operation on the provided field + table string values and return the result. + </doc> + <assert check="enum"> + <value name="add">return concatenation of string field values</value> + <value name="min">return shortest of string field values</value> + <value name="max">return longest of string field values</value> + </assert> + </field> + </method> + <method name="table-ok" synchronous="1" index="31"> + report table test result + <doc> + This method reports the result of a Table method. + </doc> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <field name="integer result" type="longlong"> + integer result value + <doc> + The result of the tested integer operation. + </doc> + </field> + <field name="string result" type="longstr"> + string result value + <doc> + The result of the tested string operation. + </doc> + </field> + </method> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <method name="content" synchronous="1" content="1" index="40"> + test content handling + <doc> + This method tests the peer's capability to correctly marshal content. + </doc> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <response name="content-ok"/> + </method> + <method name="content-ok" synchronous="1" content="1" index="41"> + report content test result + <doc> + This method reports the result of a Content method. It contains the + content checksum and echoes the original content as provided. + </doc> + <chassis name="client" implement="MUST"/> + <chassis name="server" implement="MUST"/> + <field name="content checksum" type="long"> + content hash + <doc> + The 32-bit checksum of the content, calculated by adding the + content into a 32-bit accumulator. + </doc> + </field> + </method> + </class> +</amqp> |
