Dalinar Kholin’s Alethi armies won a fleeting victory at a terrible cost: The enemy Parshendi summoned the violent Everstorm, which now sweeps the world with destruction, and in its passing awakens the once peaceful and subservient parshmen to the horror of their millennia-long enslavement by humans. While on a desperate flight to warn his family of the threat, Kaladin Stormblessed must come to grips with the fact that the newly kindled anger of the parshmen may be wholly justified.
Nestled in the mountains high above the storms, in the tower city of Urithiru, Shallan Davar investigates the wonders of the ancient stronghold of the Knights Radiant and unearths dark secrets lurking in its depths. And Dalinar realizes that his holy mission to unite his homeland of Alethkar was too narrow in scope. Unless all the nations of Roshar can put aside Dalinar’s blood-soaked past and stand together—and unless Dalinar himself can confront that past—even the restoration of the Knights Radiant will not prevent the end of civilization.
Includes The Stormlight Archive 3: Oathbringer (6 parts) in downloadable formats.
Audio Sample Player
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
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTMzODItMTEyNjMyMTA0OCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iU1RPUk1MSUdIVDAzMDEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iVkdobElGTjBiM0p0YkdsbmFIUWdRWEpqYUdsMlpTQXpPaUJQWVhSb1luSnBibWRsY2lBeElHOW1JRFk9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4ODEzNzg4LmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iVGhlJiN4MjA7U3Rvcm1saWdodCYjeDIwO0FyY2hpdmUmI3gyMDszJiN4M0E7JiN4MjA7T2F0aGJyaW5nZXImI3gyMDsxJiN4MjA7b2YmI3gyMDs2Ii8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzM4Mi0xMTI2MzIxMDQ4IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzM4Mi0xMTI2MzIxMDQ4IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTMzODItMTEyNjMyMTA0OCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTMzODItMTEyNjMyMTA0OCAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+U3Rvcm1saWdodCBBcmNoaXZlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgT2F0aGJyaW5nZXIgKDEgb2YgNikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IEJyYW5kb24gU2FuZGVyc29uPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gQXByIDIzLCAyMDE4ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDcgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SW4gT2F0aGJyaW5nZXIsIHRoZSB0aGlyZCB2b2x1bWUgb2YgdGhlIE5ldyBZb3JrIFRpbWVzIGJlc3RzZWxsaW5nIFN0b3JtbGlnaHQgQXJjaGl2ZSwgaHVtYW5pdHkgZmFjZXMgYSBuZXcgRGVzb2xhdGlvbiB3aXRoIHRoZSByZXR1cm4gb2YgdGhlIFZvaWRicmluZ2VycywgYSBmb2Ugd2l0aCBudW1iZXJzIGFzIGdyZWF0IGFzIHRoZWlyIHRoaXJzdCBmb3IgdmVuZ2VhbmNlLjxiciAvPg0KPGJyIC8+DQpEYWxpbmFyIEtob2xpbuKAmXMgQWxldGhpIGFybWllcyB3b24gYSBmbGVldGluZyB2aWN0b3J5IGF0IGEgdGVycmlibGUgY29zdDogVGhlIGVuZW15IFBhcnNoZW5kaSBzdW1tb25lZCB0aGUgdmlvbGVudCBFdmVyc3Rvcm0sIHdoaWNoIG5vdyBzd2VlcHMgdGhlIHdvcmxkIHdpdGggZGVzdHJ1Y3Rpb24sIGFuZCBpbiBpdHMgcGFzc2luZyBhd2FrZW5zIHRoZSBvbmNlIHBlYWNlZnVsIGFuZCBzdWJzZXJ2aWVudCBwYXJzaG1lbiB0byB0aGUgaG9ycm9yIG9mIHRoZWlyIG1pbGxlbm5pYS1sb25nIGVuc2xhdmVtZW50IGJ5IGh1bWFucy4gV2hpbGUgb24gYSBkZXNwZXJhdGUgZmxpZ2h0IHRvIHdhcm4gaGlzIGZhbWlseSBvZiB0aGUgdGhyZWF0LCBLYWxhZGluIFN0b3JtYmxlc3NlZCBtdXN0IGNvbWUgdG8gZ3JpcHMgd2l0aCB0aGUgZmFjdCB0aGF0IHRoZSBuZXdseSBraW5kbGVkIGFuZ2VyIG9mIHRoZSBwYXJzaG1lbiBtYXkgYmUgd2hvbGx5IGp1c3RpZmllZC48YnIgLz4NCjxiciAvPg0KTmVzdGxlZCBpbiB0aGUgbW91bnRhaW5zIGhpZ2ggYWJvdmUgdGhlIHN0b3JtcywgaW4gdGhlIHRvd2VyIGNpdHkgb2YgVXJpdGhpcnUsIFNoYWxsYW4gRGF2YXIgaW52ZXN0aWdhdGVzIHRoZSB3b25kZXJzIG9mIHRoZSBhbmNpZW50IHN0cm9uZ2hvbGQgb2YgdGhlIEtuaWdodHMgUmFkaWFudCBhbmQgdW5lYXJ0aHMgZGFyayBzZWNyZXRzIGx1cmtpbmcgaW4gaXRzIGRlcHRocy4gQW5kIERhbGluYXIgcmVhbGl6ZXMgdGhhdCBoaXMgaG9seSBtaXNzaW9uIHRvIHVuaXRlIGhpcyBob21lbGFuZCBvZiBBbGV0aGthciB3YXMgdG9vIG5hcnJvdyBpbiBzY29wZS4gVW5sZXNzIGFsbCB0aGUgbmF0aW9ucyBvZiBSb3NoYXIgY2FuIHB1dCBhc2lkZSBEYWxpbmFy4oCZcyBibG9vZC1zb2FrZWQgcGFzdCBhbmQgc3RhbmQgdG9nZXRoZXLigJRhbmQgdW5sZXNzIERhbGluYXIgaGltc2VsZiBjYW4gY29uZnJvbnQgdGhhdCBwYXN04oCUZXZlbiB0aGUgcmVzdG9yYXRpb24gb2YgdGhlIEtuaWdodHMgUmFkaWFudCB3aWxsIG5vdCBwcmV2ZW50IHRoZSBlbmQgb2YgY2l2aWxpemF0aW9uLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgwqkgMjAxNyBieSBCcmFuZG9uIFNhbmRlcnNvbi4gUmVjb3JkZWQgd2l0aCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgQXV0aG9yIGFuZCBEcmFnb25zdGVlbCBFbnRlcmFpbm1lbnQsIExMQyBQcm9kdWN0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLiDihJcgMjAxOCBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL1NUT1JNTElHSFQwMzAxLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL1NUT1JNTElHSFQwMzAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM0NzEtMTY1MDEzMzg4NSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iU1RPUk1MSUdIVDAzMDIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iVkdobElGTjBiM0p0YkdsbmFIUWdRWEpqYUdsMlpTQXpPaUJQWVhSb1luSnBibWRsY2lBeUlHOW1JRFk9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4ODEzODAxLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iVGhlJiN4MjA7U3Rvcm1saWdodCYjeDIwO0FyY2hpdmUmI3gyMDszJiN4M0E7JiN4MjA7T2F0aGJyaW5nZXImI3gyMDsyJiN4MjA7b2YmI3gyMDs2Ii8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzQ3MS0xNjUwMTMzODg1IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzQ3MS0xNjUwMTMzODg1IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM0NzEtMTY1MDEzMzg4NSIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM0NzEtMTY1MDEzMzg4NSAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+U3Rvcm1saWdodCBBcmNoaXZlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgT2F0aGJyaW5nZXIgKDIgb2YgNikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IEJyYW5kb24gU2FuZGVyc29uPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gTWF5IDE2LCAyMDE4ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDcgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SW4gT2F0aGJyaW5nZXIsIHRoZSB0aGlyZCB2b2x1bWUgb2YgdGhlIE5ldyBZb3JrIFRpbWVzIGJlc3RzZWxsaW5nIFN0b3JtbGlnaHQgQXJjaGl2ZSwgaHVtYW5pdHkgZmFjZXMgYSBuZXcgRGVzb2xhdGlvbiB3aXRoIHRoZSByZXR1cm4gb2YgdGhlIFZvaWRicmluZ2VycywgYSBmb2Ugd2l0aCBudW1iZXJzIGFzIGdyZWF0IGFzIHRoZWlyIHRoaXJzdCBmb3IgdmVuZ2VhbmNlLjxiciAvPg0KPGJyIC8+DQpEYWxpbmFyIEtob2xpbuKAmXMgQWxldGhpIGFybWllcyB3b24gYSBmbGVldGluZyB2aWN0b3J5IGF0IGEgdGVycmlibGUgY29zdDogVGhlIGVuZW15IFBhcnNoZW5kaSBzdW1tb25lZCB0aGUgdmlvbGVudCBFdmVyc3Rvcm0sIHdoaWNoIG5vdyBzd2VlcHMgdGhlIHdvcmxkIHdpdGggZGVzdHJ1Y3Rpb24sIGFuZCBpbiBpdHMgcGFzc2luZyBhd2FrZW5zIHRoZSBvbmNlIHBlYWNlZnVsIGFuZCBzdWJzZXJ2aWVudCBwYXJzaG1lbiB0byB0aGUgaG9ycm9yIG9mIHRoZWlyIG1pbGxlbm5pYS1sb25nIGVuc2xhdmVtZW50IGJ5IGh1bWFucy4gV2hpbGUgb24gYSBkZXNwZXJhdGUgZmxpZ2h0IHRvIHdhcm4gaGlzIGZhbWlseSBvZiB0aGUgdGhyZWF0LCBLYWxhZGluIFN0b3JtYmxlc3NlZCBtdXN0IGNvbWUgdG8gZ3JpcHMgd2l0aCB0aGUgZmFjdCB0aGF0IHRoZSBuZXdseSBraW5kbGVkIGFuZ2VyIG9mIHRoZSBwYXJzaG1lbiBtYXkgYmUgd2hvbGx5IGp1c3RpZmllZC48YnIgLz4NCjxiciAvPg0KTmVzdGxlZCBpbiB0aGUgbW91bnRhaW5zIGhpZ2ggYWJvdmUgdGhlIHN0b3JtcywgaW4gdGhlIHRvd2VyIGNpdHkgb2YgVXJpdGhpcnUsIFNoYWxsYW4gRGF2YXIgaW52ZXN0aWdhdGVzIHRoZSB3b25kZXJzIG9mIHRoZSBhbmNpZW50IHN0cm9uZ2hvbGQgb2YgdGhlIEtuaWdodHMgUmFkaWFudCBhbmQgdW5lYXJ0aHMgZGFyayBzZWNyZXRzIGx1cmtpbmcgaW4gaXRzIGRlcHRocy4gQW5kIERhbGluYXIgcmVhbGl6ZXMgdGhhdCBoaXMgaG9seSBtaXNzaW9uIHRvIHVuaXRlIGhpcyBob21lbGFuZCBvZiBBbGV0aGthciB3YXMgdG9vIG5hcnJvdyBpbiBzY29wZS4gVW5sZXNzIGFsbCB0aGUgbmF0aW9ucyBvZiBSb3NoYXIgY2FuIHB1dCBhc2lkZSBEYWxpbmFy4oCZcyBibG9vZC1zb2FrZWQgcGFzdCBhbmQgc3RhbmQgdG9nZXRoZXLigJRhbmQgdW5sZXNzIERhbGluYXIgaGltc2VsZiBjYW4gY29uZnJvbnQgdGhhdCBwYXN04oCUZXZlbiB0aGUgcmVzdG9yYXRpb24gb2YgdGhlIEtuaWdodHMgUmFkaWFudCB3aWxsIG5vdCBwcmV2ZW50IHRoZSBlbmQgb2YgY2l2aWxpemF0aW9uLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgwqkgMjAxNyBieSBCcmFuZG9uIFNhbmRlcnNvbi4gUmVjb3JkZWQgd2l0aCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgQXV0aG9yIGFuZCBEcmFnb25zdGVlbCBFbnRlcmFpbm1lbnQsIExMQyBQcm9kdWN0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLiDihJcgMjAxOCBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL1NUT1JNTElHSFQwMzAyLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL1NUT1JNTElHSFQwMzAyLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM0ODYtNTc1MzQ1OSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iU1RPUk1MSUdIVDAzMDMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iVkdobElGTjBiM0p0YkdsbmFIUWdRWEpqYUdsMlpTQXpPaUJQWVhSb1luSnBibWRsY2lBeklHOW1JRFk9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4ODEzODI1LmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iVGhlJiN4MjA7U3Rvcm1saWdodCYjeDIwO0FyY2hpdmUmI3gyMDszJiN4M0E7JiN4MjA7T2F0aGJyaW5nZXImI3gyMDszJiN4MjA7b2YmI3gyMDs2Ii8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzQ4Ni01NzUzNDU5IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzQ4Ni01NzUzNDU5IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM0ODYtNTc1MzQ1OSIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM0ODYtNTc1MzQ1OSAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+U3Rvcm1saWdodCBBcmNoaXZlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgT2F0aGJyaW5nZXIgKDMgb2YgNikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IEJyYW5kb24gU2FuZGVyc29uPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gSnVuIDE4LCAyMDE4ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDcgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SW4gT2F0aGJyaW5nZXIsIHRoZSB0aGlyZCB2b2x1bWUgb2YgdGhlIE5ldyBZb3JrIFRpbWVzIGJlc3RzZWxsaW5nIFN0b3JtbGlnaHQgQXJjaGl2ZSwgaHVtYW5pdHkgZmFjZXMgYSBuZXcgRGVzb2xhdGlvbiB3aXRoIHRoZSByZXR1cm4gb2YgdGhlIFZvaWRicmluZ2VycywgYSBmb2Ugd2l0aCBudW1iZXJzIGFzIGdyZWF0IGFzIHRoZWlyIHRoaXJzdCBmb3IgdmVuZ2VhbmNlLjxiciAvPg0KPGJyIC8+DQpEYWxpbmFyIEtob2xpbuKAmXMgQWxldGhpIGFybWllcyB3b24gYSBmbGVldGluZyB2aWN0b3J5IGF0IGEgdGVycmlibGUgY29zdDogVGhlIGVuZW15IFBhcnNoZW5kaSBzdW1tb25lZCB0aGUgdmlvbGVudCBFdmVyc3Rvcm0sIHdoaWNoIG5vdyBzd2VlcHMgdGhlIHdvcmxkIHdpdGggZGVzdHJ1Y3Rpb24sIGFuZCBpbiBpdHMgcGFzc2luZyBhd2FrZW5zIHRoZSBvbmNlIHBlYWNlZnVsIGFuZCBzdWJzZXJ2aWVudCBwYXJzaG1lbiB0byB0aGUgaG9ycm9yIG9mIHRoZWlyIG1pbGxlbm5pYS1sb25nIGVuc2xhdmVtZW50IGJ5IGh1bWFucy4gV2hpbGUgb24gYSBkZXNwZXJhdGUgZmxpZ2h0IHRvIHdhcm4gaGlzIGZhbWlseSBvZiB0aGUgdGhyZWF0LCBLYWxhZGluIFN0b3JtYmxlc3NlZCBtdXN0IGNvbWUgdG8gZ3JpcHMgd2l0aCB0aGUgZmFjdCB0aGF0IHRoZSBuZXdseSBraW5kbGVkIGFuZ2VyIG9mIHRoZSBwYXJzaG1lbiBtYXkgYmUgd2hvbGx5IGp1c3RpZmllZC48YnIgLz4NCjxiciAvPg0KTmVzdGxlZCBpbiB0aGUgbW91bnRhaW5zIGhpZ2ggYWJvdmUgdGhlIHN0b3JtcywgaW4gdGhlIHRvd2VyIGNpdHkgb2YgVXJpdGhpcnUsIFNoYWxsYW4gRGF2YXIgaW52ZXN0aWdhdGVzIHRoZSB3b25kZXJzIG9mIHRoZSBhbmNpZW50IHN0cm9uZ2hvbGQgb2YgdGhlIEtuaWdodHMgUmFkaWFudCBhbmQgdW5lYXJ0aHMgZGFyayBzZWNyZXRzIGx1cmtpbmcgaW4gaXRzIGRlcHRocy4gQW5kIERhbGluYXIgcmVhbGl6ZXMgdGhhdCBoaXMgaG9seSBtaXNzaW9uIHRvIHVuaXRlIGhpcyBob21lbGFuZCBvZiBBbGV0aGthciB3YXMgdG9vIG5hcnJvdyBpbiBzY29wZS4gVW5sZXNzIGFsbCB0aGUgbmF0aW9ucyBvZiBSb3NoYXIgY2FuIHB1dCBhc2lkZSBEYWxpbmFy4oCZcyBibG9vZC1zb2FrZWQgcGFzdCBhbmQgc3RhbmQgdG9nZXRoZXLigJRhbmQgdW5sZXNzIERhbGluYXIgaGltc2VsZiBjYW4gY29uZnJvbnQgdGhhdCBwYXN04oCUZXZlbiB0aGUgcmVzdG9yYXRpb24gb2YgdGhlIEtuaWdodHMgUmFkaWFudCB3aWxsIG5vdCBwcmV2ZW50IHRoZSBlbmQgb2YgY2l2aWxpemF0aW9uLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgwqkgMjAxNyBieSBCcmFuZG9uIFNhbmRlcnNvbi4gUmVjb3JkZWQgd2l0aCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgQXV0aG9yIGFuZCBEcmFnb25zdGVlbCBFbnRlcmFpbm1lbnQsIExMQyBQcm9kdWN0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLiDihJcgMjAxOCBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL1NUT1JNTElHSFQwMzAzLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL1NUT1JNTElHSFQwMzAzLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1MDktMjQ1MzI2MzEyIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJTVE9STUxJR0hUMDMwNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJWR2hsSUZOMGIzSnRiR2xuYUhRZ1FYSmphR2wyWlNBek9pQlBZWFJvWW5KcGJtZGxjaUEwSUc5bUlEWT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvOS83Lzk3ODE2NDg4MTM4NDkuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJUaGUmI3gyMDtTdG9ybWxpZ2h0JiN4MjA7QXJjaGl2ZSYjeDIwOzMmI3gzQTsmI3gyMDtPYXRoYnJpbmdlciYjeDIwOzQmI3gyMDtvZiYjeDIwOzYiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0zNTA5LTI0NTMyNjMxMiB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1MDktMjQ1MzI2MzEyIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1MDktMjQ1MzI2MzEyIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzUwOS0yNDUzMjYzMTIgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPlN0b3JtbGlnaHQgQXJjaGl2ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4zIDo8L3NwYW4+ICAgICAgICAgICAgICAgIE9hdGhicmluZ2VyICg0IG9mIDYpICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBCcmFuZG9uIFNhbmRlcnNvbjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEp1bCAyNSwgMjAxOCAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA2IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkluIE9hdGhicmluZ2VyLCB0aGUgdGhpcmQgdm9sdW1lIG9mIHRoZSBOZXcgWW9yayBUaW1lcyBiZXN0c2VsbGluZyBTdG9ybWxpZ2h0IEFyY2hpdmUsIGh1bWFuaXR5IGZhY2VzIGEgbmV3IERlc29sYXRpb24gd2l0aCB0aGUgcmV0dXJuIG9mIHRoZSBWb2lkYnJpbmdlcnMsIGEgZm9lIHdpdGggbnVtYmVycyBhcyBncmVhdCBhcyB0aGVpciB0aGlyc3QgZm9yIHZlbmdlYW5jZS48YnIgLz4NCjxiciAvPg0KRGFsaW5hciBLaG9saW7igJlzIEFsZXRoaSBhcm1pZXMgd29uIGEgZmxlZXRpbmcgdmljdG9yeSBhdCBhIHRlcnJpYmxlIGNvc3Q6IFRoZSBlbmVteSBQYXJzaGVuZGkgc3VtbW9uZWQgdGhlIHZpb2xlbnQgRXZlcnN0b3JtLCB3aGljaCBub3cgc3dlZXBzIHRoZSB3b3JsZCB3aXRoIGRlc3RydWN0aW9uLCBhbmQgaW4gaXRzIHBhc3NpbmcgYXdha2VucyB0aGUgb25jZSBwZWFjZWZ1bCBhbmQgc3Vic2VydmllbnQgcGFyc2htZW4gdG8gdGhlIGhvcnJvciBvZiB0aGVpciBtaWxsZW5uaWEtbG9uZyBlbnNsYXZlbWVudCBieSBodW1hbnMuIFdoaWxlIG9uIGEgZGVzcGVyYXRlIGZsaWdodCB0byB3YXJuIGhpcyBmYW1pbHkgb2YgdGhlIHRocmVhdCwgS2FsYWRpbiBTdG9ybWJsZXNzZWQgbXVzdCBjb21lIHRvIGdyaXBzIHdpdGggdGhlIGZhY3QgdGhhdCB0aGUgbmV3bHkga2luZGxlZCBhbmdlciBvZiB0aGUgcGFyc2htZW4gbWF5IGJlIHdob2xseSBqdXN0aWZpZWQuPGJyIC8+DQo8YnIgLz4NCk5lc3RsZWQgaW4gdGhlIG1vdW50YWlucyBoaWdoIGFib3ZlIHRoZSBzdG9ybXMsIGluIHRoZSB0b3dlciBjaXR5IG9mIFVyaXRoaXJ1LCBTaGFsbGFuIERhdmFyIGludmVzdGlnYXRlcyB0aGUgd29uZGVycyBvZiB0aGUgYW5jaWVudCBzdHJvbmdob2xkIG9mIHRoZSBLbmlnaHRzIFJhZGlhbnQgYW5kIHVuZWFydGhzIGRhcmsgc2VjcmV0cyBsdXJraW5nIGluIGl0cyBkZXB0aHMuIEFuZCBEYWxpbmFyIHJlYWxpemVzIHRoYXQgaGlzIGhvbHkgbWlzc2lvbiB0byB1bml0ZSBoaXMgaG9tZWxhbmQgb2YgQWxldGhrYXIgd2FzIHRvbyBuYXJyb3cgaW4gc2NvcGUuIFVubGVzcyBhbGwgdGhlIG5hdGlvbnMgb2YgUm9zaGFyIGNhbiBwdXQgYXNpZGUgRGFsaW5hcuKAmXMgYmxvb2Qtc29ha2VkIHBhc3QgYW5kIHN0YW5kIHRvZ2V0aGVy4oCUYW5kIHVubGVzcyBEYWxpbmFyIGhpbXNlbGYgY2FuIGNvbmZyb250IHRoYXQgcGFzdOKAlGV2ZW4gdGhlIHJlc3RvcmF0aW9uIG9mIHRoZSBLbmlnaHRzIFJhZGlhbnQgd2lsbCBub3QgcHJldmVudCB0aGUgZW5kIG9mIGNpdmlsaXphdGlvbi4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIMKpIDIwMTcgYnkgQnJhbmRvbiBTYW5kZXJzb24uIFJlY29yZGVkIHdpdGggdGhlIHBlcm1pc3Npb24gb2YgdGhlIEF1dGhvciBhbmQgRHJhZ29uc3RlZWwgRW50ZXJhaW5tZW50LCBMTEMgUHJvZHVjdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g4oSXIDIwMTggVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9TVE9STUxJR0hUMDMwNC5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9TVE9STUxJR0hUMDMwNC5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1MzUtMTQ4MTg4MzA0MiI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iU1RPUk1MSUdIVDAzMDUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iVkdobElGTjBiM0p0YkdsbmFIUWdRWEpqYUdsMlpTQXpPaUJQWVhSb1luSnBibWRsY2lBMUlHOW1JRFk9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4ODEzODYzLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iVGhlJiN4MjA7U3Rvcm1saWdodCYjeDIwO0FyY2hpdmUmI3gyMDszJiN4M0E7JiN4MjA7T2F0aGJyaW5nZXImI3gyMDs1JiN4MjA7b2YmI3gyMDs2Ii8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzUzNS0xNDgxODgzMDQyIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzUzNS0xNDgxODgzMDQyIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1MzUtMTQ4MTg4MzA0MiIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1MzUtMTQ4MTg4MzA0MiAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+U3Rvcm1saWdodCBBcmNoaXZlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgT2F0aGJyaW5nZXIgKDUgb2YgNikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IEJyYW5kb24gU2FuZGVyc29uPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gQXVnIDEzLCAyMDE4ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDcgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SW4gT2F0aGJyaW5nZXIsIHRoZSB0aGlyZCB2b2x1bWUgb2YgdGhlIE5ldyBZb3JrIFRpbWVzIGJlc3RzZWxsaW5nIFN0b3JtbGlnaHQgQXJjaGl2ZSwgaHVtYW5pdHkgZmFjZXMgYSBuZXcgRGVzb2xhdGlvbiB3aXRoIHRoZSByZXR1cm4gb2YgdGhlIFZvaWRicmluZ2VycywgYSBmb2Ugd2l0aCBudW1iZXJzIGFzIGdyZWF0IGFzIHRoZWlyIHRoaXJzdCBmb3IgdmVuZ2VhbmNlLjxiciAvPg0KPGJyIC8+DQpEYWxpbmFyIEtob2xpbuKAmXMgQWxldGhpIGFybWllcyB3b24gYSBmbGVldGluZyB2aWN0b3J5IGF0IGEgdGVycmlibGUgY29zdDogVGhlIGVuZW15IFBhcnNoZW5kaSBzdW1tb25lZCB0aGUgdmlvbGVudCBFdmVyc3Rvcm0sIHdoaWNoIG5vdyBzd2VlcHMgdGhlIHdvcmxkIHdpdGggZGVzdHJ1Y3Rpb24sIGFuZCBpbiBpdHMgcGFzc2luZyBhd2FrZW5zIHRoZSBvbmNlIHBlYWNlZnVsIGFuZCBzdWJzZXJ2aWVudCBwYXJzaG1lbiB0byB0aGUgaG9ycm9yIG9mIHRoZWlyIG1pbGxlbm5pYS1sb25nIGVuc2xhdmVtZW50IGJ5IGh1bWFucy4gV2hpbGUgb24gYSBkZXNwZXJhdGUgZmxpZ2h0IHRvIHdhcm4gaGlzIGZhbWlseSBvZiB0aGUgdGhyZWF0LCBLYWxhZGluIFN0b3JtYmxlc3NlZCBtdXN0IGNvbWUgdG8gZ3JpcHMgd2l0aCB0aGUgZmFjdCB0aGF0IHRoZSBuZXdseSBraW5kbGVkIGFuZ2VyIG9mIHRoZSBwYXJzaG1lbiBtYXkgYmUgd2hvbGx5IGp1c3RpZmllZC48YnIgLz4NCjxiciAvPg0KTmVzdGxlZCBpbiB0aGUgbW91bnRhaW5zIGhpZ2ggYWJvdmUgdGhlIHN0b3JtcywgaW4gdGhlIHRvd2VyIGNpdHkgb2YgVXJpdGhpcnUsIFNoYWxsYW4gRGF2YXIgaW52ZXN0aWdhdGVzIHRoZSB3b25kZXJzIG9mIHRoZSBhbmNpZW50IHN0cm9uZ2hvbGQgb2YgdGhlIEtuaWdodHMgUmFkaWFudCBhbmQgdW5lYXJ0aHMgZGFyayBzZWNyZXRzIGx1cmtpbmcgaW4gaXRzIGRlcHRocy4gQW5kIERhbGluYXIgcmVhbGl6ZXMgdGhhdCBoaXMgaG9seSBtaXNzaW9uIHRvIHVuaXRlIGhpcyBob21lbGFuZCBvZiBBbGV0aGthciB3YXMgdG9vIG5hcnJvdyBpbiBzY29wZS4gVW5sZXNzIGFsbCB0aGUgbmF0aW9ucyBvZiBSb3NoYXIgY2FuIHB1dCBhc2lkZSBEYWxpbmFy4oCZcyBibG9vZC1zb2FrZWQgcGFzdCBhbmQgc3RhbmQgdG9nZXRoZXLigJRhbmQgdW5sZXNzIERhbGluYXIgaGltc2VsZiBjYW4gY29uZnJvbnQgdGhhdCBwYXN04oCUZXZlbiB0aGUgcmVzdG9yYXRpb24gb2YgdGhlIEtuaWdodHMgUmFkaWFudCB3aWxsIG5vdCBwcmV2ZW50IHRoZSBlbmQgb2YgY2l2aWxpemF0aW9uLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgwqkgMjAxNyBieSBCcmFuZG9uIFNhbmRlcnNvbi4gUmVjb3JkZWQgd2l0aCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgQXV0aG9yIGFuZCBEcmFnb25zdGVlbCBFbnRlcmFpbm1lbnQsIExMQyBQcm9kdWN0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLiDihJcgMjAxOCBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL1NUT1JNTElHSFQwMzA1Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL1NUT1JNTElHSFQwMzA1Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1NDgtMzUzMzE2MTkwIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJTVE9STUxJR0hUMDMwNiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJWR2hsSUZOMGIzSnRiR2xuYUhRZ1FYSmphR2wyWlNBek9pQlBZWFJvWW5KcGJtZGxjaUEySUc5bUlEWT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvOS83Lzk3ODE2NDg4MTM4ODcuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJUaGUmI3gyMDtTdG9ybWxpZ2h0JiN4MjA7QXJjaGl2ZSYjeDIwOzMmI3gzQTsmI3gyMDtPYXRoYnJpbmdlciYjeDIwOzYmI3gyMDtvZiYjeDIwOzYiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0zNTQ4LTM1MzMxNjE5MCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1NDgtMzUzMzE2MTkwIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTM1NDgtMzUzMzE2MTkwIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzU0OC0zNTMzMTYxOTAgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPlN0b3JtbGlnaHQgQXJjaGl2ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4zIDo8L3NwYW4+ICAgICAgICAgICAgICAgIE9hdGhicmluZ2VyICg2IG9mIDYpICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBCcmFuZG9uIFNhbmRlcnNvbjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IFNlcCAyNCwgMjAxOCAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA3IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkluIE9hdGhicmluZ2VyLCB0aGUgdGhpcmQgdm9sdW1lIG9mIHRoZSBOZXcgWW9yayBUaW1lcyBiZXN0c2VsbGluZyBTdG9ybWxpZ2h0IEFyY2hpdmUsIGh1bWFuaXR5IGZhY2VzIGEgbmV3IERlc29sYXRpb24gd2l0aCB0aGUgcmV0dXJuIG9mIHRoZSBWb2lkYnJpbmdlcnMsIGEgZm9lIHdpdGggbnVtYmVycyBhcyBncmVhdCBhcyB0aGVpciB0aGlyc3QgZm9yIHZlbmdlYW5jZS48YnIgLz4NCjxiciAvPg0KRGFsaW5hciBLaG9saW7igJlzIEFsZXRoaSBhcm1pZXMgd29uIGEgZmxlZXRpbmcgdmljdG9yeSBhdCBhIHRlcnJpYmxlIGNvc3Q6IFRoZSBlbmVteSBQYXJzaGVuZGkgc3VtbW9uZWQgdGhlIHZpb2xlbnQgRXZlcnN0b3JtLCB3aGljaCBub3cgc3dlZXBzIHRoZSB3b3JsZCB3aXRoIGRlc3RydWN0aW9uLCBhbmQgaW4gaXRzIHBhc3NpbmcgYXdha2VucyB0aGUgb25jZSBwZWFjZWZ1bCBhbmQgc3Vic2VydmllbnQgcGFyc2htZW4gdG8gdGhlIGhvcnJvciBvZiB0aGVpciBtaWxsZW5uaWEtbG9uZyBlbnNsYXZlbWVudCBieSBodW1hbnMuIFdoaWxlIG9uIGEgZGVzcGVyYXRlIGZsaWdodCB0byB3YXJuIGhpcyBmYW1pbHkgb2YgdGhlIHRocmVhdCwgS2FsYWRpbiBTdG9ybWJsZXNzZWQgbXVzdCBjb21lIHRvIGdyaXBzIHdpdGggdGhlIGZhY3QgdGhhdCB0aGUgbmV3bHkga2luZGxlZCBhbmdlciBvZiB0aGUgcGFyc2htZW4gbWF5IGJlIHdob2xseSBqdXN0aWZpZWQuPGJyIC8+DQo8YnIgLz4NCk5lc3RsZWQgaW4gdGhlIG1vdW50YWlucyBoaWdoIGFib3ZlIHRoZSBzdG9ybXMsIGluIHRoZSB0b3dlciBjaXR5IG9mIFVyaXRoaXJ1LCBTaGFsbGFuIERhdmFyIGludmVzdGlnYXRlcyB0aGUgd29uZGVycyBvZiB0aGUgYW5jaWVudCBzdHJvbmdob2xkIG9mIHRoZSBLbmlnaHRzIFJhZGlhbnQgYW5kIHVuZWFydGhzIGRhcmsgc2VjcmV0cyBsdXJraW5nIGluIGl0cyBkZXB0aHMuIEFuZCBEYWxpbmFyIHJlYWxpemVzIHRoYXQgaGlzIGhvbHkgbWlzc2lvbiB0byB1bml0ZSBoaXMgaG9tZWxhbmQgb2YgQWxldGhrYXIgd2FzIHRvbyBuYXJyb3cgaW4gc2NvcGUuIFVubGVzcyBhbGwgdGhlIG5hdGlvbnMgb2YgUm9zaGFyIGNhbiBwdXQgYXNpZGUgRGFsaW5hcuKAmXMgYmxvb2Qtc29ha2VkIHBhc3QgYW5kIHN0YW5kIHRvZ2V0aGVy4oCUYW5kIHVubGVzcyBEYWxpbmFyIGhpbXNlbGYgY2FuIGNvbmZyb250IHRoYXQgcGFzdOKAlGV2ZW4gdGhlIHJlc3RvcmF0aW9uIG9mIHRoZSBLbmlnaHRzIFJhZGlhbnQgd2lsbCBub3QgcHJldmVudCB0aGUgZW5kIG9mIGNpdmlsaXphdGlvbi4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIMKpIDIwMTcgYnkgQnJhbmRvbiBTYW5kZXJzb24uIFJlY29yZGVkIHdpdGggdGhlIHBlcm1pc3Npb24gb2YgdGhlIEF1dGhvciBhbmQgRHJhZ29uc3RlZWwgRW50ZXJhaW5tZW50LCBMTEMgUHJvZHVjdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g4oSXIDIwMTggVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9TVE9STUxJR0hUMDMwNi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9TVE9STUxJR0hUMDMwNi5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==