# Wolf Bot
[repo]([dj-ryan/wolf-bot (github.com)](https://github.com/dj-ryan/wolf-bot))
# Fall Week 4
## Wolf Bot
### Overview
This is the main user controlled robot that will participate in the game. It will have a reliability simple drive system with two modes of communication. The first mode of communication will be for user input direction control the other for API based post requests given to the BFCM. Both signals will be around 2.4Ghz radio.
### Micro-controller
The main brains of the Wolf Bot will be a ESP32 controller. We are planning on using the Adafruit HUZZAH32 version. This is a powerful 160 MHz dual-core CPU with 320 KiB RAM, 448 KiB ROM. It also contains a 2.4 GHz WiFi antenna with a speed up to 150 Mbps. This is what we will use to communicate with the BFCM. Using the Adafruit feather version gives us access to several "wings" like the 128x64 OLED display that would allow us to incorporate a useful information display directly into the robot.
### Drive system
The drive system will consist of a tank trade base. It will be powered by two brushed 12v DC motors. A future design may include more advanced motors such ESC brush-less motors (These will be more expensive). The base we have chosen to start with is [[Project_Design]] aluminum frame with plastic gears and treads. It does not include any form of suspension.
The tank design will serve two purposes:
1) In general a tank drive system is more fun to drive giving the user more enjoyment
2) The treads will allow a diverse set of terrains to be conquered (including, possibly, just maybe, astro-turf)
### Power management
The power supply for the bot will consist of a 12V 6000mAh battery pack. The output will feed the L298N motor controller as well as a 5v regulator that will intern power the micro-controller. Eventually a power supply would be beneficial to regulate the choppy output of the battery pack.
### IR Laser Weapon
This portion of the Bot has not been flushed out
### Damage Detection Sensor Array
This portion of the Bot has not been flushed out
## User Controller
The controller will be an Arduino Uno R3 with a Nokia 5110 joystick and button shield attached to it. Also attached to it will be a NFR24l01 radio module that will communicate with a twin modal on the Wolf Bot. It will be powered by a small 5V 1A power pack. The whole device will be a dense handheld device with almost instantaneous boot up and control capabilities.
### Unknowns
- Nailing down how we make sure that there is no frequency interference between systems.
---
# Fall Week 5
Spent Tuesday gathering data for IR accuracy. This included developing a test workbench with two MCs. One dedicated to gathering and printing IR data and the other responsible for transmitting a known set of IR codes.
Several experiments were conducted with different angles and distances to transmit an IR signal. A pin-point 780nm 3mw laser was used with a generic 3v IR receiver.
Over the weekend I wrote code to send raw hexadecimal data over IR in the NEC format. This will give us complete control over what data is being sent and not having to rely on the IRremote Library. However writing it in the NEC protocol will allow us to have better accuracy and reliability in transmission as we can have the receiver still rely on the IRremote library.
---
# Fall Week 6
## TODO
- [x] Regular IR LED
- [x] Spread angle
- [x] Distance
- [x] Pin point IR LED
- [x] Spread angle
- [x] Distance
- [x] Regular IR LED in cone
- [x] Spread angle
- [x] Distance
- [x] Wavelength
- [x] IR
- [x] Transmitter
- [x] IR receiver
- [x] Field of view
- [x] Turning rate of the car
- [x] How far the car has to move forward to turn 90 & 180 degrees
- [x] Do an analysis of the turn radius of the RC car. (Maybe look into tank style tracks for RC car)
- [x] Documented NEC protocol
- [x] Make an actual diagram of the IR laser mount in the RC car
## Summery
The main goal for this week was to gather information on how our IR components preformed on in terms of FOV and range. The data is presented below. Also some clarifications needed to be made on technical specifications of components which has also been provided. As well as a detailed explanation with code examples of How the NEC protocol works.
## IR transmitter testing data
| | FOV (deg) | Max Distance (ft) | Notes |
| ------------------------------------ | --- | ------------ | ------------------- |
| Filtered IR LED | 23* | 10ft | |
| Filtered IR LED w/ cone | 5* | 5ft | |
| Filtered IR LED w/ cone and Diffuser | | | No consistent data |
| Raw IR LED w/ cone | 30* | 3ft | Inconsistent beyond 3ft |
| Pinpoint IR LED | 6* | 3ft | |
| Pinpoint IR LED w/o optics | 1* | 2ft | |
## Datasheets
### ESP32 TTGO

#### Hardware Specifications:
Chipset: ESPRESSIF-ESP32 240MHz Xtensa single-/dual-core 32-bit LX6 microprocessor
FLASH: QSPI flash 4MB
SRAM: 520 kB SRAM
Button: Reset
USB to TTL: CH9102
Modular interface: UART, SPI, SDIO, I2C, LED PWM, TV PWM, I2S, IRGPIO, ADC, capacitor touch sensor, DACLNA pre-amplifier
Display: IPS ST7789V 1.14 Inch
Working voltage: 2.7V-4.2V
Working current: About 60MA
Sleep current: About 120uA
Working temperature range: -40°C ~ +85°C
Size Weight: Approx. 51.52 * 25.04 * 8.54mm (7.81g)
Power Supply Specifications:
Power Supply: USB 5V/1A
Charging current: 500mA
Battery: 3.7V lithium battery
JST Connector: 2Pin 1.25mm
USB: Type-C
#### Wi-Fi:
Standard: FCC/CE-RED/IC/TELEC/KCC/SRRC/NCC
Protocol 802.11 b/g/n (802.11n, speed up to 150Mbps) A-MPDU and A-MSDU polymerization, support 0.4μS Protection interval
Frequency range: 2.4GHz~2.5GHz (2400M~2483.5M)
Transmit Power: 22dBm
Communication distance: 300m
#### Bluetooth:
Protocol Meet Bluetooth v4.2BR/EDR and BLE standard
Radio frequency With -97dBm sensitivity NZIF receiver Class-1,Class-2&Class-3 emitter AFH
Audio frequency CVSD&SBC audio frequency
#### Software specification:
Wi-Fi Mode: Station/SoftAP/SoftAP+Station/P2P
Security mechanism: WPA/WPA2/WPA2-Enterprise/WPS
Encryption Type: AES/RSA/ECC/SHA
Firmware upgrade UART download/OTA(Through network/host to download and write firmware)
Software Development: Support cloud server development /SDK for user firmware development
Networking protocol: IPv4, IPv6, SSL, TCP/UDP/HTTP/FTP/MQTT
User Configuration: AT + Instruction set, cloud server, android/iOSapp
OS: FreeRTOS
#### Documents
[ESPRESSIF Online Documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/)
[Technical Reference Manual](https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf)
[Datasheet](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf)
[List of other ESPRESSIF Documentation](https://www.espressif.com/en/support/documents/technical-documents)
### IR Transmitter
#### Description :
Output Power:3mw
Wavelength:780nm
Working Voltage:3VDC(black wire to 3v "-",red wire to 3v "+")
Working Current:100mA
Laser Shape:Dot
Working Temperature:-10 degrees~+40 degrees
Dimensions:6.0x10mm(brass house length)
#### Details
This is a 780nm laser module with built-in driver. It is an IR laser, the laser light cannot be seen by the naked human eye. It can only bee seen by using a DDC/infrared camera. However the the wavelength is close to red (<700nm) which means there is a slight bleed into the red spectrum
### IR Receiver
No wavelength sensitivity data given for receiver
**Some data given on transmitter in same Amazon page**
> Transmitter module specifications:
> Supply voltage: 5V
> Signal type: digital signal
> Infrared center wave length: about 850nm-940nm*
> However no data given for receiver
After doing some through research I have discovered that IR receivers work on all wavelengths of light they will just output proportionally a voltage relating to the amplitude and frequency. The sensors are tuned to an IR frequency however it works with a range around those frequencies especially if the amplitude is high enough. According to the datasheets below the the
However we are no longer using the IR receivers that were purchased from amazon as they require too much current. As it turns out, the Vcc pin on the transmitter is a dummy, not actually tied to anything. All the current that reaches the IR LED is also driving the resistor/indicator LED combo too. An Arduino just doesn't have that much current on its DIO.
Acording to the Ardunio Datasheet
> The maximum output current an Arduino's digital pin can supply is **40mA** (or 20mA continuous current).
#### Documents
[EE Shop genaric IR receiver datasheet](http://eeshop.unl.edu/pdf/VS1838-Infrared-Receiver-datasheet.pdf)
[Online generic IR receiver](https://www.vishay.com/docs/82491/tsop382.pdf)*Includes chart that shows wavelength response, pg. 4*
## NEC protocol
The NEC IR transmission protocol uses pulse distance encoding of the message bits. Each pulse burst is 562.5µs in length, at a carrier frequency of 38kHz (26.3µs). Logical bits are transmitted as follows:
- Logical '0' – a 562.5µs pulse burst followed by a 562.5µs space, with a total transmit time of 1.125ms
- Logical '1' – a 562.5µs pulse burst followed by a 1.6875ms space, with a total transmit time of 2.25ms
### Transmission steps
- 1 x 9000 uSec Header Mark (16 times the pulse burst length used for a logical data bit)
- 1 x 4500 uSec Header Space
- 32 x bits uSec
- the 8-bit address for the receiving device
- the 8-bit logical inverse of the address
- the 8-bit command
- the 8-bit logical inverse of the command
- a final 562.5µs pulse burst to signify the end of message transmission.

### IR Transmission Code for IR Library:
The `IRRemote.h` library is bulky and to large. Its functions are outlined below. However it includes several other protocols that are useless.
The mark function is responsible for creating a high voltage value pulse on the proper pin for the proper duration.
```c++
void mark(unsigned int mLen)
{ // uses sigTime as end parameter
sigTime += mLen; // mark ends at new sigTime
unsigned long now = micros();
unsigned long dur = sigTime - now; // allows for rolling time adjustment due to code execution delays
if (dur == 0)
return;
while ((micros() - now) < dur)
{ // just wait here until time is up
digitalWrite(txPinIR, HIGH);
if (periodHigh)
delayMicroseconds(periodHigh);
digitalWrite(txPinIR, LOW);
if (periodLow)
delayMicroseconds(periodLow);
}
}
```
The space function is responsible for creating a low voltage value pulse on the proper pin for the proper duration.
```c++
void space(unsigned int sLen)
{ // uses sigTime as end parameter
sigTime += sLen; // space ends at new sigTime
unsigned long now = micros();
unsigned long dur = sigTime - now; // allows for rolling time adjustment due to code execution delays
if (dur == 0)
return;
while ((micros() - now) < dur)
; // just wait here until time is up
}
```
The assemble bytes function is responsible for taking the byte long bot ID and the byte long blast information and assembling them into the four byte long NEC message.
```c++
void assemblyBytes(unsigned long &msg, unsigned char botID, unsigned char blast)
{
msg = 0x00000000; // clear the message
unsigned short address = 0x0000; // clear the address
unsigned short command = 0x0000; // clear the command
address = (botID << 8) | (~botID & 0x00FF); // assemble the address
command = (blast << 8) | (~blast & 0x00FF); // assemble the command
msg = (address << 16) | command; // assemble the message
return;
}
```
### IR Transmission Code for blast Library
Below is the code that was written just for transmitting the NEC protocol.
```c++
void sendWave = (uint8_t irLedPin, uint8_t freqKhz, bool inverted = false, bool isOn, uint16_t waves ) {
// send carrier burst. on = IR mark, otherwise IR space (filler)
uint32_t burstStartUs = micros() ;
for ( uint16_t i = 0 ; i < waves ; i ++ ) {
digitalWrite( irLedPin , isOn != inverted ? HIGH : LOW ) ; // Xor. carrier mark or filler
delayMicroseconds( carrierPeriodUs / 3 ) ; // 33% duty cycle
digitalWrite( irLedPin, inverted ? HIGH : LOW ) ; // carrier space
while ( micros() - ( burstStartUs + ( i * carrierPeriodUs ) ) < carrierPeriodUs ) ; // idle until end of wave(i)
} ;
} ;
void irSendNEC( uint32_t code, uint8_t irLedPin, uint8_t freqKhz, bool inverted = false, bool invertedBitOrder = false ) {
uint16_t NecBurstUnit = ( freqKhz * 562L) / 1000L ; // IR carrier waves for 1 NEC mark or 1 NEC space( bit 0).
uint8_t carrierPeriodUs = (int16_t)1000 / freqKhz ;
uint8_t * codeSplit ;
codeSplit = ( uint8_t* ) &code ; // treat uint32_t as byte array ;
pinMode( irLedPin, OUTPUT ) ;
sendWave( true , NecBurstUnit * 16 ) ; // header mark 9000 us
sendWave( false , NecBurstUnit * 8 ) ; // header space 4500 us
for ( uint8_t i = 0 ; i < 32 ; i ++ ) { // 32 bits
sendWave( true , NecBurstUnit ) ; // NEC mark
uint8_t codeByte = !invertedBitOrder ? 3 - i / 8 /*MSB*/ : i/8 /*LSB*/ ;
uint8_t codeBit = !invertedBitOrder ? 7 - i % 8 /*MSB*/ : i % 8 /*LSB*/ ;
sendWave( false, bitRead( *(codeSplit + codeByte) , codeBit ) == 1 ? NecBurstUnit * 3 : NecBurstUnit ) ; // NEC space(0) 562us or NEC space(1) ~1675us
}
sendWave( true , NecBurstUnit ) ; // terminator
}
```
### External Links
[SB-Projects - IR - NEC Protocol (sbprojects.net)](https://www.sbprojects.net/knowledge/ir/nec.php)
[NEC Infrared Transmission Protocol | Online Documentation for Altium Products](https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol)
---
# Fall Week 7 & 8
## TODO
- [x] IR blast triggers API request
- [x] Combine WiFi API and IR code
- [x] IR transmit class
- [x] Receiver logic
- [x] Update parts spreadsheet with drive platform parts
- [x] Provide justification
- [x] Provide datasheets
- [x] Record demo video
- [x] Edit and make pretty
## Summery
This week we worked on connecting the hardware teams and the software teams working code bases. This means that the IR communication protocol code and the WiFi API code that the hardware team has been developing was finally used to trigger a API request on the web application that the Software Team has been developing. Below is a diagram of how these technologies are now linked. The
```mermaid
graph TD
A[ESP32 TTGO, robot 1]-->B((IR Blaster))
B-->|Light waves|C((IR Receiver))
C-->D[ESP32 TTGO, robot 2]
D-->|WiFi|E[(Raspberry PI serving Web APP)]
```
## IR class
One of the critical components of this weeks tasks was to abstract the working IR transmission code into a usable class. Below is the definition of the `IrBlast` class that we wrote.
```c++
class IrBlast
{
private:
/* data */
unsigned char carrierFreq /* = 38 */; // default
unsigned char txPin /* = 2 */; // IR carrier output
bool invertVoltage /* = false */; // invert the signal
bool invertBitOrder /* = false */; // invert the bit order
void assemblyBytes(unsigned long &msg, unsigned char botID, unsigned char blast);
void irSendNEC(uint32_t code, uint8_t irLedPin, uint8_t freqKhz, bool inverted = false, bool invertedBitOrder = false);
void wave(uint8_t irLedPin, bool inverted, uint8_t carrierPeriodUs, bool isOn, uint16_t waves);
public:
IrBlast(/* args */);
~IrBlast();
void setCarrierFreq(unsigned char freq);
void setTxPin(unsigned char pin);
void setInvertVoltage(bool invert);
void setInvertBitOrder(bool invert);
void blast(unsigned char botId, unsigned char blast, unsigned char repeats);
};
```
### Packet structure
```
Bot ID: Blast:
[ 1 byte ][ ~byte ] [ 1 byte ][ ~byte ]
```
## Parts list update
This is the finalized updated Hardware Team Operations document and will be the only place that we issue updates: [Hardware_Team_Operations](https://uofnelincoln.sharepoint.com/:x:/s/UNL-SoCWolf-DevelopmentTeam/EU_chYg4uJ1AsOsjTZ3r8JYBcUobZYMtNsCkmfoME_h77g?e=EpP1Jk). All other copies of the document have been deleted and removed.
## Team goals
### Short term goals (next demo)
- [ ] Second bot (tank)
- [ ] IR receiver system on bot (prototype)
- [ ] Multiple IR sensors?
- [ ] One diffused IR sensor
- [ ] Power cycle system for ESP32
- [ ] IR blaster spread
- [ ] LED with cone
- [ ] Dynamic front end with API
- [ ] Merge hardware code
- [ ] Fix game end endpoint on BFCM
- [ ] Firing on command
### Long term goals (end of semester)
- [ ] Drive platform
- [ ] Design Arena
- [ ] Host BFCM & Web App on CSCE server
- [ ] ESP32 Display Info on TTGO
- [ ] User controller
- [ ] User feedback (external, LED, speakers)
- [ ] User profile on frontend
## Game Rules
- Win condition:
- Last bot standing
- Health based
- Players:
- Stalker (x1)
- Runners (x3)
- Get hit:
- Become invincible
- Disable guns
- Speed up
| Stalker | Runner |
| ----------------- | --------------- |
| Moving IR blaster | Fast Move speed |
| Slow move speed | Slow fire rate |
| Fast fire rate | Low damage |
| High health | Low health |
| High damage | |
---
# Fall Week 9
## IR receiving system (Fresnel lens)
A critical portion of our project will be the capability of our robot to receiver IR signals from other robots. The main problem around this task is that the IR sensors have a very small sensor window. This means that the laser signal from the shooter would have to be very precise to hit the small sensor window.
However a simple solution to this issue is an IR Fresnel lens. This is used to gather a large amount of light into a single focal point.
Below is a list of three dome shaped Fresnel lenses that we will purchase.
| Name | Link | Size | | | | |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------- | --- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- |
| Large Dome | [Purchase link](https://www.amazon.com/HiLetgo-HC-SR501-Infrared-Sensor-Arduino/dp/B07KZW86YR/ref=sxin_17_ac_d_rm) | 24mm * 24mm | | |
| Medium Dome | [Purchase link](https://www.amazon.com/Stemedu-HC-SR505-Pyroelectric-Infrared-Detector/dp/B096NVJ439/ref=psdc_11040971_t3_B07KZW86YR) | 10mm * 10mm |
| Small Dome | [Purchase link](https://www.amazon.com/HiLetgo-Pyroelectric-Sensor-Infrared-Detector/dp/B07RT7MK7C/ref=psdc_11040971_t1_B07KZW86YR) | 8mm * 8mm | | | | | | |
A Fresnel lens both captures more IR radiation and focuses it to a small point. This focal point moves across the sensor as the IR source moves and exposes one element at a time. A Fresnel lens can extend detection range to about 100 feet.

Below is a 3D representation of a Fresnel lens.

However this is a 2D plane that has been crafted into a Fresnel lens. This would not work for our function. We need a sensor that can be mounted around a IR sensor. A spherical Fresnel lens is equivalent to a simple spherical lens, using ring-shaped segments that are each a portion of a sphere, that all focus light on a single point. This type of lens produces a sharp image, although not quite as clear as the equivalent simple spherical lens due to diffraction at the edges of the ridges.


Howe does the light actually respond to a 3-dimensinal object like this? Below is a diagram of how two different configurations of this device


It is noted that a Fresnel lens responds much better to IR light that has hit the lens from a head on perspective (0 deg). However it is also noted that it can receive light that is at a significant angle from a 0 deg position. This is what we will take advantage of in our implementation of an IR receiver.

Below is the datasheet for the NL11NH Spherical Fresnel lens.
[NL11NH.pdf (adafruit.com)](https://cdn-learn.adafruit.com/assets/assets/000/010/135/original/NL11NH.pdf)
An interesting study has shown that a hybrid approach to this problem provides some benefits. However this implementation is outside the scope of this project
[Design and fabrication of Si-HDPE hybrid Fresnel lenses for infrared imaging systems (optica.org)](https://opg.optica.org/oe/fulltext.cfm?uri=oe-25-2-1202&id=357440)
## IR focusing system (Aspheric lens)
The complement of the IR receiving system is the IR transmitting system. This system is similarly just as critical. Our requirements demand that we are able to transmit IR data in a singular direction. This is mandated by the fact that the robots should only be able to shoot one robot at a time. If there was no corrective element to a raw IR LED output with a large field of view it is plausible that the robot would be able to hit a large number of targets simultaneously.
To achieve this the system needs to be capable of producing a set of parallel rays with a slight divergence from the transmission point. This process is called collimating

To do this to a beam of light being emitted from an LED the first assumption may be a convex lens or a spherical lens. However both of these have the problem of unevenly disrupting the light across the circular plane. This is demonstrated by the image blow.

This means that we need an aspherical lens. This lens has several desired properties. First it does not distort the light like a spherical lens. Second it does a better job of collimating the light into a straight.


The below diagram shows how a aspherical lens would be paired with a light emitting diode to properly arrange the light.

However there is an issues with this approach. The aspheric lens only operates when at a specific distance from the light source.


$F_{number} = \frac{1}{2nsin \theta} = \frac{f}{D}$
Where:
$n$ = Refractive index of space in which the source is located
$\theta$ = Half angle of the cone of radiation
This means that we can solve for $f$ which is:
$f = \frac{D}{2nsin \theta}$
This means that in our implementation we will need to make sure that our focal distance is at the correct value.
## Sources
[How PIRs Work | PIR Motion Sensor | Adafruit Learning System](https://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/how-pirs-work)
[Lens and Focusing Devices for Pyroelectric Infrared Sensors (glolab.com)](http://www.glolab.com/focusdevices/focus.html)
[Light Collection and Optical System Throughput (newport.com)](https://www.newport.com/t/light-collection-and-systems-throughput)
[Rayleigh length - Wikipedia](https://en.wikipedia.org/wiki/Rayleigh_length)
[Aspheric lens - Wikipedia](https://en.wikipedia.org/wiki/Aspheric_lens)
[All About Aspheric Lenses | Edmund Optics](https://www.edmundoptics.com/knowledge-center/application-notes/optics/all-about-aspheric-lenses/)
# Fall Week 10
Unfortunately the experiment tank that we purchased has a all in one approach to their design. This means that the battery voltage regulator and protection circuity, the electronic speed controller for the motors and the 2.4GHz radio receiver and transmitter are all on the same chip. This is not ideal for our design as we were hoping to just swap out the transmitter and receiver with our own device. Instead we will now be needing to swap out all of the components for a custom design.
Before we do this we decided to collect some metrics on the current all in one design so that we would know which direction to take.
## Tank all in one design
The tank uses two motors. One motor is much larger and is used for drive power the second is smaller and is used for operating the treads at different speeds allowing the tank to turn.
### Drive motor
| Name | Value |
| ----------- | ----- |
| Max Voltage | 7.36 V |
| Min Voltage | 0.0 V |
### Turn motor
| Name | Value |
| ----------- | ----- |
| Max Voltage | 6.8 V |
| Min Voltage | 0.0 V |
## Stand alone RC transmitter and receiver
We successfully powered and paired the stand alone RC transmitter and receiver. These are the metrics we have calculated.
- CH1 & CH2 are analogue channels
- CH3, CH4 are state change
| Name | Value |
| --------- | -------- |
| CH1 Max V | 352.6 mV |
| CH1 Mid V | 269.8 mV |
| CH1 Min V | 187 mV |
| CH2 Max V | 352.7 mV |
| CH2 Mid V | 269.8 mV |
| CH2 Min V | 187 mV |
| CH3 val A | 167 mV |
| CH3 val B | 332.6 mV |
| CH4 val A | 166.3 mV |
| CH4 val B | 249 mV |
| CH4 val C | 332 mV |
# Fall Week 11
## Updated purchase list with required parts.
### Fresnel lens
$8.00
**Justification**
Used in conjunction with IR receiver to widen the FOV
[https://www.amazon.com/HiLetgo-HC-SR501-Infrared-Sensor-Arduino/dp/B07KZW86YR/ref=sxin_17_ac_d_rm](https://www.amazon.com/HiLetgo-HC-SR501-Infrared-Sensor-Arduino/dp/B07KZW86YR/ref=sxin_17_ac_d_rm)
### RC Tank
$80.00
**Justification**
Second chassis that we will be using for development
[https://www.amazon.com/Mostop-Remote-Control-Crawler-Off-Road/dp/B088WP4TQF/ref=sr_1_2](https://www.amazon.com/Mostop-Remote-Control-Crawler-Off-Road/dp/B088WP4TQF/ref=sr_1_2)
### IR receiver and LED
$10.00
**Justification**
Used for IR transmission and receiving
[https://www.amazon.com/TSOP38238-Receiver-Emitter-TSAL6200-Infrared/dp/B08594ZSJQ/ref=asc_df_B08594ZSJQ/](https://www.amazon.com/TSOP38238-Receiver-Emitter-TSAL6200-Infrared/dp/B08594ZSJQ/ref=asc_df_B08594ZSJQ/)
### USB switch
$8.00
**Justification**
Used for power cycling the EPS32
[https://www.amazon.com/Yeebline-Switch-Extension-Driving-Recorder/dp/B07QQZFYYJ/ref=sxin_15_cpf_saw-CPFPecos-dsk-lmlk-asin](https://www.amazon.com/Yeebline-Switch-Extension-Driving-Recorder/dp/B07QQZFYYJ/ref=sxin_15_cpf_saw-CPFPecos-dsk-lmlk-asin)
### Small Bread board
$8.00
Used for prototyping
[https://www.amazon.com/Breadboard-Solderless-Prototype-Different-Raspberry/dp/B07LF71ZTS/ref=sr_1_1](https://www.amazon.com/Breadboard-Solderless-Prototype-Different-Raspberry/dp/B07LF71ZTS/ref=sr_1_1)
### RC transmitter and receiver
$35.00
**Justification**
Used for testing the firing control using extra channels
[https://www.amazon.com/Havcybin-Transmitter-Receiver-Controlled-Controller/dp/B097XXVF8R/ref=sr_1_3](https://www.amazon.com/Havcybin-Transmitter-Receiver-Controlled-Controller/dp/B097XXVF8R/ref=sr_1_3)
# Fall Week 12
## Movement Demo
Worked on documenting a demo that included a mounted IR laser on our RC car with a moving receiver.
# Fall Week 13
When we purchased the [RC tank](https://www.amazon.com/Mostop-Remote-Control-Crawler-Off-Road/dp/B088WP4TQF/ref=sr_1_2) we made a gamble. The gamble was simple; if the motor controller and the RC receiver were broken into sperate boards then it would be possible to just drop in our own receiver, with extra channels. This would allow use them to control the already present motor controller and use an extra channel as a fire control for the microcontroller.
Unfortunately we lost this gamble. The RC tank had an all in one approach to its design which means we will need to implement our own motor driver.
## Component list
- TTGO ESP32
- User remote-control transmitter
- remote-control receiver
- L298N Dual H-Bridge Motor Driver
The ESP32 now serves a dual rule. It will read in the PWM signals coming from the RC reciver.
# Spring Week 4
## Updated Purchases Order
| Item | Quantity | Price | Link | Justification |
| ----------------- | -------- | ----- | -------------------------------------------------------------------------------------------------------------------------- | ------------- |
| ESP32 | x3 | $11 | [ESP32](https://www.amazon.com/HiLetgo-ESP-WROOM-32-Development-Microcontroller-Integrated/dp/B0718T232Z/ref=sr_1_5) | needed for more ports and 2rd tank |
| RC Tank Body | x3 | $24 | [RC Tank body](https://www.amazon.com/SZDoit-Chassis-Control-Platform-Graduation/dp/B07BHFM9PJ/ref=sr_1_2) | stop using personal tanks |
| RC Transmitter | x2 | $35 | [RC transmitter](https://www.amazon.com/Havcybin-Transmitter-Receiver-Controlled-Controller/dp/B097XXVF8R/ref=sr_1_7) | for 2nd tank |
| Perf Board | x2 | $12 | [Perf Board](https://www.amazon.com/ElectroCookie-Solderable-Breadboard-Electronics-Gold-Plated/dp/B07ZYNWJ1S/ref=sr_1_14) | to solidify and clean up electronics |
| Jumper Wire | x1 | $15 | [Jumper Wire](https://www.amazon.com/TUOFENG-Hookup-Wires-6-Different-Colored/dp/B07TX6BX47/ref=sr_1_1) | for perf board |
| 3s 11.1V LiPo | x2 | $45 | [LiPo](https://www.amazon.com/OVONIC-Dean-Style-Connector-Airplane-Helicopter/dp/B07CVDP9DB/ref=sr_1_3) | to stop using Nimbus lab's batts. |
| Deans T connector | x1 | $7 | [Deans T connector](https://www.amazon.com/FLY-RC-T-Plug-Connectors-Battery/dp/B07BHCFXJZ/ref=sr_1_2) | to wire into battery |
| LiPo charger | x2 | $12 | [Charger](https://www.amazon.com/SUPULSE-Battery-Charger-7-4-11-1V-Charger%EF%BC%88B3V2%EF%BC%89/dp/B099K8XFG6/ref=sr_1_3) | to charge batts. |
## Not ordering
| Item | Quantity |
| ------------ | -------- |
| IR LEDs | $\infty$ |
| L298N Motor Drive | $\infty$ |
| 3D printed Cone | $\infty$ |
| 3D printed Body | $\infty$ |
## Schematics
### Chaser Bot
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{"highlight":"#0000ff","nav":true,"resize":true,"toolbar":"zoom layers tags lightbox","edit":"_blank","xml":"<mxfile host=\"app.diagrams.net\" modified=\"2023-02-14T22:23:56.731Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36\" etag=\"68iM3_7560aSOaNgnDZW\" version=\"20.8.20\" type=\"google\"><diagram name=\"Page-1\" id=\"-tJ71aNQAkUSy1ylwL4w\">7Vxbd9o4EP41nNM+wEE25vKYJXS7u0mbTc5um33hKLYwIrLlCJFAf/2OsAy+cG0xtlseRlhjaWykbz6PR4Ka2ffmvwscjG+5Q1jNaDrzmnldMwxktpvwoTQLremZrVDjCupo3VrxQL8RrdQd3Rl1yDTRUHLOJA2SSpv7PrFlQoeF4G/JZiPOklcNsEsyigcbs6z2C3XkONR2reZa/5FQdxxdGTX1GQ9HjbViOsYOf4upzEHN7AvOZXjkzfuEqdGLxiXs92HL2dWNCeLLQzr4t/98/HOAJn+x/14mf3eCSTt4rKOevjm5iL4xcWAAdJULOeYu9zEbrLW/CT7zHaLMIqit29xwHmjlhEi50LOJZ5KDaiw9ps+SOZVfY8ePcNxsWLp2rdDTjCqLWOWOCOoRSUSk86VYrAypymP8zNrQsqYs9VbVtK2pFPyZ9DnjSuOQEZ4xudRjIa8UkkDtc59Eug+UsZV9J9UCNLHz4Rirgd06d1o15TNhkx0TZmkfwMIlctfEohXEwDkJh68qFtBREIYlfU3eCNZO4q7a6a7wrfAi1iDg1JfTmOU7pYAG2uE7kb9rd7dQCpP72vd2t7d+sH3LSrSHg/AbRrXYUK1VSz86wqf0FL1iNtPDfGtkvMzB0/HShRQ++Ewy6gP4Ig5TSsyo68OxDRhRKI07EHBJoAx5c1fxbiOgToP4LtiYNggDG4LaQ49LLobvHPs99BhxX2p/bFkrSL4SIcl8NyizGNId2q3U4EaD/bYmyhUdjuMkGSk34S42N8cPPer8WnRmVZ3O2ueisx+CVTvr0SgDtJ/Qo41e4R5tWCXy6NYZXNqsukt3DnXp5mYsnselOxmX/uMe6jeD6wzelEtReCO4wU+E3fEplZQrN37iUnIv9N0wslcjmaCBXR4fmb3SbaTCZoYHIt/HrMEDyYdhnfvUnjYYcYbK0jIqI2LwSlRwFlo/ARuYqeCpvvLyfXTQtnKatW5m1mrRTZZwwgR2KG9gcGPMhvUhBpO+j4cnmp4OSk7PBq7unjf4KhNV72bqiJVXlcc4RS87WUlarjor9yoRaPUy/o1QAy7W/BfEnCqCpnc8A7NNBFgWEvDo1IZvjn3CZ9PGE5ZgcvEgsf18GhpAqZjNah1K0rmFbK3S8MBWFkB7A7YENUSx35aYrerkED1J9rJDp0hyiO4yxg6Dh7v6l/vPn2/rJpxpL8f2SSSw136Z8aWaC4eIuh3OxdXSjnhXr8f175fDGvWAI1d9wkXMbALn++gjBESUSd704hejDsZdeOlzsYR3QGcGMQT11UvlkNrQjyle+4S9ZXIc14z+E4gN4oAQkBGICzIGoSATkGcQGOe+B+KDAJX2A5AXEBi2PjBsX56Il6xU9Ghu4CVrAy+Z3dwClEKJqRkjJhQnJvO4N8k0Me3hpapQULS4s4+CeoVSULv8jzZzG4J+NiS0C0VCt/xI6PwqSLCKRIKRjQ0Keqp8BydsearseKaYlV9zOBhWxWYoDbP8uLJOiKvOBVe5rs2jVL6wtWdtPt3ebJ1h7dwoNMDaCnorgfrTLfYYFzI9E5kWujFgK646eeHqQqZnwlWhrwFbcdXLC1eV3z9XFVwVui9zK64QyglYJroA6yzAMrPL5aUA1pFJ0MOBVfn9NFUBVnZHXCmAlVfofsmDnAtY5cyvobxi90si5FwpfG04tp58Y/S6n0B1qzbawue1UHdR8NLvyyjIfcnX6M9AXkHeQOYgML79byAYqQupwlaFowqiipEqXFWMVUFVMVHFsyqYKjxV+Kfajpja6GJu+LmBsXFzstFp5LUhEWWTtPkvGB/7TIstEmf3uSXJ52jq2U/FZSMn40By6hb60CtNXiGBvNzyoNV//TsUVgUHU6XJKyRwlVcshaqfr6oGrlqlSSskcJVXHhRVP0avCK5Kk1VIRmB55UFR9bMKFQFWabIKSWDllQdF1c+DVgNY0W3Gsgr3Xy8phFKkEKxUCqG+4bcyq/9r+dEfzUF1/ecu4f6Y9X/kmIP/AQ==</diagram></mxfile>"}"></div>
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{"highlight":"#0000ff","nav":true,"resize":true,"toolbar":"zoom layers tags lightbox","edit":"_blank","xml":"<mxfile host=\"app.diagrams.net\" modified=\"2023-02-14T22:24:21.553Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36\" etag=\"fKVzF09QVbWvyeudBCk8\" version=\"20.8.20\" type=\"google\"><diagram name=\"Page-1\" id=\"-tJ71aNQAkUSy1ylwL4w\">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</diagram></mxfile>"}"></div>
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{"highlight":"#0000ff","nav":true,"resize":true,"toolbar":"zoom layers tags lightbox","edit":"_blank","xml":"<mxfile host=\"app.diagrams.net\" modified=\"2023-02-14T22:24:21.553Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36\" etag=\"fKVzF09QVbWvyeudBCk8\" version=\"20.8.20\" type=\"google\"><diagram name=\"Page-1\" id=\"-tJ71aNQAkUSy1ylwL4w\">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</diagram></mxfile>"}"></div>
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSI2ODFweCIgaGVpZ2h0PSI3MjJweCIgdmlld0JveD0iLTAuNSAtMC41IDY4MSA3MjIiIGNvbnRlbnQ9IiZsdDtteGZpbGUgaG9zdD0mcXVvdDthcHAuZGlhZ3JhbXMubmV0JnF1b3Q7IG1vZGlmaWVkPSZxdW90OzIwMjMtMDItMTRUMjI6MjU6MDYuNjU0WiZxdW90OyBhZ2VudD0mcXVvdDs1LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTA5LjAuMC4wIFNhZmFyaS81MzcuMzYmcXVvdDsgZXRhZz0mcXVvdDtaMDFYV0xmS1JlQVNKTkFaQkFjYyZxdW90OyB2ZXJzaW9uPSZxdW90OzIwLjguMjAmcXVvdDsgdHlwZT0mcXVvdDtnb29nbGUmcXVvdDsmZ3Q7Jmx0O2RpYWdyYW0gbmFtZT0mcXVvdDtQYWdlLTEmcXVvdDsgaWQ9JnF1b3Q7LXRKNzFhTlFBa1VTeTF5bHdMNHcmcXVvdDsmZ3Q7N1Z4YmQ5bzRFUDQxbk5NK3dFRTI1dktZSlhTN3UwbWJUYzV1bTMzaEtMWXdJckxsQ0pGQWYvMk9zQXkrY0cweHRsc2VSbGhqYVd5a2J6NlBSNEthMmZmbXZ3c2NqRys1UTFqTmFEcnptbmxkTXd4a3RwdndvVFFMcmVtWnJWRGpDdXBvM1ZyeFFMOFJyZFFkM1JsMXlEVFJVSExPSkEyU1NwdjdQckZsUW9lRjRHL0paaVBPa2xjTnNFc3lpZ2NiczZ6MkMzWGtPTlIycmVaYS81RlFkeHhkR1RYMUdROUhqYlZpT3NZT2Y0dXB6RUhON0F2T1pYamt6ZnVFcWRHTHhpWHM5MkhMMmRXTkNlTExRenI0dC85OC9IT0FKbit4LzE0bWYzZUNTVHQ0cktPZXZqbTVpTDR4Y1dBQWRKVUxPZVl1OXpFYnJMVy9DVDd6SGFMTUlxaXQyOXh3SG1qbGhFaTUwTE9KWjVLRGFpdzlwcytTT1pWZlk4ZVBjTnhzV0xwMnJkRFRqQ3FMV09XT0NPb1JTVVNrODZWWXJBeXB5bVA4ek5yUXNxWXM5VmJWdEsycEZQeVo5RG5qU3VPUUVaNHh1ZFJqSWE4VWtrRHRjNTlFdWcrVXNaVjlKOVVDTkxIejRSaXJnZDA2ZDFvMTVUTmhreDBUWm1rZndNSWxjdGZFb2hYRXdEa0poNjhxRnRCUkVJWWxmVTNlQ05aTzRxN2E2YTd3cmZBaTFpRGcxSmZUbU9VN3BZQUcydUU3a2I5cmQ3ZFFDcFA3MnZkMnQ3ZCtzSDNMU3JTSGcvQWJSclhZVUsxVlN6ODZ3cWYwRkwxaU50UERmR3Rrdk16QjAvSFNoUlErK0V3eTZnUDRJZzVUU3N5bzY4T3hEUmhSS0kwN0VIQkpvQXg1YzFmeGJpT2dUb1A0THRpWU5nZ0RHNExhUTQ5TExvYnZIUHM5OUJoeFgycC9iRmtyU0w0U0ljbDhOeWl6R05JZDJxM1U0RWFEL2JZbXloVWRqdU1rR1NrMzRTNDJOOGNQUGVyOFduUm1WWjNPMnVlaXN4K0NWVHZyMFNnRHRKL1FvNDFlNFI1dFdDWHk2TllaWE5xc3VrdDNEblhwNW1Zc25zZWxPeG1YL3VNZTZqZUQ2d3plbEV0UmVDTzR3VStFM2ZFcGxaUXJOMzdpVW5JdjlOMHdzbGNqbWFDQlhSNGZtYjNTYmFUQ1pvWUhJdC9Ick1FRHlZZGhuZnZVbmpZWWNZYkswaklxSTJMd1NsUndGbG8vQVJ1WXFlQ3B2dkx5ZlhUUXRuS2F0VzVtMW1yUlRaWnd3Z1IyS0c5Z2NHUE1odlVoQnBPK2o0Y25tcDRPU2s3UEJxN3VuamY0S2hOVjcyYnFpSlZYbGNjNFJTODdXVWxhcmpvcjl5b1JhUFV5L28xUUF5N1cvQmZFbkNxQ3BuYzhBN05OQkZnV0V2RG8xSVp2am4zQ1o5UEdFNVpnY3ZFZ3NmMThHaHBBcVpqTmFoMUswcm1GYkszUzhNQldGa0I3QTdZRU5VU3gzNWFZcmVya0VEMUo5ckpEcDBoeWlPNHl4ZzZEaDd2NmwvdlBuMi9ySnB4cEw4ZjJTU1N3MTM2WjhhV2FDNGVJdWgzT3hkWFNqbmhYcjhmMTc1ZkRHdldBSTFkOXdrWE1iQUxuKytnakJFU1VTZDcwNGhlakRzWmRlT2x6c1lSM1FHY0dNUVQxMVV2bGtOclFqeWxlKzRTOVpYSWMxNHorRTRnTjRvQVFrQkdJQ3pJR29TQVRrR2NRR09lK0IrS0RBSlgyQTVBWEVCaTJQakJzWDU2SWw2eFU5R2h1NENWckF5K1ozZHdDbEVLSnFSa2pKaFFuSnZPNE44azBNZTNocGFwUVVMUzRzNCtDZW9WU1VMdjhqelp6RzRKK05pUzBDMFZDdC94STZQd3FTTENLUklLUmpRMEtlcXA4Qnlkc2VhcnNlS2FZbFY5ek9CaFd4V1lvRGJQOHVMSk9pS3ZPQlZlNXJzMmpWTDZ3dFdkdFB0M2ViSjFoN2R3b05NRGFDbm9yZ2ZyVExmWVlGekk5RTVrV3VqRmdLNjQ2ZWVIcVFxWm53bFdocndGYmNkWExDMWVWM3o5WEZWd1Z1aTl6SzY0UXlnbFlKcm9BNnl6QU1yUEw1YVVBMXBGSjBNT0JWZm45TkZVQlZuWkhYQ21BbFZmb2ZzbURuQXRZNWN5dm9ieGk5MHNpNUZ3cGZHMDR0cDU4WS9TNm4wQjFxemJhd3VlMVVIZFI4Tkx2eXlqSWZjblg2TTlBWGtIZVFPWWdNTDc5YnlBWXFRdXB3bGFGb3dxaWlwRXFYRldNVlVGVk1WSEZzeXFZS2p4VitLZmFqcGphNkdKdStMbUJzWEZ6c3RGcDVMVWhFV1dUdFBrdkdCLzdUSXN0RW1mM3VTWEo1MmpxMlUvRlpTTW40MEJ5NmhiNjBDdE5YaUdCdk56eW9OVi8vVHNVVmdVSFU2WEpLeVJ3bFZjc2hhcWZyNm9HcmxxbFNTc2tjSlZYSGhSVlAwYXZDSzVLazFWSVJtQjU1VUZSOWJNS0ZRRldhYklLU1dEbGxRZEYxYytEVmdOWTBXM0dzZ3IzWHk4cGhGS2tFS3hVQ3FHKzRiY3lxLzlyK2RFZnpVRjEvZWN1NGY2WTlYL2ttSVAvQVE9PSZsdDsvZGlhZ3JhbSZndDsmbHQ7L214ZmlsZSZndDsiPjxkZWZzLz48Zz48cGF0aCBkPSJNIDYzMCA2MTAgTCA2NDAgNjEwIFEgNjUwIDYxMCA2NTAgNjIwIEwgNjUwIDY4MCBRIDY1MCA2OTAgNjQwIDY5MCBMIDQ2MCA2OTAgUSA0NTAgNjkwIDQ1MCA2ODAgTCA0NTAgNTYwIFEgNDUwIDU1MCA0NDAgNTUwIEwgNDMwIDU1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxlbGxpcHNlIGN4PSI1ODAiIGN5PSI2MTAiIHJ4PSI1MCIgcnk9IjUwIiBmaWxsPSJyZ2IoMjU1LCAyNTUsIDI1NSkiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHBhdGggZD0iTSA1NTAgNjQwIEwgNjEwIDY0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxcHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogNjEwcHg7IG1hcmdpbi1sZWZ0OiA1ODBweDsiPjxkaXYgZGF0YS1kcmF3aW8tY29sb3JzPSJjb2xvcjogcmdiKDAsIDAsIDApOyAiIHN0eWxlPSJib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDQ1cHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI7IHBvaW50ZXItZXZlbnRzOiBhbGw7IHdoaXRlLXNwYWNlOiBub3dyYXA7Ij5NMjwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI1ODAiIHk9IjYyNCIgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjQ1cHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPk0yPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDYzMCA0NDAgTCA2NDAgNDQwIFEgNjUwIDQ0MCA2NTAgNDUwIEwgNjUwIDUwMCBRIDY1MCA1MTAgNjQwIDUxMCBMIDQzMCA1MTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48ZWxsaXBzZSBjeD0iNTgwIiBjeT0iNDQwIiByeD0iNTAiIHJ5PSI1MCIgZmlsbD0icmdiKDI1NSwgMjU1LCAyNTUpIiBzdHJva2U9InJnYigwLCAwLCAwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gNTUwIDQ3MCBMIDYxMCA0NzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDQ0MHB4OyBtYXJnaW4tbGVmdDogNTgwcHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigwLCAwLCAwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA0NXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+TTE8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iNTgwIiB5PSI0NTQiIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSI0NXB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5NMTwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSAzNTAgMzUuMSBMIDM2MCAzNS4xIFEgMzcwIDM1LjEgMzcwIDQ1LjEgTCAzNzAgOTAgUSAzNzAgMTAwIDM2MCAxMDAgTCAxOTAgMTAwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHJlY3QgeD0iMjUwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjY1IiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDI4MCA1IEwgMzIwIDM1IEwgMjgwIDY1IFogTSAyNTAgMzUgTCAyODAgMzUgTSAzMjAgNSBMIDMyMCA2NSBNIDMzMCA3IEwgMzM3IDAgTSAzMzcgMyBMIDMzNyAwIEwgMzM0IDAgTSAzMjAgMzUgTCAzNTAgMzUiIGZpbGw9InJnYigyNTUsIDI1NSwgMjU1KSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDcycHg7IG1hcmdpbi1sZWZ0OiAzMDBweDsiPjxkaXYgZGF0YS1kcmF3aW8tY29sb3JzPSJjb2xvcjogcmdiKDAsIDAsIDApOyAiIHN0eWxlPSJib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI7IHBvaW50ZXItZXZlbnRzOiBhbGw7IHdoaXRlLXNwYWNlOiBub3dyYXA7Ij5JUiBMRUQ8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iMzAwIiB5PSI4NCIgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPklSIExFRDwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSA2MDAgMTkwIEwgNjQwIDIzMCBMIDY4MCAxOTAgTSA2NDAgMTkwIEwgNjQwIDI5MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDI5N3B4OyBtYXJnaW4tbGVmdDogNjQwcHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigwLCAwLCAwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+YDwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI2NDAiIHk9IjMwOSIgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPmA8L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gMTMwIDY3MCBMIDI3MCA2NzAgUSAyODAgNjcwIDI4MCA2NjAgTCAyODAgNTg3LjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDMwIDY3MCBMIDQ3LjYgNjcwIE0gMTEyLjQgNjcwIEwgMTMwIDY3MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxyZWN0IHg9IjQ3LjYiIHk9IjY1NSIgd2lkdGg9IjMuNiIgaGVpZ2h0PSIzMCIgZmlsbD0icmdiKDAsIDAsIDApIiBzdHJva2U9InJnYigwLCAwLCAwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gNTguNCA2NDAgTCA1OC40IDcwMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxyZWN0IHg9IjY1LjYiIHk9IjY1NSIgd2lkdGg9IjMuNiIgaGVpZ2h0PSIzMCIgZmlsbD0icmdiKDAsIDAsIDApIiBzdHJva2U9InJnYigwLCAwLCAwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gNzYuNCA2NDAgTCA3Ni40IDcwMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gNTguNCA2NzAgTCA2NS42IDY3MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iMyAzIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHJlY3QgeD0iODMuNiIgeT0iNjU1IiB3aWR0aD0iMy42IiBoZWlnaHQ9IjMwIiBmaWxsPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHBhdGggZD0iTSA5NC40IDY0MCBMIDk0LjQgNzAwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHBhdGggZD0iTSA3Ni40IDY3MCBMIDgzLjYgNjcwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cmVjdCB4PSIxMDEuNiIgeT0iNjU1IiB3aWR0aD0iMy42IiBoZWlnaHQ9IjMwIiBmaWxsPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHBhdGggZD0iTSAxMTIuNCA2NDAgTCAxMTIuNCA3MDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDk0LjQgNjcwIEwgMTAxLjYgNjcwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGZsZXgtc3RhcnQ7IGp1c3RpZnktY29udGVudDogdW5zYWZlIGNlbnRlcjsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiA3MDdweDsgbWFyZ2luLWxlZnQ6IDgwcHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigwLCAwLCAwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+MTEuMSBWIDNzIExpUG88L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iODAiIHk9IjcxOSIgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPjExLjEgViAzcyBMaVBvPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDE5MCA4MCBMIDIxMCA4MCBRIDIyMCA4MCAyMjAgNzAgTCAyMjAgNDUuMSBRIDIyMCAzNS4xIDIzMCAzNS4xIEwgMjUwIDM1LjEiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cmVjdCB4PSI1MCIgeT0iNzAiIHdpZHRoPSIxMzAiIGhlaWdodD0iMzgwIiBmaWxsPSJyZ2IoMjU1LCAyNTUsIDI1NSkiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjU5LjUiIHk9IjgzLjMiPjE8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9ImVuZCIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIxNjkuNSIgeT0iODMuMyI+Mzg8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIxMDMuMyI+MjwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIxMDMuMyI+Mzc8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIxMjMuMyI+MzwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIxMjMuMyI+MzY8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIxNDMuMyI+NDwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIxNDMuMyI+MzU8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIxNjMuMyI+NTwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIxNjMuMyI+MzQ8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIxODMuMyI+NjwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIxODMuMyI+MzM8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIyMDMuMyI+NzwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIyMDMuMyI+MzI8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIyMjMuMyI+ODwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIyMjMuMyI+MzE8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIyNDMuMyI+OTwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIyNDMuMyI+MzA8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIyNjMuMyI+MTA8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9ImVuZCIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIxNjkuNSIgeT0iMjYzLjMiPjI5PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTkuNSIgeT0iMjgzLjMiPjExPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJlbmQiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMTY5LjUiIHk9IjI4My4zIj4yODwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjU5LjUiIHk9IjMwMy4zIj4xMjwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIzMDMuMyI+Mjc8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIzMjMuMyI+MTM8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9ImVuZCIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIxNjkuNSIgeT0iMzIzLjMiPjI2PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTkuNSIgeT0iMzQzLjMiPjE0PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJlbmQiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMTY5LjUiIHk9IjM0My4zIj4yNTwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjU5LjUiIHk9IjM2My4zIj4xNTwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSIzNjMuMyI+MjQ8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSIzODMuMyI+MTY8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9ImVuZCIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIxNjkuNSIgeT0iMzgzLjMiPjIzPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTkuNSIgeT0iNDAzLjMiPjE3PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJlbmQiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMTY5LjUiIHk9IjQwMy4zIj4yMjwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjU5LjUiIHk9IjQyMy4zIj4xODwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0iZW5kIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjE2OS41IiB5PSI0MjMuMyI+MjE8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI1OS41IiB5PSI0NDMuMyI+MTk8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9ImVuZCIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIxNjkuNSIgeT0iNDQzLjMiPjIwPC90ZXh0PjwvZz48cGF0aCBkPSJNIDQwIDgwIEwgNTAgODAgTSAxODAgODAgTCAxOTAgODAgTSA0MCAxMDAgTCA1MCAxMDAgTSAxODAgMTAwIEwgMTkwIDEwMCBNIDQwIDEyMCBMIDUwIDEyMCBNIDE4MCAxMjAgTCAxOTAgMTIwIE0gNDAgMTQwIEwgNTAgMTQwIE0gMTgwIDE0MCBMIDE5MCAxNDAgTSA0MCAxNjAgTCA1MCAxNjAgTSAxODAgMTYwIEwgMTkwIDE2MCBNIDQwIDE4MCBMIDUwIDE4MCBNIDE4MCAxODAgTCAxOTAgMTgwIE0gNDAgMjAwIEwgNTAgMjAwIE0gMTgwIDIwMCBMIDE5MCAyMDAgTSA0MCAyMjAgTCA1MCAyMjAgTSAxODAgMjIwIEwgMTkwIDIyMCBNIDQwIDI0MCBMIDUwIDI0MCBNIDE4MCAyNDAgTCAxOTAgMjQwIE0gNDAgMjYwIEwgNTAgMjYwIE0gMTgwIDI2MCBMIDE5MCAyNjAgTSA0MCAyODAgTCA1MCAyODAgTSAxODAgMjgwIEwgMTkwIDI4MCBNIDQwIDMwMCBMIDUwIDMwMCBNIDE4MCAzMDAgTCAxOTAgMzAwIE0gNDAgMzIwIEwgNTAgMzIwIE0gMTgwIDMyMCBMIDE5MCAzMjAgTSA0MCAzNDAgTCA1MCAzNDAgTSAxODAgMzQwIEwgMTkwIDM0MCBNIDQwIDM2MCBMIDUwIDM2MCBNIDE4MCAzNjAgTCAxOTAgMzYwIE0gNDAgMzgwIEwgNTAgMzgwIE0gMTgwIDM4MCBMIDE5MCAzODAgTSA0MCA0MDAgTCA1MCA0MDAgTSAxODAgNDAwIEwgMTkwIDQwMCBNIDQwIDQyMCBMIDUwIDQyMCBNIDE4MCA0MjAgTCAxOTAgNDIwIE0gNDAgNDQwIEwgNTAgNDQwIE0gMTgwIDQ0MCBMIDE5MCA0NDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDEwNSA3MCBDIDEwNy4yMiA3My4zNSAxMTAuOTggNzUuMzcgMTE1IDc1LjM3IEMgMTE5LjAyIDc1LjM3IDEyMi43OCA3My4zNSAxMjUgNzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDI2MHB4OyBtYXJnaW4tbGVmdDogMTE1cHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigwLCAwLCAwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+RVNQLVdST09NLTMyPGJyIHN0eWxlPSJib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvcik7IiAvPkVTUDMyPC9kaXY+PC9kaXY+PC9kaXY+PC9mb3JlaWduT2JqZWN0Pjx0ZXh0IHg9IjExNSIgeT0iMjY0IiBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iMTJweCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+RVNQLVdST09NLTMyLi4uPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDI2MCA1ODcuNSBMIDI2MCA2MDMuOCBRIDI2MCA2MTMuOCAyNTAgNjEzLjggTCAyMCA2MTMuOCBRIDEwIDYxMy44IDEwIDYyMy44IEwgMTAgNjYwIFEgMTAgNjcwIDIwIDY3MCBMIDMwIDY3MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gNDMwIDQ5MCBMIDQ3MCA0OTAgUSA0ODAgNDkwIDQ4MCA0ODAgTCA0ODAgNDUwIFEgNDgwIDQ0MCA0OTAgNDQwIEwgNTMwIDQ0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gNDMwIDUzMCBMIDQ3MCA1MzAgUSA0ODAgNTMwIDQ4MCA1NDAgTCA0ODAgNjAwIFEgNDgwIDYxMCA0OTAgNjEwIEwgNTMwIDYxMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gMjMwIDQ5MCBMIDMwIDQ5MCBRIDIwIDQ5MCAyMCA0ODAgTCAyMCA0MzAgUSAyMCA0MjAgMzAgNDIwIEwgNDAgNDIwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSAyMzAgNTEwIEwgMTAgNTEwIFEgMCA1MTAgMCA1MDAgTCAwIDQ1MCBRIDAgNDQwIDEwIDQ0MCBMIDQwIDQ0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gMjgwIDQ2MCBMIDI4MCAzMzAgUSAyODAgMzIwIDI3MCAzMjAgTCAxOTAgMzIwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSAzMDAgNDYwIEwgMzAwIDM1MCBRIDMwMCAzNDAgMjkwIDM0MCBMIDE5MCAzNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDMyMCA0NjAgTCAzMjAgMzcwIFEgMzIwIDM2MCAzMTAgMzYwIEwgMTkwIDM2MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gMzQwIDQ2MCBMIDM0MCAzOTAgUSAzNDAgMzgwIDMzMCAzODAgTCAxOTAgMzgwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSAzNjAgNDYwIEwgMzYwIDQxMCBRIDM2MCA0MDAgMzUwIDQwMCBMIDE5MCA0MDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDM4MCA0NjAgTCAzODAgNDMwIFEgMzgwIDQyMCAzNzAgNDIwIEwgMTkwIDQyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gNDAwIDQ2MCBMIDQwMCA0NTAgUSA0MDAgNDQwIDM5MCA0NDAgTCAxOTAgNDQwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSAyNDUgNDcwIEwgNDE1IDQ3MCBMIDQyMCA0NzUgTCA0MjAgNTcyLjUgTCA0MTUgNTc3LjUgTCAyNDUgNTc3LjUgTCAyNDAgNTcyLjUgTCAyNDAgNDc1IFoiIGZpbGw9InJnYigyNTUsIDI1NSwgMjU1KSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIyNDkuNSIgeT0iNDkzLjMiPjIxPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNDA5LjUiIHk9IjQ5My4zIj4xMjwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjI0OS41IiB5PSI1MTMuMyI+MjI8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI0MDkuNSIgeT0iNTEzLjMiPjExPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMjQ5LjUiIHk9IjUzMy4zIj4yMzwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjQwOS41IiB5PSI1MzMuMyI+MTA8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIyNDkuNSIgeT0iNTUzLjMiPjI0PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNDA5LjUiIHk9IjU1My4zIj45PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMjU5LjUiIHk9IjU3MC44Ij4xPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMjU5LjUiIHk9IjQ4My4zIj4yMDwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjI3OS41IiB5PSI1NzAuOCI+MjwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjI3OS41IiB5PSI0ODMuMyI+MTk8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIyOTkuNSIgeT0iNTcwLjgiPjM8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIyOTkuNSIgeT0iNDgzLjMiPjE4PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMzE5LjUiIHk9IjU3MC44Ij40PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMzE5LjUiIHk9IjQ4My4zIj4xNzwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjMzOS41IiB5PSI1NzAuOCI+NTwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjMzOS41IiB5PSI0ODMuMyI+MTY8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIzNTkuNSIgeT0iNTcwLjgiPjY8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSIzNTkuNSIgeT0iNDgzLjMiPjE1PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMzc5LjUiIHk9IjU3MC44Ij43PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iMzc5LjUiIHk9IjQ4My4zIj4xNDwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjM5OS41IiB5PSI1NzAuOCI+ODwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjM5OS41IiB5PSI0ODMuMyI+MTM8L3RleHQ+PC9nPjxwYXRoIGQ9Ik0gMjMwIDQ5MCBMIDI0MCA0OTAgTSA0MjAgNDkwIEwgNDMwIDQ5MCBNIDIzMCA1MTAgTCAyNDAgNTEwIE0gNDIwIDUxMCBMIDQzMCA1MTAgTSAyMzAgNTMwIEwgMjQwIDUzMCBNIDQyMCA1MzAgTCA0MzAgNTMwIE0gMjMwIDU1MCBMIDI0MCA1NTAgTSA0MjAgNTUwIEwgNDMwIDU1MCBNIDI2MCA0NjAgTCAyNjAgNDcwIE0gMjYwIDU3Ny41IEwgMjYwIDU4Ny41IE0gMjgwIDQ2MCBMIDI4MCA0NzAgTSAyODAgNTc3LjUgTCAyODAgNTg3LjUgTSAzMDAgNDYwIEwgMzAwIDQ3MCBNIDMwMCA1NzcuNSBMIDMwMCA1ODcuNSBNIDMyMCA0NjAgTCAzMjAgNDcwIE0gMzIwIDU3Ny41IEwgMzIwIDU4Ny41IE0gMzQwIDQ2MCBMIDM0MCA0NzAgTSAzNDAgNTc3LjUgTCAzNDAgNTg3LjUgTSAzNjAgNDYwIEwgMzYwIDQ3MCBNIDM2MCA1NzcuNSBMIDM2MCA1ODcuNSBNIDM4MCA0NjAgTCAzODAgNDcwIE0gMzgwIDU3Ny41IEwgMzgwIDU4Ny41IE0gNDAwIDQ2MCBMIDQwMCA0NzAgTSA0MDAgNTc3LjUgTCA0MDAgNTg3LjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZWxsaXBzZSBjeD0iMjUwIiBjeT0iNTY3LjUiIHJ4PSI1IiByeT0iNSIgZmlsbD0icmdiKDAsIDAsIDApIiBzdHJva2U9InJnYigwLCAwLCAwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxcHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogNTI0cHg7IG1hcmdpbi1sZWZ0OiAzMzBweDsiPjxkaXYgZGF0YS1kcmF3aW8tY29sb3JzPSJjb2xvcjogcmdiKDAsIDAsIDApOyAiIHN0eWxlPSJib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI7IHBvaW50ZXItZXZlbnRzOiBhbGw7IHdoaXRlLXNwYWNlOiBub3dyYXA7Ij5MMjk4TiBNb3RvciBEcml2ZTwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSIzMzAiIHk9IjUyNyIgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPkwyOThOIE1vdG9yIERyaXZlPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDU4MCAxNjAgTCA1ODAgMzAwIFEgNTgwIDMxMCA1OTAgMzEwIEwgNjMwIDMxMCBRIDY0MCAzMTAgNjQwIDMwMCBMIDY0MCAyOTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDQ4MCAxNjAgTCA0ODAgMjcwIFEgNDgwIDI4MCA0NzAgMjgwIEwgMTkwIDI4MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gNTAwIDE2MCBMIDUwMCAyNTAgUSA1MDAgMjYwIDQ5MCAyNjAgTCAxOTAgMjYwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA1MjAgMTYwIEwgNTIwIDIzMCBRIDUyMCAyNDAgNTEwIDI0MCBMIDE5MCAyNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDU0MCAxNjAgTCA1NDAgMjEwIFEgNTQwIDIyMCA1MzAgMjIwIEwgMTkwIDIyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gNTYwIDE2MCBMIDU2MCAxOTAgUSA1NjAgMjAwIDU1MCAyMDAgTCAxOTAgMjAwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA0NDUgNzAgTCA2MzUgNzAgTCA2NDAgNzUgTCA2NDAgMTQ1IEwgNjM1IDE1MCBMIDQ0NSAxNTAgTCA0NDAgMTQ1IEwgNDQwIDc1IFoiIGZpbGw9InJnYigyNTUsIDI1NSwgMjU1KSIgc3Ryb2tlPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI0NDkuNSIgeT0iOTMuMyI+MjI8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI2MjkuNSIgeT0iOTMuMyI+MTI8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI0NDkuNSIgeT0iMTEzLjMiPjIzPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNjI5LjUiIHk9IjExMy4zIj4xMTwvdGV4dD48L2c+PGcgZmlsbD0icmdiKDAsIDAsIDApIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjkuNjAwMDAwMDAwMDAwMDAxcHgiPjx0ZXh0IHg9IjQ0OS41IiB5PSIxMzMuMyI+MjQ8L3RleHQ+PC9nPjxnIGZpbGw9InJnYigwLCAwLCAwKSIgZm9udC1mYW1pbHk9IkFyaWFsLEhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSI5LjYwMDAwMDAwMDAwMDAwMXB4Ij48dGV4dCB4PSI2MjkuNSIgeT0iMTMzLjMiPjEwPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNDU5LjUiIHk9IjE0My4zIj4xPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNDU5LjUiIHk9IjgzLjMiPjIxPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNDc5LjUiIHk9IjE0My4zIj4yPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNDc5LjUiIHk9IjgzLjMiPjIwPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNDk5LjUiIHk9IjE0My4zIj4zPC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNDk5LjUiIHk9IjgzLjMiPjE5PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTE5LjUiIHk9IjE0My4zIj40PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTE5LjUiIHk9IjgzLjMiPjE4PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTM5LjUiIHk9IjE0My4zIj41PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTM5LjUiIHk9IjgzLjMiPjE3PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTU5LjUiIHk9IjE0My4zIj42PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTU5LjUiIHk9IjgzLjMiPjE2PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTc5LjUiIHk9IjE0My4zIj43PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTc5LjUiIHk9IjgzLjMiPjE1PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTk5LjUiIHk9IjE0My4zIj44PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNTk5LjUiIHk9IjgzLjMiPjE0PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNjE5LjUiIHk9IjE0My4zIj45PC90ZXh0PjwvZz48ZyBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iOS42MDAwMDAwMDAwMDAwMDFweCI+PHRleHQgeD0iNjE5LjUiIHk9IjgzLjMiPjEzPC90ZXh0PjwvZz48cGF0aCBkPSJNIDQzMCA5MCBMIDQ0MCA5MCBNIDY0MCA5MCBMIDY1MCA5MCBNIDQzMCAxMTAgTCA0NDAgMTEwIE0gNjQwIDExMCBMIDY1MCAxMTAgTSA0MzAgMTMwIEwgNDQwIDEzMCBNIDY0MCAxMzAgTCA2NTAgMTMwIE0gNDYwIDYwIEwgNDYwIDcwIE0gNDYwIDE1MCBMIDQ2MCAxNjAgTSA0ODAgNjAgTCA0ODAgNzAgTSA0ODAgMTUwIEwgNDgwIDE2MCBNIDUwMCA2MCBMIDUwMCA3MCBNIDUwMCAxNTAgTCA1MDAgMTYwIE0gNTIwIDYwIEwgNTIwIDcwIE0gNTIwIDE1MCBMIDUyMCAxNjAgTSA1NDAgNjAgTCA1NDAgNzAgTSA1NDAgMTUwIEwgNTQwIDE2MCBNIDU2MCA2MCBMIDU2MCA3MCBNIDU2MCAxNTAgTCA1NjAgMTYwIE0gNTgwIDYwIEwgNTgwIDcwIE0gNTgwIDE1MCBMIDU4MCAxNjAgTSA2MDAgNjAgTCA2MDAgNzAgTSA2MDAgMTUwIEwgNjAwIDE2MCBNIDYyMCA2MCBMIDYyMCA3MCBNIDYyMCAxNTAgTCA2MjAgMTYwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigwLCAwLCAwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGVsbGlwc2UgY3g9IjQ1MCIgY3k9IjE0MCIgcng9IjUiIHJ5PSI1IiBmaWxsPSJyZ2IoMCwgMCwgMCkiIHN0cm9rZT0icmdiKDAsIDAsIDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuNSAtMC41KSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0ibm9uZSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5IiBzdHlsZT0ib3ZlcmZsb3c6IHZpc2libGU7IHRleHQtYWxpZ246IGxlZnQ7Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHVuc2FmZSBjZW50ZXI7IGp1c3RpZnktY29udGVudDogdW5zYWZlIGNlbnRlcjsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiAxMTBweDsgbWFyZ2luLWxlZnQ6IDU0MHB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMCwgMCwgMCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsiPlJYPC9kaXY+PC9kaXY+PC9kaXY+PC9mb3JlaWduT2JqZWN0Pjx0ZXh0IHg9IjU0MCIgeT0iMTE0IiBmaWxsPSJyZ2IoMCwgMCwgMCkiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iMTJweCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+Ulg8L3RleHQ+PC9zd2l0Y2g+PC9nPjwvZz48c3dpdGNoPjxnIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIvPjxhIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTUpIiB4bGluazpocmVmPSJodHRwczovL3d3dy5kaWFncmFtcy5uZXQvZG9jL2ZhcS9zdmctZXhwb3J0LXRleHQtcHJvYmxlbXMiIHRhcmdldD0iX2JsYW5rIj48dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEwcHgiIHg9IjUwJSIgeT0iMTAwJSI+VGV4dCBpcyBub3QgU1ZHIC0gY2Fubm90IGRpc3BsYXk8L3RleHQ+PC9hPjwvc3dpdGNoPjwvc3ZnPg==" style="cursor:pointer;max-width:100%;"onclick="(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://viewer.diagrams.net/?client=1&edit=_blank');}})(this);"/>
### Runner Bot
# Spring Week 5
### action items
Cover sprint goals from previous week
Compendium