Carrying a sealed message from the war-hero Dragon King to the queen, Quentin and his outlaw companion, Theido, plunge headlong into a fantastic odyssey and mystic quest. Danger lurks everywhere in the brutal terrain and particularly in the threats from merciless creatures, both human and not-so-human.
While at the castle, the wicked Prince Jaspin schemes to secure the crown for himself and an evil sorcerer concocts his own monstrous plan. A plan that Quentin and Theido could never imagine.
In the youth's valiant efforts to save the kingdom and fulfill his unique destiny, he will cross strange and wondrous lands; encounter brave knights, beautiful maidens and a mysterious hermit; and battle a giant, deadly serpent.
Includes Dragon King Trilogy 1-3 (6 Parts).
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
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODYtMTk5NjgyNjAyOCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iREtUMDEwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJSSEpoWjI5dUlFdHBibWNnVkhKcGJHOW5lU0F4T2lCSmJpQjBhR1VnU0dGc2JDQnZaaUIwYUdVZ1JISmhaMjl1SUV0cGJtY2dNU0J2WmlBeSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9kL2svZGt0MDEwMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkRyYWdvbiYjeDIwO0tpbmcmI3gyMDtUcmlsb2d5JiN4MjA7MSYjeDNBOyYjeDIwO0luJiN4MjA7dGhlJiN4MjA7SGFsbCYjeDIwO29mJiN4MjA7dGhlJiN4MjA7RHJhZ29uJiN4MjA7S2luZyYjeDIwOzEmI3gyMDtvZiYjeDIwOzIiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDg2LTE5OTY4MjYwMjggewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDg2LTE5OTY4MjYwMjggc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4Ni0xOTk2ODI2MDI4Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4Ni0xOTk2ODI2MDI4ICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5EcmFnb24gS2luZyBUcmlsb2d5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjEgOjwvc3Bhbj4gICAgICAgICAgICAgICAgSW4gdGhlIEhhbGwgb2YgdGhlIERyYWdvbiBLaW5nICgxIG9mIDIpICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBTdGVwaGVuIFIuIExhd2hlYWQ8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBNYXkgMSwgMjAxMSAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA1IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkEga2luZ2RvbSBoYW5ncyBpbiB0aGUgYmFsYW5jZS4uLmFuZCBhIHlvdW5nIGJveSBhbnN3ZXJzIHRoZSBjYWxsLjxici8+PGJyLz5DYXJyeWluZyBhIHNlYWxlZCBtZXNzYWdlIGZyb20gdGhlIHdhci1oZXJvIERyYWdvbiBLaW5nIHRvIHRoZSBxdWVlbiwgUXVlbnRpbiBhbmQgaGlzIG91dGxhdyBjb21wYW5pb24sIFRoZWlkbywgcGx1bmdlIGhlYWRsb25nIGludG8gYSBmYW50YXN0aWMgb2R5c3NleSBhbmQgbXlzdGljIHF1ZXN0LiBEYW5nZXIgbHVya3MgZXZlcnl3aGVyZSBpbiB0aGUgYnJ1dGFsIHRlcnJhaW4gYW5kIHBhcnRpY3VsYXJseSBpbiB0aGUgdGhyZWF0cyBmcm9tIG1lcmNpbGVzcyBjcmVhdHVyZXMsIGJvdGggaHVtYW4gYW5kIG5vdC1zby1odW1hbi48YnIvPjxici8+V2hpbGUgYXQgdGhlIGNhc3RsZSwgdGhlIHdpY2tlZCBQcmluY2UgSmFzcGluIHNjaGVtZXMgdG8gc2VjdXJlIHRoZSBjcm93biBmb3IgaGltc2VsZiBhbmQgYW4gZXZpbCBzb3JjZXJlciBjb25jb2N0cyBoaXMgb3duIG1vbnN0cm91cyBwbGFuLiBBIHBsYW4gdGhhdCBRdWVudGluIGFuZCBUaGVpZG8gY291bGQgbmV2ZXIgaW1hZ2luZS48YnIvPjxici8+SW4gdGhlIHlvdXRoJ3MgdmFsaWFudCBlZmZvcnRzIHRvIHNhdmUgdGhlIGtpbmdkb20gYW5kIGZ1bGZpbGwgaGlzIHVuaXF1ZSBkZXN0aW55LCBoZSB3aWxsIGNyb3NzIHN0cmFuZ2UgYW5kIHdvbmRyb3VzIGxhbmRzOyBlbmNvdW50ZXIgYnJhdmUga25pZ2h0cywgYmVhdXRpZnVsIG1haWRlbnMgYW5kIGEgbXlzdGVyaW91cyBoZXJtaXQ7IGFuZCBiYXR0bGUgYSBnaWFudCwgZGVhZGx5IHNlcnBlbnQuICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICAmY29weTsgMTk4MiBTdGVwaGVuIExhd2hlYWQuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIFRob21hcyBOZWxzb24sIGEgZGl2aXNpb24gb2YgSGFycGVyQ29sbGlucyBDaHJpc3RpYW4gUHVibGlzaGluZywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoUCkgMjAxMSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMTAxLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0RLVDAxMDEubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODctNjUxMjkwNzk3Ij4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJES1QwMTAyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlJISmhaMjl1SUV0cGJtY2dWSEpwYkc5bmVTQXhPaUJKYmlCMGFHVWdTR0ZzYkNCdlppQjBhR1VnUkhKaFoyOXVJRXRwYm1jZ01pQnZaaUF5IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L2Qvay9ka3QwMTAyLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iRHJhZ29uJiN4MjA7S2luZyYjeDIwO1RyaWxvZ3kmI3gyMDsxJiN4M0E7JiN4MjA7SW4mI3gyMDt0aGUmI3gyMDtIYWxsJiN4MjA7b2YmI3gyMDt0aGUmI3gyMDtEcmFnb24mI3gyMDtLaW5nJiN4MjA7MiYjeDIwO29mJiN4MjA7MiIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODctNjUxMjkwNzk3IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4Ny02NTEyOTA3OTcgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4Ny02NTEyOTA3OTciKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDg3LTY1MTI5MDc5NyAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RHJhZ29uIEtpbmcgVHJpbG9neTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4xIDo8L3NwYW4+ICAgICAgICAgICAgICAgIEluIHRoZSBIYWxsIG9mIHRoZSBEcmFnb24gS2luZyAoMiBvZiAyKSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgU3RlcGhlbiBSLiBMYXdoZWFkPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gSnVuIDEsIDIwMTEgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5BIGtpbmdkb20gaGFuZ3MgaW4gdGhlIGJhbGFuY2UuLi5hbmQgYSB5b3VuZyBib3kgYW5zd2VycyB0aGUgY2FsbC48YnIvPjxici8+Q2FycnlpbmcgYSBzZWFsZWQgbWVzc2FnZSBmcm9tIHRoZSB3YXItaGVybyBEcmFnb24gS2luZyB0byB0aGUgcXVlZW4sIFF1ZW50aW4gYW5kIGhpcyBvdXRsYXcgY29tcGFuaW9uLCBUaGVpZG8sIHBsdW5nZSBoZWFkbG9uZyBpbnRvIGEgZmFudGFzdGljIG9keXNzZXkgYW5kIG15c3RpYyBxdWVzdC4gRGFuZ2VyIGx1cmtzIGV2ZXJ5d2hlcmUgaW4gdGhlIGJydXRhbCB0ZXJyYWluIGFuZCBwYXJ0aWN1bGFybHkgaW4gdGhlIHRocmVhdHMgZnJvbSBtZXJjaWxlc3MgY3JlYXR1cmVzLCBib3RoIGh1bWFuIGFuZCBub3Qtc28taHVtYW4uPGJyLz48YnIvPldoaWxlIGF0IHRoZSBjYXN0bGUsIHRoZSB3aWNrZWQgUHJpbmNlIEphc3BpbiBzY2hlbWVzIHRvIHNlY3VyZSB0aGUgY3Jvd24gZm9yIGhpbXNlbGYgYW5kIGFuIGV2aWwgc29yY2VyZXIgY29uY29jdHMgaGlzIG93biBtb25zdHJvdXMgcGxhbi4gQSBwbGFuIHRoYXQgUXVlbnRpbiBhbmQgVGhlaWRvIGNvdWxkIG5ldmVyIGltYWdpbmUuPGJyLz48YnIvPkluIHRoZSB5b3V0aCdzIHZhbGlhbnQgZWZmb3J0cyB0byBzYXZlIHRoZSBraW5nZG9tIGFuZCBmdWxmaWxsIGhpcyB1bmlxdWUgZGVzdGlueSwgaGUgd2lsbCBjcm9zcyBzdHJhbmdlIGFuZCB3b25kcm91cyBsYW5kczsgZW5jb3VudGVyIGJyYXZlIGtuaWdodHMsIGJlYXV0aWZ1bCBtYWlkZW5zIGFuZCBhIG15c3RlcmlvdXMgaGVybWl0OyBhbmQgYmF0dGxlIGEgZ2lhbnQsIGRlYWRseSBzZXJwZW50LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODIgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDEwMi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMTAyLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODgtMTU1ODQ0MzYyNCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iREtUMDIwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJSSEpoWjI5dUlFdHBibWNnVkhKcGJHOW5lU0F5T2lCVWFHVWdWMkZ5Ykc5eVpITWdiMllnVG1sdUlERWdiMllnTWc9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9kL2svZGt0MDIwMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkRyYWdvbiYjeDIwO0tpbmcmI3gyMDtUcmlsb2d5JiN4MjA7MiYjeDNBOyYjeDIwO1RoZSYjeDIwO1dhcmxvcmRzJiN4MjA7b2YmI3gyMDtOaW4mI3gyMDsxJiN4MjA7b2YmI3gyMDsyIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4OC0xNTU4NDQzNjI0IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4OC0xNTU4NDQzNjI0IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODgtMTU1ODQ0MzYyNCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODgtMTU1ODQ0MzYyNCAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RHJhZ29uIEtpbmcgVHJpbG9neTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4yIDo8L3NwYW4+ICAgICAgICAgICAgICAgIFRoZSBXYXJsb3JkcyBvZiBOaW4gKDEgb2YgMikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IFN0ZXBoZW4gUi4gTGF3aGVhZDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEF1ZyAxLCAyMDExICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDUgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SXQgaGFzIGJlZW4gdGVuIHllYXJzIHNpbmNlIFF1ZW50aW4gaGVscGVkIEVza2V2YXIsIHRoZSBEcmFnb24gS2luZywgYmF0dGxlIHRoZSBtb25zdHJvdXMgc29yY2VyZXIgTmltcm9vZC4gU2luY2UgdGhhdCB0aW1lLCB0aGVyZSBoYXMgYmVlbiBwZWFjZSBpbiB0aGUgbGFuZCBvZiBNZW5zYW5kb3IuIEJ1dCBldmVyeXRoaW5nIGlzIGFib3V0IHRvIGNoYW5nZS48YnIvPjxici8+QW4gdXJnZW50IG1lc3NhZ2Ugc3VtbW9ucyBRdWVudGluIHRvIENhc3RsZSBBc2tlbG9uLiBUaGUga2luZywgd2hvIGlzIGR5aW5nLCB3aXNoZXMgdG8gbmFtZSB0aGUgYnJhdmUgeW91bmcgbWFuIGhpcyBzdWNjZXNzb3IuIEJ1dCBmaXJzdCwgaGUgc2VuZHMgaGltIG9uIGFuIHVuZmF0aG9tYWJsZSBtaXNzaW9uLjxici8+PGJyLz5XaGF0IFF1ZW50aW4gYW5kIGhpcyBmcmllbmQgVG9saSwgdGhlIEpoZXIgaG9yc2VtYW4sIGRpc2NvdmVyIGlzIG5vdCBmb3IgdGhlIGNvd2FyZGx5LiBUaGUgYnJpZ2h0ZW5pbmcgV29sZiBTdGFyIGlzIGFuIG9tZW4gb2YgaW1wZW5kaW5nIGV2aWwgdGhhdCBtaWdodCBoZXJhbGQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZW5kIG9mIG1hbmtpbmQgb24gZWFydGguIEl0IHNpZ25pZmllcyBOaW4sIGEgZmVhcnNvbWUgZ2lhbnQgb2YgYSBtYW4gd2hvIGhvcGVzIHRvIGFkZCBNZW5zYW5kb3IgdG8gaGlzIGdyb3dpbmcgZW1waXJlLiBBbG9uZyB3aXRoIGhpcyBtZXJjaWxlc3Mgd2FybG9yZHMsIHRoZXkgYXJlIHRoZSBmdWxmaWxsbWVudCBvZiBhIG5pZ2h0bWFyaXNoIHByb3BoZWN5LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODMgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDIwMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMjAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODktMTAwNzg5MjYzMyI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iREtUMDIwMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJSSEpoWjI5dUlFdHBibWNnVkhKcGJHOW5lU0F5T2lCVWFHVWdWMkZ5Ykc5eVpITWdiMllnVG1sdUlESWdiMllnTWc9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9kL2svZGt0MDIwMi5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkRyYWdvbiYjeDIwO0tpbmcmI3gyMDtUcmlsb2d5JiN4MjA7MiYjeDNBOyYjeDIwO1RoZSYjeDIwO1dhcmxvcmRzJiN4MjA7b2YmI3gyMDtOaW4mI3gyMDsyJiN4MjA7b2YmI3gyMDsyIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4OS0xMDA3ODkyNjMzIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4OS0xMDA3ODkyNjMzIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODktMTAwNzg5MjYzMyIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODktMTAwNzg5MjYzMyAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RHJhZ29uIEtpbmcgVHJpbG9neTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4yIDo8L3NwYW4+ICAgICAgICAgICAgICAgIFRoZSBXYXJsb3JkcyBvZiBOaW4gKDIgb2YgMikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IFN0ZXBoZW4gUi4gTGF3aGVhZDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IFNlcCAxLCAyMDExICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SXQgaGFzIGJlZW4gdGVuIHllYXJzIHNpbmNlIFF1ZW50aW4gaGVscGVkIEVza2V2YXIsIHRoZSBEcmFnb24gS2luZywgYmF0dGxlIHRoZSBtb25zdHJvdXMgc29yY2VyZXIgTmltcm9vZC4gU2luY2UgdGhhdCB0aW1lLCB0aGVyZSBoYXMgYmVlbiBwZWFjZSBpbiB0aGUgbGFuZCBvZiBNZW5zYW5kb3IuIEJ1dCBldmVyeXRoaW5nIGlzIGFib3V0IHRvIGNoYW5nZS48YnIvPjxici8+QW4gdXJnZW50IG1lc3NhZ2Ugc3VtbW9ucyBRdWVudGluIHRvIENhc3RsZSBBc2tlbG9uLiBUaGUga2luZywgd2hvIGlzIGR5aW5nLCB3aXNoZXMgdG8gbmFtZSB0aGUgYnJhdmUgeW91bmcgbWFuIGhpcyBzdWNjZXNzb3IuIEJ1dCBmaXJzdCwgaGUgc2VuZHMgaGltIG9uIGFuIHVuZmF0aG9tYWJsZSBtaXNzaW9uLjxici8+PGJyLz5XaGF0IFF1ZW50aW4gYW5kIGhpcyBmcmllbmQgVG9saSwgdGhlIEpoZXIgaG9yc2VtYW4sIGRpc2NvdmVyIGlzIG5vdCBmb3IgdGhlIGNvd2FyZGx5LiBUaGUgYnJpZ2h0ZW5pbmcgV29sZiBTdGFyIGlzIGFuIG9tZW4gb2YgaW1wZW5kaW5nIGV2aWwgdGhhdCBtaWdodCBoZXJhbGQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZW5kIG9mIG1hbmtpbmQgb24gZWFydGguIEl0IHNpZ25pZmllcyBOaW4sIGEgZmVhcnNvbWUgZ2lhbnQgb2YgYSBtYW4gd2hvIGhvcGVzIHRvIGFkZCBNZW5zYW5kb3IgdG8gaGlzIGdyb3dpbmcgZW1waXJlLiBBbG9uZyB3aXRoIGhpcyBtZXJjaWxlc3Mgd2FybG9yZHMsIHRoZXkgYXJlIHRoZSBmdWxmaWxsbWVudCBvZiBhIG5pZ2h0bWFyaXNoIHByb3BoZWN5LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODMgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDIwMi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMjAyLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTAtMjEyOTU2MDEzNCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iREtUMDMwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJSSEpoWjI5dUlFdHBibWNnVkhKcGJHOW5lU0F6T2lCVWFHVWdVM2R2Y21RZ1lXNWtJSFJvWlNCR2JHRnRaU0F4SUc5bUlEST0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvZC9rL2RrdDAzMDEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJEcmFnb24mI3gyMDtLaW5nJiN4MjA7VHJpbG9neSYjeDIwOzMmI3gzQTsmI3gyMDtUaGUmI3gyMDtTd29yZCYjeDIwO2FuZCYjeDIwO3RoZSYjeDIwO0ZsYW1lJiN4MjA7MSYjeDIwO29mJiN4MjA7MiIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTAtMjEyOTU2MDEzNCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTAtMjEyOTU2MDEzNCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDkwLTIxMjk1NjAxMzQiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDkwLTIxMjk1NjAxMzQgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkRyYWdvbiBLaW5nIFRyaWxvZ3k8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MyA6PC9zcGFuPiAgICAgICAgICAgICAgICBUaGUgU3dvcmQgYW5kIHRoZSBGbGFtZSAoMSBvZiAyKSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgU3RlcGhlbiBSLiBMYXdoZWFkPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gT2N0IDEsIDIwMTEgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5UaGUgRHJhZ29uIEtpbmcgd2hvIHJ1bGVzIHRoZSBsYW5kIG9mIE1lbnNhbmRvciBpcyBub25lIG90aGVyIHRoYW4gUXVlbnRpbiwgd2hvc2UgY291cmFnZSBhbmQgaGVyb2lzbSBoYXZlIHNsb3dseSB0cmFuc2Zvcm1lZCBoaW0gZnJvbSBhbiBvcnBoYW5lZCBzZXJ2YW50IGludG8gYSB3YXIgaGVybywgcmVzcGVjdGVkIGxlYWRlciBhbmQgYSBmaWVyY2UgbWFuIG9mIGZhaXRoLiA8YnIvPjxici8+QnV0IGV2ZW4gdGhlIHBvd2VyZnVsIGNhbiBmYWxsIHByZXkgdG8gd2Vha25lc3MuIFRoZSB3b3JsZCBpcyB0dXJuZWQgdXBzaWRlLWRvd24gd2hlbiB0aGUgZGFyayBzb3JjZXJlciBOaW1yb29kLS1sb25nIHRob3VnaHQgZGVhZCBhZnRlciBhIGJhdHRsZSB3aXRoIHRoZSBwcmV2aW91cyBEcmFnb24gS2luZy0tcmV0dXJucyB3aXRoIGEgZmVhcnNvbWUgcGxhbi4gU2hhdHRlcmVkIGJ5IHRoZSBkZWF0aCBvZiBhIGRlYXIgYW5kIHRydXN0ZWQgZnJpZW5kLCB0aGUgYWJkdWN0aW9uIG9mIGhpcyBiZWxvdmVkIHNvbiBhbmQgdGhlIGxvc3Mgb2YgaGlzIGVuY2hhbnRlZCBzd29yZCwgUXVlbnRpbiBmaW5kcyBoaXMgZmFpdGggdGVzdGVkIGxpa2UgbmV2ZXIgYmVmb3JlLiA8YnIvPjxici8+SW4gVGhlIFN3b3JkIGFuZCB0aGUgRmxhbWUsIHRoZSBmaW5hbCB2b2x1bWUgb2YgU3RlcGhlbiBSLiBMYXdoZWFkJ3MgY2FwdGl2YXRpbmcgRHJhZ29uIEtpbmcgVHJpbG9neSwgdGhlIGZhdGUgb2YgdGhlIGVudGlyZSB3b3JsZCBkZXBlbmRzIG9uIHRoZSBvdXRjb21lIG9mIHRoaXMgY2xpbWFjdGljIGJhdHRsZSBiZXR3ZWVuIGdvb2QgYW5kIGV2aWwuICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICAmY29weTsgMTk4NCBTdGVwaGVuIExhd2hlYWQuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIFRob21hcyBOZWxzb24sIGEgZGl2aXNpb24gb2YgSGFycGVyQ29sbGlucyBDaHJpc3RpYW4gUHVibGlzaGluZywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoUCkgMjAxMSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMzAxLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0RLVDAzMDEubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTEtMTc2NDA1NzUwOSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iREtUMDMwMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJSSEpoWjI5dUlFdHBibWNnVkhKcGJHOW5lU0F6T2lCVWFHVWdVM2R2Y21RZ1lXNWtJSFJvWlNCR2JHRnRaU0F5SUc5bUlEST0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvZC9rL2RrdDAzMDIuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJEcmFnb24mI3gyMDtLaW5nJiN4MjA7VHJpbG9neSYjeDIwOzMmI3gzQTsmI3gyMDtUaGUmI3gyMDtTd29yZCYjeDIwO2FuZCYjeDIwO3RoZSYjeDIwO0ZsYW1lJiN4MjA7MiYjeDIwO29mJiN4MjA7MiIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTEtMTc2NDA1NzUwOSB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTEtMTc2NDA1NzUwOSBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDkxLTE3NjQwNTc1MDkiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDkxLTE3NjQwNTc1MDkgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkRyYWdvbiBLaW5nIFRyaWxvZ3k8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MyA6PC9zcGFuPiAgICAgICAgICAgICAgICBUaGUgU3dvcmQgYW5kIHRoZSBGbGFtZSAoMiBvZiAyKSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgU3RlcGhlbiBSLiBMYXdoZWFkPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gTm92IDEsIDIwMTEgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNCBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5UaGUgRHJhZ29uIEtpbmcgd2hvIHJ1bGVzIHRoZSBsYW5kIG9mIE1lbnNhbmRvciBpcyBub25lIG90aGVyIHRoYW4gUXVlbnRpbiwgd2hvc2UgY291cmFnZSBhbmQgaGVyb2lzbSBoYXZlIHNsb3dseSB0cmFuc2Zvcm1lZCBoaW0gZnJvbSBhbiBvcnBoYW5lZCBzZXJ2YW50IGludG8gYSB3YXIgaGVybywgcmVzcGVjdGVkIGxlYWRlciBhbmQgYSBmaWVyY2UgbWFuIG9mIGZhaXRoLiA8YnIvPjxici8+QnV0IGV2ZW4gdGhlIHBvd2VyZnVsIGNhbiBmYWxsIHByZXkgdG8gd2Vha25lc3MuIFRoZSB3b3JsZCBpcyB0dXJuZWQgdXBzaWRlLWRvd24gd2hlbiB0aGUgZGFyayBzb3JjZXJlciBOaW1yb29kLS1sb25nIHRob3VnaHQgZGVhZCBhZnRlciBhIGJhdHRsZSB3aXRoIHRoZSBwcmV2aW91cyBEcmFnb24gS2luZy0tcmV0dXJucyB3aXRoIGEgZmVhcnNvbWUgcGxhbi4gU2hhdHRlcmVkIGJ5IHRoZSBkZWF0aCBvZiBhIGRlYXIgYW5kIHRydXN0ZWQgZnJpZW5kLCB0aGUgYWJkdWN0aW9uIG9mIGhpcyBiZWxvdmVkIHNvbiBhbmQgdGhlIGxvc3Mgb2YgaGlzIGVuY2hhbnRlZCBzd29yZCwgUXVlbnRpbiBmaW5kcyBoaXMgZmFpdGggdGVzdGVkIGxpa2UgbmV2ZXIgYmVmb3JlLiA8YnIvPjxici8+SW4gVGhlIFN3b3JkIGFuZCB0aGUgRmxhbWUsIHRoZSBmaW5hbCB2b2x1bWUgb2YgU3RlcGhlbiBSLiBMYXdoZWFkJ3MgY2FwdGl2YXRpbmcgRHJhZ29uIEtpbmcgVHJpbG9neSwgdGhlIGZhdGUgb2YgdGhlIGVudGlyZSB3b3JsZCBkZXBlbmRzIG9uIHRoZSBvdXRjb21lIG9mIHRoaXMgY2xpbWFjdGljIGJhdHRsZSBiZXR3ZWVuIGdvb2QgYW5kIGV2aWwuICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICAmY29weTsgMTk4NCBTdGVwaGVuIExhd2hlYWQuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIFRob21hcyBOZWxzb24sIGEgZGl2aXNpb24gb2YgSGFycGVyQ29sbGlucyBDaHJpc3RpYW4gUHVibGlzaGluZywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoUCkgMjAxMSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMzAyLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0RLVDAzMDIubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=