And now, something with wicked claws and deepwater teeth has begun to hunt at night... Feeling responsible for her neighbors, Dina decides to get involved. Before long, she has to juggle dealing with the annoyingly attractive, ex-military, new neighbor, Sean Evans—an alpha-strain werewolf—and the equally arresting cosmic vampire soldier, Arland, while trying to keep her inn and its guests safe. But the enemy she’s facing is unlike anything she’s ever encountered before. It’s smart, vicious, and lethal, and putting herself between this creature and her neighbors might just cost her everything.
Includes Innkeeper Chronicles 1-5 and a novella.
Audio Sample Player
Social Media Share Widgets
Purchase Options
Format Information
ALL DOWNLOAD FORMATS INCLUDE LISTENING TO THE TITLE IN GRAPHICAUDIO ACCESS™ APP ON ANDROID AND APPLE IOS DEVICES! LEARN MORE.
GraphicAudio is available in various high quality digital audio formats.
Listen with Access App Only - Download our app for Apple iOS & Android. App Device Compatibility: Android phones with OS 5 or later and iPhone, iPad, and iPod touch with iOS 9.0 or later. The Access App Only option does not include a zip download.
MP3 (256kbps) - Download the zip file and Play with any media player. You also get to Listen with GraphicAudio Access App. This is the most common audio download format that will play on any computer or media player. The average size of this download will be around 600 MB.
M4B (256kbps) - Download the zip file and Play with Apple Music, iPhone, iPod and iPad. You also get to Listen with GraphicAudio Access App. This format will work only in iTunes, Quicktime, on a Mac computer, or on an iOS device such as iPhone or iPad. M4B's have the ability to bookmark in some audio apps. The M4B download is one complete file, so it is not split up into smaller parts. The average size of this download will be around 600 MB.
FLAC (16 bit / 44.1 khz) - Download the zip file and Play with VLC or other high quality audio software. You also get to Listen with GraphicAudio Access App. This a studio-quality lossless digital audio format. This means that it does not lose data like other types of compressed audio files. Lossless compression still retains low-level resolution of a standard CD. The advantage of FLAC is that it takes up less room on your computer than an WAV (CD files). The average size of this download will be around 2,000 MB (2 GB).
FLAC 5.1 SURROUND (16 bit / 44.1 khz) - Download the zip file and Play with 5.1 Surround Sound Home Theater systems or other high quality surround sound audio software. You also get to listen to stereo version with the GraphicAudio Access App. The average size of this download will be around 4,500 MB (4.5 GB).
How do I un-zip my download?
When you download the file, it arrives on your computer in a compressed format called zip. Before you can add the audio files to your library and listen to it, you'll need to decompress, or "unzip" it. Doing so is very easy: If you're on a PC, right-click the file and choose Extract All... You're done. If you're on a Mac, double-click the file and it extracts into a separate folder next to where the other file is located.
My zip download says it's expired. What now?
Click here to send a customer support ticket to us. Please include the order number if you have it.
6 Titles In This Set - See AllSee Fewer
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY0NTAtNzk1MjUyMTgyIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJJTk5LRUVQRVIwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJTVzV1YTJWbGNHVnlJRU5vY205dWFXTnNaWE1nTVRvZ1EyeGxZVzRnVTNkbFpYQT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvbi9lL25ld19pbm5rZWVwZXJfY2hyb25pY2xlc18xX2NsZWFuX3N3ZWVwXzIuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJJbm5rZWVwZXImI3gyMDtDaHJvbmljbGVzJiN4MjA7MSYjeDNBOyYjeDIwO0NsZWFuJiN4MjA7U3dlZXAiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci02NDUwLTc5NTI1MjE4MiB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY0NTAtNzk1MjUyMTgyIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY0NTAtNzk1MjUyMTgyIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItNjQ1MC03OTUyNTIxODIgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPklubmtlZXBlciBDaHJvbmljbGVzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjEgOjwvc3Bhbj4gICAgICAgICAgICAgICAgQ2xlYW4gU3dlZXAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IElsb25hIEFuZHJld3M8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKYW4gNywgMjAyMiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA2IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPjxpbWcgc3JjPSIvbWVkaWEvd3lzaXd5Zy8yMDIzLUF1ZGllLUF3YXJkLUZpbmFsaXN0cy5wbmciIGFsdD0iTm9taW5hdGVkIGZvciB0aGUgMjAyMyBBdWRpbyBEcmFtYSBBdWRpZSBBd2FyZCEiIC8+PGJyIC8+DQo8YnIgLz4NCk9uIHRoZSBvdXRzaWRlLCBEaW5hIERlbWlsbGUgaXMgdGhlIGVwaXRvbWUgb2Ygbm9ybWFsLiBTaGUgcnVucyBhIHF1YWludCBWaWN0b3JpYW4gQmVkIGFuZCBCcmVha2Zhc3QgaW4gYSBzbWFsbCBUZXhhcyB0b3duLCBvd25zIGEgU2hpaCBUenUgbmFtZWQgQmVhc3QsIGFuZCBpcyBhIHBlcmZlY3QgbmVpZ2hib3IsIHdob3NlIGJpZ2dlc3QgcHJvYmxlbSBzaG91bGQgYmUgd2hhdCB0byBzZXJ2ZSBoZXIgZ3Vlc3RzIGZvciBicmVha2Zhc3QuIEJ1dCBEaW5hIGlzLi4uIGRpZmZlcmVudDogSGVyIGJyb29tIGlzIGEgZGVhZGx5IHdlYXBvbjsgaGVyIElubiBpcyBtYWdpYyBhbmQgdGhpbmtzIGZvciBpdHNlbGYuIE1lYW50IHRvIGJlIGEgbG9kZ2luZyBmb3Igb3RoZXJ3b3JsZGx5IHZpc2l0b3JzLCB0aGUgb25seSBwZXJtYW5lbnQgZ3Vlc3QgaXMgYSByZXRpcmVkIEdhbGFjdGljIGFyaXN0b2NyYXQgd2hvIGNhbuKAmXQgbGVhdmUgdGhlIGdyb3VuZHMgYmVjYXVzZSBzaGXigJlzIHJlc3BvbnNpYmxlIGZvciB0aGUgZGVhdGhzIG9mIG1pbGxpb25zIGFuZCBzb21lb25lIG1pZ2h0IHNob290IGhlciBvbiBzaWdodC4gVW5kZXIgdGhlIGNpcmN1bXN0YW5jZXMsICJub3JtYWwiIGlzIGEgYml0IG9mIGEgc3RyZXRjaCBmb3IgRGluYS48YnIgLz4NCjxiciAvPg0KQW5kIG5vdywgc29tZXRoaW5nIHdpdGggd2lja2VkIGNsYXdzIGFuZCBkZWVwd2F0ZXIgdGVldGggaGFzIGJlZ3VuIHRvIGh1bnQgYXQgbmlnaHQuLi4gRmVlbGluZyByZXNwb25zaWJsZSBmb3IgaGVyIG5laWdoYm9ycywgRGluYSBkZWNpZGVzIHRvIGdldCBpbnZvbHZlZC4gQmVmb3JlIGxvbmcsIHNoZSBoYXMgdG8ganVnZ2xlIGRlYWxpbmcgd2l0aCB0aGUgYW5ub3lpbmdseSBhdHRyYWN0aXZlLCBleC1taWxpdGFyeSwgbmV3IG5laWdoYm9yLCBTZWFuIEV2YW5z4oCUYW4gYWxwaGEtc3RyYWluIHdlcmV3b2xm4oCUYW5kIHRoZSBlcXVhbGx5IGFycmVzdGluZyBjb3NtaWMgdmFtcGlyZSBzb2xkaWVyLCBBcmxhbmQsIHdoaWxlIHRyeWluZyB0byBrZWVwIGhlciBpbm4gYW5kIGl0cyBndWVzdHMgc2FmZS4gQnV0IHRoZSBlbmVteSBzaGXigJlzIGZhY2luZyBpcyB1bmxpa2UgYW55dGhpbmcgc2hl4oCZcyBldmVyIGVuY291bnRlcmVkIGJlZm9yZS4gSXTigJlzIHNtYXJ0LCB2aWNpb3VzLCBhbmQgbGV0aGFsLCBhbmQgcHV0dGluZyBoZXJzZWxmIGJldHdlZW4gdGhpcyBjcmVhdHVyZSBhbmQgaGVyIG5laWdoYm9ycyBtaWdodCBqdXN0IGNvc3QgaGVyIGV2ZXJ5dGhpbmcuICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICBDb3B5cmlnaHQgwqkgMjAxMyBJbG9uYSBBbmRyZXdzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFJlY29yZGVkIHdpdGggdGhlIHBlcm1pc3Npb24gb2YgdGhlIGF1dGhvci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g4oSXIDIwMjIgR3JhcGhpYyBBdWRpbywgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLiA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9JTk5LRUVQRVIwMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9JTk5LRUVQRVIwMS5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY0OTQtMTY1MjI2MzYzOSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iSU5OS0VFUEVSMDIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iU1c1dWEyVmxjR1Z5SUVOb2NtOXVhV05zWlhNZ01qb2dVM2RsWlhBZ1NXNGdVR1ZoWTJVPSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY4NTA4NjA3Ny5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IklubmtlZXBlciYjeDIwO0Nocm9uaWNsZXMmI3gyMDsyJiN4M0E7JiN4MjA7U3dlZXAmI3gyMDtJbiYjeDIwO1BlYWNlIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItNjQ5NC0xNjUyMjYzNjM5IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItNjQ5NC0xNjUyMjYzNjM5IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY0OTQtMTY1MjI2MzYzOSIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY0OTQtMTY1MjI2MzYzOSAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+SW5ua2VlcGVyIENocm9uaWNsZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MiA6PC9zcGFuPiAgICAgICAgICAgICAgICBTd2VlcCBJbiBQZWFjZSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgSWxvbmEgQW5kcmV3czwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE1hciAxNCwgMjAyMiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA3IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkRpbmEgRGVtaWxsZSBkb2VzbuKAmXQgcnVuIHlvdXIgdHlwaWNhbCBCZWQgYW5kIEJyZWFrZmFzdC4gSGVyIGlubiBkZWZpZXMgbGF3cyBvZiBwaHlzaWNzLCBoZXIgZmx1ZmZ5IGRvZyBpcyBzZWNyZXRseSBhIG1vbnN0ZXIsIGFuZCB0aGUgb25seSBwYXlpbmcgZ3Vlc3QgaXMgYSBmb3JtZXIgR2FsYWN0aWMgdHlyYW50IHdpdGggYSBwcmljZSBvbiBoZXIgaGVhZC4gQnV0IHRoZSBpbm4gbmVlZHMgZ3Vlc3RzIHRvIHRocml2ZSwgYW5kIGd1ZXN0cyBoYXZlIGJlZW4gc2NhcmNlLCBzbyB3aGVuIGFuIEFyYml0cmF0b3Igc2hvd3MgdXAgYXQgRGluYSdzIGRvb3IgYW5kIGFza3MgaGVyIHRvIGhvc3QgYSBwZWFjZSBzdW1taXQgYmV0d2VlbiB0aHJlZSB3YXJyaW5nIHNwZWNpZXMsIHNoZSBqdW1wcyBvbiB0aGUgY2hhbmNlLjxiciAvPg0KPGJyIC8+DQpVbmZvcnR1bmF0ZWx5LCBmb3IgRGluYSwga2VlcGluZyB0aGUgcGVhY2UgYmV0d2VlbiBTcGFjZSBWYW1waXJlcywgdGhlIEhvcGUtQ3J1c2hpbmcgSG9yZGUsIGFuZCB0aGUgZGV2aW91cyBNZXJjaGFudHMgb2YgQmFoYS1jaGFyIGlzIG11Y2ggZWFzaWVyIHNhaWQgdGhhbiBkb25lLiBPbiB0b3Agb2Yga2VlcGluZyBoZXIgZ3Vlc3RzIGZyb20gbXVyZGVyaW5nIGVhY2ggb3RoZXIsIHNoZSBtdXN0IGZpbmQgYSBjaGVmLCByZW1vZGVsIHRoZSBpbm4uLi5hbmQgcmlzayBldmVyeXRoaW5nLCBldmVuIGhlciBsaWZlLCB0byBzYXZlIHRoZSBtYW4gc2hlIG1pZ2h0IGZhbGwgaW4gbG92ZSB3aXRoLiBCdXQgdGhlbiBpdCdzIGFsbCBpbiB0aGUgZGF5J3Mgd29yayBmb3IgYW4gSW5ua2VlcGVy4oCmICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICBDb3B5cmlnaHQgwqkgMjAxNSBJbG9uYSBBbmRyZXdzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFJlY29yZGVkIHdpdGggdGhlIHBlcm1pc3Npb24gb2YgdGhlIGF1dGhvci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g4oSXIDIwMjIgR3JhcGhpYyBBdWRpbywgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLiA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9JTk5LRUVQRVIwMi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9JTk5LRUVQRVIwMi5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY1MzktMzY4MTkzMjg4Ij4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJJTk5LRUVQRVIwMyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJTVzV1YTJWbGNHVnlJRU5vY205dWFXTnNaWE1nTXpvZ1QyNWxJRVpsYkd3Z1UzZGxaWEE9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjg1MDg2MzgxLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iSW5ua2VlcGVyJiN4MjA7Q2hyb25pY2xlcyYjeDIwOzMmI3gzQTsmI3gyMDtPbmUmI3gyMDtGZWxsJiN4MjA7U3dlZXAiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci02NTM5LTM2ODE5MzI4OCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY1MzktMzY4MTkzMjg4IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY1MzktMzY4MTkzMjg4Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItNjUzOS0zNjgxOTMyODggIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPklubmtlZXBlciBDaHJvbmljbGVzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgT25lIEZlbGwgU3dlZXAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IElsb25hIEFuZHJld3M8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBBcHIgMTgsIDIwMjIgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gOCBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTUrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5EaW5hIERlbWlsbGUgbWF5IHJ1biB0aGUgbmljZXN0IEJlZCBhbmQgQnJlYWtmYXN0IGluIFJlZCBEZWVyLCBUZXhhcywgYnV0IHNoZSBjYXRlcnMgdG8gYSB2ZXJ5IHBhcnRpY3VsYXIga2luZCBvZiBndWVzdOKApiB0aGUga2luZCB0aGF0IG5vIG9uZSBvbiBFYXJ0aCBpcyBzdXBwb3NlZCB0byBrbm93IGFib3V0LiBHdWVzdHMgbGlrZSBhIGZvcm1lciBpbnRlcmdhbGFjdGljIHR5cmFudCB3aXRoIGFuIGltcHJlc3NpdmUgYm91bnR5IG9uIGhlciBoZWFkLCB0aGUgTG9yZCBNYXJzaGFsIG9mIGEgcG93ZXJmdWwgdmFtcGlyZSBjbGFuLCBhbmQgYSBkaXNwbGFjZWQtYW5kLXN1cGVyaG90IHdlcmV3b2xmOyBzbyBkb27igJl0IHN0YW5kIHRvbyBjbG9zZSwgb3IgeW91IG1heSBiZSBjb2xsYXRlcmFsIGRhbWFnZS48YnIgLz4NCjxiciAvPg0KQnV0IHdoYXQgcGFzc2VzIGZvciBEaW5h4oCZcyBub3JtYWwgbGlmZSBpcyBhYm91dCB0byBiZSB0aHJvd24gaW50byBjaGFvcy4gRmlyc3QsIHNoZSBtdXN0IHJlc2N1ZSBoZXIgbG9uZy1kaXN0YW50IG9sZGVyIHNpc3RlciwgTWF1ZCwgd2hv4oCZcyBiZWVuIGV4aWxlZCB3aXRoIGhlciBmYW1pbHkgdG8gYSBwbGFuZXQgdGhhdCBmdW5jdGlvbnMgYXMgdGhlIG1vc3QgbGF3bGVzcyBwZW5hbCBjb2xvbnkgc2luY2UgQm90YW55IEJheS4gVGhlbiBzaGUgYWdyZWVzIHRvIGhlbHAgYSBndWVzdCB3aG9zZSBsYXN0IGNoYW5jZSBhdCBzYXZpbmcgaGlzIGNpdmlsaXphdGlvbiBjb3VsZCBicmluZyBkZWF0aCBhbmQgZGlzYXN0ZXIgdG8gYWxsIERpbmEgaG9sZHMgZGVhci4gTm93IEdlcnRydWRlIEh1bnQgaXMgdW5kZXIgc2llZ2UgYnkgYSBjbGFuIG9mIGFzc2Fzc2lucy4gVG8ga2VlcCBoZXIgZ3Vlc3RzIHNhZmUgYW5kIHRvIGZpbmQgaGVyIG1pc3NpbmcgcGFyZW50cywgRGluYSB3aWxsIHJpc2sgZXZlcnl0aGluZywgZXZlbiBpZiBzaGUgaGFzIHRvIHBheSB0aGUgdWx0aW1hdGUgcHJpY2UuIFRob3VnaCBTZWFuIG1heSBoYXZlIHNvbWV0aGluZyB0byBzYXkgYWJvdXQgdGhhdCEgICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIENvcHlyaWdodCDCqSAyMDE2IElsb25hIEFuZHJld3MsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gUmVjb3JkZWQgd2l0aCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLiBBbGwgcmlnaHRzIHJlc2VydmVkLiDihJcgMjAyMiBHcmFwaGljIEF1ZGlvLCBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0lOTktFRVBFUjAzLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0lOTktFRVBFUjAzLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY1NzEtMjA5MjA4NjMzMCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iSU5OS0VFUEVSMDQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iU1c1dWEyVmxjR1Z5SUVOb2NtOXVhV05zWlhNZ05Eb2dVM2RsWlhBZ2IyWWdkR2hsSUVKc1lXUmwiCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvOS83Lzk3ODE2ODUwODY2MjYuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJJbm5rZWVwZXImI3gyMDtDaHJvbmljbGVzJiN4MjA7NCYjeDNBOyYjeDIwO1N3ZWVwJiN4MjA7b2YmI3gyMDt0aGUmI3gyMDtCbGFkZSIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY1NzEtMjA5MjA4NjMzMCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY1NzEtMjA5MjA4NjMzMCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci02NTcxLTIwOTIwODYzMzAiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci02NTcxLTIwOTIwODYzMzAgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPklubmtlZXBlciBDaHJvbmljbGVzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjQgOjwvc3Bhbj4gICAgICAgICAgICAgICAgU3dlZXAgb2YgdGhlIEJsYWRlICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBJbG9uYSBBbmRyZXdzPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gSnVuIDE2LCAyMDIyICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDggSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDE1KyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+TWF1ZCBEZW1pbGxlIGlzIGEgZGF1Z2h0ZXIgb2YgSW5ua2VlcGVyc+KAlGEgc3BlY2lhbCBncm91cCB3aG8gcHJvdmlkZSDigJhsb2RnaW5n4oCZIHRvIG90aGVyLXBsYW5ldGFyeSB2aXNpdG9yc+KAlHNvIHNoZSBrbm93cyB0aGF0IGEgc2ltcGxlIGxpZmUgaXNuJ3QgaW4gdGhlIGNhcmRzLiBCdXQgZXZlbiBNYXVkIGNvdWxkIG5ldmVyIGhhdmUgYW50aWNpcGF0ZWQgd2hhdCBGYXRlIHdvdWxkIHRocm93IGF0IGhlci48YnIgLz4NCjxiciAvPg0KT25jZSBhIHdpZmUgdG8gYSBwb3dlcmZ1bCB2YW1waXJlIGtuaWdodCwgTWF1ZCBhbmQgaGVyIHlvdW5nIGRhdWdodGVyLCBIZWxlbiwgd2VyZSBleGlsZWQgd2l0aCBoaW0gZm9yIGhpcyB0cmVhY2hlcnkgdG8gdGhlIGRlc29sYXRlLCBzYXZhZ2UgcGxhbmV0IG9mIEthcmhhcmkuIEthcmhhcmkga2lsbGVkIGhlciBodXNiYW5kLCBhbmQgTWF1ZOKAlGNvbXBsZXRlbHkgYWJhbmRvbmVkIGJ5IGhpcyBmYW1pbHnigJRoYXMgc3BlbnQgb3ZlciBhIHllYXIgYXZlbmdpbmcgaGlzIGRlYnRzLiBSZXNjdWVkIGJ5IGhlciBzaXN0ZXIgRGluYSwgc2hlJ3Mgc3dvcm4gb2ZmIGFsbCB0aGluZ3MgdmFtcGlyZS48YnIgLz4NCjxiciAvPg0KRXhjZXB0Li4uIEluIGhlbHBpbmcgRGluYSBzYXZlIHRoZSB3b3JsZCwgc2hlIG1ldCBBcmxhbmQsIHRoZSBNYXJzaGFsIG9mIEhvdXNlIEtyYWhyLCBvbmUgb2YgdGhlIG1vc3QgcG93ZXJmdWwgdmFtcGlyZSBob3VzZXMuIE9uZSB0aGluZyBsZWQgdG8gYW5vdGhlciBhbmQgaGUgYXNrZWQgZm9yIGhlciBoYW5kIGluIG1hcnJpYWdlLiBTaGUgZGVjbGluZWQuIEFybGFuZCBpcyBub3QgdXNlZCB0byBoZWFyaW5nIHRoZSB3b3JkIOKAmG5vO+KAmSBhbmQgdHJ5IGFzIHNoZSBtaWdodCwgTWF1ZCBjYW4ndCBqdXN0IHdhbGsgYXdheSBmcm9tIEFybGFuZC4gSXQgZG9lc24ndCBoZWxwIHRoYXQgYmVpbmcgaHVtYW4gaXMgYSBsb3QgaGFyZGVyIGZvciBNYXVkIHRoYW4gYmVpbmcgYSB2YW1waXJlLjxiciAvPg0KPGJyIC8+DQpUbyBzb3J0IGl0IGFsbCBvdXQsIHNoZSBhY2NlcHRzIGhpcyBpbnZpdGF0aW9uIHRvIHZpc2l0IGhpcyBob21lIHBsYW5ldC4gSG91c2UgS3JhaHIgaXMgZXh0cmVtZWx5IGluZmx1ZW50aWFsIGFuZCBNYXVkIGtub3dzIHRoYXQgYSB3b21hbuKAlGEgaHVtYW4sIHdpdGggYSB2ZXJ5IHF1ZXN0aW9uYWJsZSBwYXN04oCUd2hvJ3MgdHVybmVkIGRvd24gYSBwcm9wb3NhbCBmcm9tIGl0cyBtb3N0IGJlbG92ZWQgc29uIHdvbid0IGdldCBhIHdhcm0gcmVjZXB0aW9uLiBNYXliZSBzaGXigJlzIG5vdCBzdXJlIGFib3V0IG1hcnJ5aW5nIEFybGFuZCwgYnV0IEhvdXNlIEtyYWhyIGlzbuKAmXQgZ29pbmcgdG8gZGVjaWRlIGZvciBoZXIuIE1hdWQgRGVtaWxsZSBoYXMgbmV2ZXIgcnVuIGZyb20gYSBmaWdodCwgYW5kIEhvdXNlIEtyYWhyIHdpbGwgc29vbiBkaXNjb3ZlciB0aGF0IHRoZXJlJ3MgYSBsb3QgbW9yZSB0byBNYXVkIHRoYW4gdGhleeKAmXJlIGV4cGVjdGluZy4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIENvcHlyaWdodCDCqSAyMDE5IElsb25hIEFuZHJld3MsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gUmVjb3JkZWQgd2l0aCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLiBBbGwgcmlnaHRzIHJlc2VydmVkLiDihJcgMjAyMiBHcmFwaGljIEF1ZGlvLCBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0lOTktFRVBFUjA0Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0lOTktFRVBFUjA0Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY2MzktMTAzODkwNTQ4NCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iSU5OS0VFUEVSMDQwNSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJTVzV1YTJWbGNHVnlJRU5vY205dWFXTnNaWE1nTkM0MU9pQlRkMlZsY0NCM2FYUm9JRTFsIgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjg1MDg3NjE2LmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iSW5ua2VlcGVyJiN4MjA7Q2hyb25pY2xlcyYjeDIwOzQuNSYjeDNBOyYjeDIwO1N3ZWVwJiN4MjA7d2l0aCYjeDIwO01lIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItNjYzOS0xMDM4OTA1NDg0IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItNjYzOS0xMDM4OTA1NDg0IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY2MzktMTAzODkwNTQ4NCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY2MzktMTAzODkwNTQ4NCAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+SW5ua2VlcGVyIENocm9uaWNsZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+NC41IDo8L3NwYW4+ICAgICAgICAgICAgICAgIFN3ZWVwIHdpdGggTWUgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IElsb25hIEFuZHJld3M8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBBdWcgMSwgMjAyMiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiAzIEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxNSsgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkEgY2hhcm1pbmcgbm92ZWxsYSBpbiB0aGUgSW5ua2VlcGVyIENocm9uaWNsZXMsIGZyb20gIzEgTmV3IFlvcmsgVGltZXMgYmVzdHNlbGxpbmcgYXV0aG9yLCBJbG9uYSBBbmRyZXdzLiBUaGFuayB5b3UgZm9yIGpvaW5pbmcgdXMgYXQgR2VydHJ1ZGUgSHVudCwgdGhlIG5pY2VzdCBCZWQgYW5kIEJyZWFrZmFzdCBpbiBSZWQgRGVlciwgVGV4YXMsIGR1cmluZyB0aGUgVHJlYXR5IFN0YXkuIEFzIHlvdSBrbm93LCB3ZSBhcmUgaG9ub3ItYm91bmQgdG8gYWNjZXB0IGFsbCBndWVzdHMgZHVyaW5nIHRoaXMgb2xkZXN0IG9mIGlubmtlZXBlciBob2xpZGF5cyBhbmQgd2UgYXJlIGV4cGVjdGluZyBhIGRhbmdlcm91cyBndWVzdC4gT3Igc2V2ZXJhbC4gQnV0IGhhdmUgbm8gZmVhci4gWW91ciBzYWZldHkgYW5kIGNvbWZvcnQgaXMgb3VyIGZpcnN0IHByaW9yaXR5LiBUaGUgaW5uIGFuZCB5b3VyIGhvc3RzLCBEaW5hIERlbWlsbGUgYW5kIFNlYW4gRXZhbnMsIHdpbGwgZGVmZW5kIHlvdSBhdCBhbGwgY29zdHMuIFtCdXQgd2UgaG9wZSB3ZSBkb27igJl0IGhhdmUgdG8uXTxiciAvPg0KPGJyIC8+DQpFdmVyeSB3aW50ZXIsIElubmtlZXBlcnMgbG9vayBmb3J3YXJkIHRvIGNlbGVicmF0aW5nIHRoZWlyIG93biBzcGVjaWFsIGhvbGlkYXksIHdoaWNoIGNvbW1lbW9yYXRlcyB0aGUgYW5jaWVudCB0cmVhdHkgdGhhdCB1bml0ZWQgdGhlIHZlcnkgZmlyc3QgSW5ucyBhbmQgZXN0YWJsaXNoZWQgdGhlIHJ1bGVzIHRoYXQgcHJvdGVjdCB0aGVtLCB0aGVpciBpbnRlcmdhbGFjdGljIGd1ZXN0cywgYW5kIHRoZSB2ZXJ5IHVuYXdhcmUvb2JsaXZpb3VzIHBlb3BsZSBvZiBbcGxhbmV0XSBFYXJ0aC4gQnkgdHJhZGl0aW9uLCB0aGUgSW5ua2VlcGVycyB3ZWxjb21lZCB0aHJlZSBndWVzdHM6IGEgd2FycmlvciwgYSBzYWdlLCBhbmQgYSBwaWxncmltLCBidXQgZHVyaW5nIHRoZSBob2xpZGF5LCBJbm5rZWVwZXJzIG11c3Qgb3BlbiB0aGVpciBkb29ycyB0byBhbnlvbmUgd2hvIHNlZWtzIGxvZGdpbmcuIEFueW9uZS48YnIgLz4NCjxiciAvPg0KQWxsIERpbmEgaG9wZXMgaXMgdGhhdCB0aGUgZ3Vlc3RzIGFuZCBjb25kdWN0IHRoZW1zZWx2ZXMgaW4gYSBwb2xpdGUgbWFubmVyLiBCdXQgd2hhdOKAmXMgYSBob2xpZGF5IHdpdGhvdXQgYXQgbGVhc3Qgb25lIGRpc2FzdGVyPyAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMjAgSWxvbmEgQW5kcmV3cywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBSZWNvcmRlZCB3aXRoIHRoZSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIOKElyAyMDIyIEdyYXBoaWMgQXVkaW8sIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvSU5OS0VFUEVSMDQwNS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9JTk5LRUVQRVIwNDA1Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTc1NjctNTI4MjAxMzMxIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJJTk5LRUVQRVIwNSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJTVzV1YTJWbGNHVnlJRU5vY205dWFXTnNaWE1nTlRvZ1UzZGxaWEFnYjJZZ2RHaGxJRWhsWVhKMCIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9pL24vaW5ua2VlcGVyX2Nocm9uaWNsZXNfNV9zd2VlcF9vZl90aGVfaGVhcnQuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJJbm5rZWVwZXImI3gyMDtDaHJvbmljbGVzJiN4MjA7NSYjeDNBOyYjeDIwO1N3ZWVwJiN4MjA7b2YmI3gyMDt0aGUmI3gyMDtIZWFydCIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTc1NjctNTI4MjAxMzMxIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItNzU2Ny01MjgyMDEzMzEgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItNzU2Ny01MjgyMDEzMzEiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci03NTY3LTUyODIwMTMzMSAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+SW5ua2VlcGVyIENocm9uaWNsZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+NSA6PC9zcGFuPiAgICAgICAgICAgICAgICBTd2VlcCBvZiB0aGUgSGVhcnQgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IElsb25hIEFuZHJld3M8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKYW4gMTksIDIwMjQgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gMTEgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDE1KyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+RnJvbSB0aGUgTmV3IFlvcmsgVGltZXMgIzEgYmVzdHNlbGxpbmcgYXV0aG9yLCBJbG9uYSBBbmRyZXdzLCBjb21lcyBhIGZ1biBhbmQgYWN0aW9uLXBhY2tlZCBuZXcgYWR2ZW50dXJlIGluIHRoZSBJbm5rZWVwZXIgQ2hyb25pY2xlcyEgV2UgaW52aXRlIHlvdSB0byByZWxheCwgZW5qb3kgeW91cnNlbGYsIGFuZCBhYm92ZSBhbGwsIHJlbWVtYmVyIHRoZSBvbmUgcnVsZSBhbGwgdmlzaXRvcnMgbXVzdCBvYmV5OiB0aGUgaHVtYW5zIG11c3QgbmV2ZXIga25vdy48YnIgLz4NCjxiciAvPg0KTGlmZSBpcyBidXNpZXIgdGhhbiBldmVyIGZvciBJbm5rZWVwZXIsIERpbmEgRGVNaWxsZSBhbmQgU2VhbiBFdmFucy4gQnV0IGl04oCZcyBhYm91dCB0byBnZXQgZXZlbiBtb3JlIGNoYW90aWMgd2hlbiBTZWFuJ3Mgd2VyZXdvbGYgbWVudG9yIGlzIGtpZG5hcHBlZC4gVG8gZmluZCBoaW0sIHRoZXkgbXVzdCBob3N0IGFuIGludGVyZ2FsYWN0aWMgc3BvdXNlLXNlYXJjaCBmb3Igb25lIG9mIHRoZSBtb3N0IHBvd2VyZnVsIHJ1bGVycyBpbiB0aGUgR2FsYXh5LiBEaW5hIGlzIG5ldmVyIG9uZSB0byBiYWNrIGRvd24gZnJvbSBhIGNoYWxsZW5nZS4gVGhhdCBpcywgaWYgc2hlIGNhbiBtYW5hZ2UgaGVyIHRlbXBlcmFtZW50YWwgUmVkIENsZWF2ZXIgY2hlZjsgdGhlIGNvbnNlcXVlbmNlcyBvZiBoZXIgZmF2b3JpdGUgR2FsYWN0aWMgZXgtdHlyYW50J3MgZGFyayBoaXN0b3J5OyB0aGUgdGFuZ2xlZCBwb2xpdGljcyBvZiBhbiBpbnRlcnN0ZWxsYXIgbmF0aW9uLCBhbmQgb2gsIHllcywga2VlcCB0aGUgd2VkZGluZyBjYW5kaWRhdGVzIGZyb20gYSBkb3plbiBhbGllbiBzcGVjaWVzIGZyb20ga2lsbGluZyBlYWNoIG90aGVyLiBOb3QgdG8gbWVudGlvbiB0aGUgQ29zdGNvIGxhZHkuPGJyIC8+DQo8YnIgLz4NClRoZXkgc2F5IGxvdmUgaXMgYSBiYXR0bGVmaWVsZDsgYnV0IERpbmEgYW5kIFNlYW4gYXJlIGRldGVybWluZWQgdG8gbGltaXQgdGhlIGNhc3VhbHRpZXMhPGJyIC8+DQo8YnIgLz4NCkFkYXB0ZWQgZnJvbSB0aGUgbm92ZWwgYW5kIHByb2R1Y2VkIHdpdGggYSBmdWxsIGNhc3Qgb2YgYWN0b3JzLCBpbW1lcnNpdmUgc291bmQgZWZmZWN0cyBhbmQgY2luZW1hdGljIG11c2ljISAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMjIgSWxvbmEgQW5kcmV3cywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBSZWNvcmRlZCB3aXRoIHRoZSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIOKElyAyMDI0IEdyYXBoaWMgQXVkaW8sIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvSU5OS0VFUEVSMDUubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvSU5OS0VFUEVSMDUubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=