Simon Brew sat down with the cast and crew of 2024's Bob Marley biopic to chat the making of the film. Ziggy Marley stopped by for a natter too...
This article first appeared in Film Stories issue #48.
“I just love movies,” beams Ziggy Marley, the son of Bob. He’s sat comfortably in his recording studio in Jamaica, and he’s been pondering; I’ve just asked him about the biopic of his father, One Love: Bob Marley, that’s getting a worldwide release in February. Specifically, I would like to know what he wants from the film?
“I want action, adventure, intrigue: I need some action! I need some violence! I don’t want a boring biopic!”
By the sounds of it, he hasn’t got it, either....
It was back in 2018 that the Marley family decided to pursue the idea of a big-screen biopic of Bob (after turning down many, many approaches over the years), with Paramount Pictures – who’d enjoyed success with the Elton John story, Rocketman – backing the movie.
There’d been a 2012 Marley documentary from British filmmaker Kevin Macdonald (who, uncredited, gave access to his research materials for this film). But this was going to be a full, narrative drama. Terence Winter and Frank E Flowers got working on an initial screenplay, but progress wasn’t speedy. It took a few years of work before the project was ready for the next step: the global search for a director, and the small matter of finding someone to play a man known and revered around the planet.
PGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X3RvcCI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL29uZS1sb3ZlLXRoZS1tYWtpbmctb2YtdGhlLWJvYi1tYXJsZXktYmlvcGljLyIgZGF0YS1hMmEtdGl0bGU9Ik9uZSBMb3ZlIHwgVGhlIG1ha2luZyBvZiB0aGUgQm9iIE1hcmxleSBiaW9waWMiPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2ZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2ZhY2Vib29rP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGb25lLWxvdmUtdGhlLW1ha2luZy1vZi10aGUtYm9iLW1hcmxleS1iaW9waWMlMkYmYW1wO2xpbmtuYW1lPU9uZSUyMExvdmUlMjAlN0MlMjBUaGUlMjBtYWtpbmclMjBvZiUyMHRoZSUyMEJvYiUyME1hcmxleSUyMGJpb3BpYyIgdGl0bGU9IkZhY2Vib29rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX3R3aXR0ZXIiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vdHdpdHRlcj9saW5rdXJsPWh0dHBzJTNBJTJGJTJGZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRm9uZS1sb3ZlLXRoZS1tYWtpbmctb2YtdGhlLWJvYi1tYXJsZXktYmlvcGljJTJGJmFtcDtsaW5rbmFtZT1PbmUlMjBMb3ZlJTIwJTdDJTIwVGhlJTIwbWFraW5nJTIwb2YlMjB0aGUlMjBCb2IlMjBNYXJsZXklMjBiaW9waWMiIHRpdGxlPSJUd2l0dGVyIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2VtYWlsIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2VtYWlsP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGb25lLWxvdmUtdGhlLW1ha2luZy1vZi10aGUtYm9iLW1hcmxleS1iaW9waWMlMkYmYW1wO2xpbmtuYW1lPU9uZSUyMExvdmUlMjAlN0MlMjBUaGUlMjBtYWtpbmclMjBvZiUyMHRoZSUyMEJvYiUyME1hcmxleSUyMGJpb3BpYyIgdGl0bGU9IkVtYWlsIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfZGQgYWRkdG9hbnlfc2hhcmVfc2F2ZSBhZGR0b2FueV9zaGFyZSIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL3NoYXJlIj48L2E+PC9kaXY+PC9kaXY+CjxwPjxzdHJvbmc+U2ltb24gQnJldyBzYXQgZG93biB3aXRoIHRoZSBjYXN0IGFuZCBjcmV3IG9mIDIwMjQmIzgyMTc7cyBCb2IgTWFybGV5IGJpb3BpYyB0byBjaGF0IHRoZSBtYWtpbmcgb2YgdGhlIGZpbG0uIFppZ2d5IE1hcmxleSBzdG9wcGVkIGJ5IGZvciBhIG5hdHRlciB0b28mIzgyMzA7PC9zdHJvbmc+PC9wPgoKCgo8aHIgY2xhc3M9IndwLWJsb2NrLXNlcGFyYXRvciBoYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5Ii8+CgoKCjxwPjxlbT5UaGlzIGFydGljbGUgZmlyc3QgYXBwZWFyZWQgaW4gRmlsbSBTdG9yaWVzIGlzc3VlICM0OC48L2VtPjwvcD4KCgoKPHA+4oCcSSBqdXN0IGxvdmUgbW92aWVzLOKAnSBiZWFtcyBaaWdneSBNYXJsZXksIHRoZSBzb24gb2YgQm9iLiBIZeKAmXMgc2F0IGNvbWZvcnRhYmx5IGluIGhpcyByZWNvcmRpbmcgc3R1ZGlvIGluIEphbWFpY2EsIGFuZCBoZeKAmXMgYmVlbiBwb25kZXJpbmc7IEnigJl2ZSBqdXN0IGFza2VkIGhpbSBhYm91dCB0aGUgYmlvcGljIG9mIGhpcyBmYXRoZXIsIE9uZSBMb3ZlOiBCb2IgTWFybGV5LCB0aGF04oCZcyBnZXR0aW5nIGEgd29ybGR3aWRlIHJlbGVhc2UgaW4gRmVicnVhcnkuIFNwZWNpZmljYWxseSwgSSB3b3VsZCBsaWtlIHRvIGtub3cgd2hhdCBoZSB3YW50cyBmcm9tIHRoZSBmaWxtPzwvcD4KCgoKPHA+4oCcSSB3YW50IGFjdGlvbiwgYWR2ZW50dXJlLCBpbnRyaWd1ZTogSSBuZWVkIHNvbWUgYWN0aW9uISBJIG5lZWQgc29tZSB2aW9sZW5jZSEgSSBkb27igJl0IHdhbnQgYSBib3JpbmcgYmlvcGljIeKAnTwvcD4KCgoKPHA+QnkgdGhlIHNvdW5kcyBvZiBpdCwgaGUgaGFzbuKAmXQgZ290IGl0LCBlaXRoZXImIzgyMzA7LjwvcD4KCgoKPHA+SXQgd2FzIGJhY2sgaW4gMjAxOCB0aGF0IHRoZSBNYXJsZXkgZmFtaWx5IGRlY2lkZWQgdG8gcHVyc3VlIHRoZSBpZGVhIG9mIGEgYmlnLXNjcmVlbiBiaW9waWMgb2YgQm9iIChhZnRlciB0dXJuaW5nIGRvd24gbWFueSwgbWFueSBhcHByb2FjaGVzIG92ZXIgdGhlIHllYXJzKSwgd2l0aCBQYXJhbW91bnQgUGljdHVyZXMg4oCTIHdob+KAmWQgZW5qb3llZCBzdWNjZXNzIHdpdGggdGhlIEVsdG9uIEpvaG4gc3RvcnksIDxlbT5Sb2NrZXRtYW48L2VtPiDigJMgYmFja2luZyB0aGUgbW92aWUuPC9wPgoKCgo8cD5UaGVyZeKAmWQgYmVlbiBhIDIwMTIgTWFybGV5IGRvY3VtZW50YXJ5IGZyb20gQnJpdGlzaCBmaWxtbWFrZXIgS2V2aW4gTWFjZG9uYWxkICh3aG8sIHVuY3JlZGl0ZWQsIGdhdmUgYWNjZXNzIHRvIGhpcyByZXNlYXJjaCBtYXRlcmlhbHMgZm9yIHRoaXMgZmlsbSkuIEJ1dCB0aGlzIHdhcyBnb2luZyB0byBiZSBhIGZ1bGwsIG5hcnJhdGl2ZSBkcmFtYS4gVGVyZW5jZSBXaW50ZXIgYW5kIEZyYW5rIEUgRmxvd2VycyBnb3Qgd29ya2luZyBvbiBhbiBpbml0aWFsIHNjcmVlbnBsYXksIGJ1dCBwcm9ncmVzcyB3YXNu4oCZdCBzcGVlZHkuIEl0IHRvb2sgYSBmZXcgeWVhcnMgb2Ygd29yayBiZWZvcmUgdGhlIHByb2plY3Qgd2FzIHJlYWR5IGZvciB0aGUgbmV4dCBzdGVwOiB0aGUgZ2xvYmFsIHNlYXJjaCBmb3IgYSBkaXJlY3RvciwgYW5kIHRoZSBzbWFsbCBtYXR0ZXIgb2YgZmluZGluZyBzb21lb25lIHRvIHBsYXkgYSBtYW4ga25vd24gYW5kIHJldmVyZWQgYXJvdW5kIHRoZSBwbGFuZXQuPC9wPgoKCgo8c3BhbiBpZD0ibW9yZS05Mzc0OSI+PC9zcGFuPgoKCgo8cD5IZWFkaW5nIGludG8gMjAyMCwgYW5kIHRoZSB3b3JsZCDigJMgb2YgY291cnNlIOKAkyB3ZW50IGludG8gbG9ja2Rvd24uIEluIGEgeWVhciB3aGVyZSBpdCB3YXMgaGFyZCB0byBmaW5kIHRvbyBtYW55IHBvc2l0aXZlcywgdGhvc2Ugd2hv4oCZZCBzaG90IHRoZWlyIGZpbG1zIGFuZCB3ZXJlIGluIHRoZSBlZGl0IHN1aXRlIGF0IGxlYXN0IGhhZCBhIGJpdCBtb3JlIHRpbWUgdG8gc2hhcGUgdGhlaXIgbW92aWVzLjwvcD4KCgoKPHA+T25lIHN1Y2ggZmlsbW1ha2VyIHdhcyBSZWluYWxkbyBNYXJjdXMgR3JlZW4sIGEgd3JpdGVyIGFuZCBkaXJlY3RvciwgdGhlbiBpbiBoaXMgbGF0ZSAzMHMsIHdobyBoYWQgdHdvIGZ1bGwtbGVuZ3RoIGZlYXR1cmVzIHRvIGhpcyBuYW1lICgyMDE44oCZcyBNb25zdGVycyBBbmQgTWVuLCBhbmQgMjAyMOKAmXMgSm9lIEJlbGwpLiBIZSB3YXMgZWRpdGluZyB3aGF0IHdhcyBleHBlY3RlZCB0byBiZSB0aGUgYmlnZ2VzdCBmaWxtIG9mIGhpcyBjYXJlZXIgc28gZmFyLCBLaW5nIFJpY2hhcmQsIHN0YXJyaW5nIFdpbGwgU21pdGg6IHRoZSBzdG9yeSBvZiBWZW51cyBhbmQgU2VyZW5hIFdpbGxpYW1zIGFuZCB0aGVpciBmYXRoZXIsIFJpY2hhcmQuIEdyZWVuIGhhZCBjby13cml0dGVuIHRoZSBmZWF0dXJlIHdpdGggWmFjaCBCYXlsaW4sIGFuZCBXYXJuZXIgQnJvcyB3b3VsZCBob2xkIGl0cyByZWxlYXNlIHVudGlsIE5vdmVtYmVyIDIwMjEuPC9wPgoKCgo8cD5JdCB3YXMgYSBkZWxheSwgYW5kIHR1cm4gb2YgZmF0ZSwgdGhhdCB3b3VsZCB3b3JrIGluIEdyZWVu4oCZcyBmYXZvdXIuPC9wPgoKCgo8cD7igJxJIHRoaW5rIHRoZSB0aW1pbmcgd2FzIG9uIG15IHNpZGUs4oCdIGhlIGFkbWl0cywgc2V0dGxlZCBpbiBhIGNvbWZ5IExvbmRvbiBob3RlbCByb29tLiDigJxJIHdhcyBjb21pbmcgb2ZmIGEgcHJldHR5IGhvdCBmaWxt4oCdIOKAkyBvbmUgdGhhdCB3b3VsZCB3aW4sIGFzIHlvdSBtaWdodCByZWNhbGwg4oCTIGFuIE9zY2FyIGZvciBXaWxsIFNtaXRoLCBhbHRob3VnaCBoZSBmaXJzdCBnb3QgdGhlIHNjcmlwdCB3aGlsc3QgcG9zdC1wcm9kdWN0aW9uIHdhcyBiZWluZyBjb21wbGV0ZWQgb24gS2luZyBSaWNoYXJkLjwvcD4KCgoKPHA+4oCcSSBvbmx5IHJlYWxseSBoYWQgYSBmZXcgcXVlc3Rpb25zIHdoZW4gaXQgY2FtZSzigJ0gaGUgcmVjYWxscy4g4oCcT25lLCBkbyB5b3UgaGF2ZSB0aGUgbXVzaWM/IFRoZXJlIHdhcyBubyBtb3ZpZSBmb3IgbWUgd2l0aG91dCB0aGUgYWN0dWFsIG11c2ljIGl0c2VsZi4gQW5kIHRoZW4gZGlkIHdlIGhhdmUgdGhlIGZhbWlseeKAmXMgaW52b2x2ZW1lbnQ/IE9uY2UgdGhvc2UgdHdvIHRoaW5ncyB3ZXJlIHNlY3VyZWQgdGhlbiBldmVuIGFzIGEgYmFzZWxpbmUsIHdoYXRldmVyIHdhcyBpbiB0aGUgc2NyaXB0IGNvdWxkIGJlIGNoYW5nZWQsIGNvdWxkIGJlIGZpeGVkLCBjb3VsZCBiZSBlbGV2YXRlZC7igJ08L3A+CgoKCjxwPkhlIGtuZXcgdGhlIHByb2plY3QgaGUgd2FzIHRha2luZyBvbiB3YXMgZGF1bnRpbmcsIGJ1dCBoZSBwdXQgaW4gYSBjYWxsIHRvIFphY2ggQmF5bGluLCBhbmQgdGhleSBzdGFydGVkIHJlc2hhcGluZyB0aGUgZXhpc3Rpbmcgc2NyZWVucGxheS48L3A+CgoKCjxwPuKAnEt1ZG9zIHRvIHRoZSBzY3JlZW53cml0ZXJzIHRoYXQgaGFkIGJyb3VnaHQgdGhlIHNjcmlwdCB0byBtZSwgYnV0IEkganVzdCB0aGluayB3ZSB3ZXJlIHRyeWluZyB0byBnbyBpbiBhIG1vcmUgaHVtYW4gZGlyZWN0aW9uLiBJIHdhbnRlZCB0byBmaW5kIHdobyBCb2Igd2FzIGFzIGEgcGVyc29uLCB3aGF0IG1hZGUgaGltIHRpY2ssIHdoYXQgd2FzIGhlIGxpa2UgYXMgYSBmYXRoZXIsIHdoYXQgd2FzIGhlIGxpa2UgYXMgYSBodW1hbiBiZWluZywgd2hhdCB3YXMgaXQgbGlrZSBiZWluZyBpbiB0aGUgcm9vbSB3aXRoIGhpbSB3aGVuIGhlIHdhcyBjcmVhdGluZyBzb25ncz8gV2UgaGFkIGEgc2ltaWxhciBwcm9jZXNzIG9uIEtpbmcgUmljaGFyZC4gV2hhdCBjYW4gd2UgZHJhdyBvdXQgb2YgdGhlIGZhbWlseSBhc3BlY3RzP+KAnTwvcD4KCgoKPHA+UmVpbmFsZG8gTWFyY3VzIEdyZWVuIHdhcyBvbiBib2FyZCwgdGhlbiwgYW5kIHRoYXQgd2FzIG9uZSBnbG9iYWwgc2VhcmNoIGNvbmNsdWRlZC4gQnV0IHRoZSBvdGhlciB3YXMgb25nb2luZy4gU3RpbGwsIGp1c3QgYXQgdGhlIHJpZ2h0IG1vbWVudCwgYW5vdGhlciBmaWd1cmUgd2FzIGNvbWluZyB0byBwcm9taW5lbmNlLjwvcD4KCgoKPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2stZW1iZWQgaXMtdHlwZS12aWRlbyBpcy1wcm92aWRlci15b3V0dWJlIHdwLWJsb2NrLWVtYmVkLXlvdXR1YmUgd3AtZW1iZWQtYXNwZWN0LTE2LTkgd3AtaGFzLWFzcGVjdC1yYXRpbyI+PGRpdiBjbGFzcz0id3AtYmxvY2stZW1iZWRfX3dyYXBwZXIiPgo8aWZyYW1lIGxvYWRpbmc9ImxhenkiIHRpdGxlPSJCb2IgTWFybGV5OiBPbmUgTG92ZSAtIE9mZmljaWFsIFRyYWlsZXIgKDIwMjQgTW92aWUpIiB3aWR0aD0iMTc3OCIgaGVpZ2h0PSIxMDAwIiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2FqdzQyNUt1dnR3P2ZlYXR1cmU9b2VtYmVkIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZSIgcmVmZXJyZXJwb2xpY3k9InN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4iIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4KPC9kaXY+PC9maWd1cmU+CgoKCjxwPjxzdHJvbmc+TGV04oCZcyBnZXQgdG9nZXRoZXI8L3N0cm9uZz48L3A+CgoKCjxwPkRpZyBpbnRvIHRoZSBlYXJseSBzY3JlZW4gY2FyZWVyIG9mIExvbmRvbi1ib3JuIGFjdG9yIEtpbmdzbGV5IEJlbi1BZGlyLCBhbmQgZmFtaWxpYXIgbmFtZXMgcG9wIHVwLiBIZSBhcHBlYXJlZCBpbiBsb25nLXJ1bm5pbmcgY3JpbWUgZHJhbWEgTWlkc29tZXIgTXVyZGVycyBmb3IgaW5zdGFuY2UgKOKAnEkgd2FzIGEgcHJpZXN04oCdLCBoZSB0ZWxscyBtZSwgYnV0IGNhbuKAmXQgcmVjYWxsIGlmIGhlIHdhcyB0aGUga2lsbGVyIG9yIG5vdCksIGFuZCBoZSBib29rZWQgYSBrZXkgcm9sZSBpbiBhbm90aGVyIElUViBkZXRlY3RpdmUgZHJhbWEsIFZlcmEuIEhpcyBjYXJlZXIgZXNjYWxhdGVkIHdpdGggcHJvamVjdHMgc3VjaCBhcyBQZWFreSBCbGluZGVycyBhbmQgVGhlIE9BLCBidXQgaXQgd2FzIGEgcGFpciBvZiBwcm9kdWN0aW9ucyBsYW5kaW5nIGluIDIwMjAgdGhhdCBmaXJtbHkgcHV0IGhpbSBvbiB0aGUgT25lIExvdmUgcmFkYXIuPC9wPgoKCgo8cD5GaXJzdGx5LCBoZSBwbGF5ZWQgQmFyYWNrIE9iYW1hIGluIHRoZSAyMDIwIFVTIG1pbmktc2VyaWVzIFRoZSBDb21leSBSdWxlLiBUaGVuLCBSZWdpbmEgS2luZyBjYXN0IGhpbSBhcyBNYWxjb2xtIFggZm9yIGhlciBhY2NsYWltZWQgZHJhbWEgT25lIE5pZ2h0IEluIE1pYW1p4oCmIFdpdGggYSBCQUZUQSBSaXNpbmcgU3RhciBwcml6ZSBhZGRlZCB0byBoaXMgaG9tZSBmdXJuaXNoaW5ncyBhcm91bmQgdGhpcyB0aW1lIHRvbywgaGUgd2FzIGFjY2VsZXJhdGluZyB1cCB0aGUgbGlzdCBvZiBwb3NzaWJpbGl0aWVzLiBGb3IgaGltLCA8ZW0+T25lIE5pZ2h0IEluIE1pYW1p4oCmPC9lbT4gd2FzIGRlZmluaXRlbHkgdGhlIHR1cm5pbmcgcG9pbnQuPC9wPgoKCgo8cD7igJxUaGF0IHdhcyB0aGUgZmlyc3QgdGltZSBJIHdhcyBjb2xsYWJvcmF0aW5nIHdpdGggdGhlIGRpcmVjdG9ycyBhbmQgcHJvZHVjZXJzIGluIGEgbXVjaCBkaWZmZXJlbnQgd2F5LiBJIHdhcyBtdWNoIG1vcmUgaW52b2x2ZWQuIEkgdW5kZXJzdG9vZCBob3cgdGhlIG9yZGVyaW5nIG9mIGNlcnRhaW4gc2hvdHMgY291bGQgaGVscCBmcm9tIGFuIGFjdG9y4oCZcyBwb2ludCBvZiB2aWV3LuKAnTwvcD4KCgoKPHA+SGlzIHByb2Nlc3Mg4oCTIGFuZCBoZeKAmXMgYWx3YXlzIGJlZW4gYmlnIG9uIHByZXBhcmF0aW9uIOKAkyBldm9sdmVkIGZvciB0aGF0IGZpbG0gYXMgd2VsbC4g4oCcSSBtYWRlIHN1cmUgSSB0dXJuZWQgdXAgb24gdGhlIGZpcnN0IGRheSwgYW5kIEkgd2FzIGFibGUgdG8gcGxheSBhbnkgbW92ZW1lbnQgb24gdGhhdCBmaWxtIGxpa2UgdGhlIGJhY2sgb2YgbXkgaGFuZCzigJ0gaGUgdGVsbHMgbWUuIEhl4oCZcyBnb3Qgb25lIGV5ZSBvbiBwcm9kdWNpbmcgaGlzIG93biBmaWxtcyBnb2luZyBmb3J3YXJkLCBhbmQgZW5zdXJlZCB3aXRoIDxlbT5PbmUgTG92ZTwvZW0+IHRoYXQgaGUgd2FzIGF0IHRoZSBwb2ludCB0aGF0IHdoYXRldmVyIHNjZW5lIG5lZWRlZCBzaG9vdGluZyBvbiBhIGdpdmVuIGRheSDigJMgZXZlbiBpZiBpdCB3YXMgYSBsYXRlIGNoYW5nZSDigJMgaGXigJlkIGJlIHJlYWR5LiBUaGUgcGVyZmVjdCBhY3RvciBmb3IgYSBwcm9kdWNlci48L3A+CgoKCjxwPlN0aWxsLCBtdWNoIG9mIHRoZSBjYXN0aW5nIHByb2Nlc3MgaXRzZWxmLCB0aGF0IHdhcyBnb2luZyBvbiBhcm91bmQgaGltLCBldmFkZWQgaGlzIGF0dGVudGlvbi48L3A+CgoKCjxwIGNsYXNzPSJoYXMtdGV4dC1hbGlnbi1jZW50ZXIiPjxzdHJvbmc+UmVhZCBtb3JlOiA8YSBocmVmPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL3Jldmlld3MvYm9iLW1hcmxleS1vbmUtbG92ZS1yZXZpZXctYS1zZWFyaW5nLXBvbGl0aWNhbC10aHJpbGxlci13ZWlnaGVkLWRvd24tYnktYS1iaW9waWMvIj5Cb2IgTWFybGV5OiBPbmUgTG92ZSByZXZpZXcgfCBBIHNlYXJpbmcgcG9saXRpY2FsIHRocmlsbGVyIHdlaWdoZWQgZG93biBieSBhIGJpb3BpYzwvYT48L3N0cm9uZz48L3A+CgoKCjxwPuKAnEkgd2FzbuKAmXQgYXdhcmUgb2YgdGhlIHdvcmxkd2lkZSBzZWFyY2ggZ29pbmcgb24s4oCdIGhlIHNheXMuIOKAnFlvdXIgcGFydCBvZiB0aGUgYXVkaXRpb24gaXMganVzdCB5b3Vycy4gSeKAmXZlIHRlc3RlZCBmb3IgdGhlc2UgaHVnZSBwcm9qZWN0cyBub3cgZm9yIG1hbnksIG1hbnkgeWVhcnMuIFRoZSBmaXJzdCBvbmUgZ29pbmcgYmFjayB0byAyMDE0LiBBbmQgc28gbXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0IHdl4oCZcmUgdGFsa2luZyBhYm91dCBodW5kcmVkcyBpZiBub3QgdGhvdXNhbmRzIG9mIHBlb3BsZSB3aG8gYXJlIHRhcGluZyBbdGhlbXNlbHZlc10gYW5kIEkgZ3Vlc3MgaXTigJlzIGxpa2UgYSBkcmFtYSBzY2hvb2w6IHlvdSBrbm93LCA0MDAwIHBlb3BsZSBhdWRpdGlvbiwgYnV0IG9ubHkgMjAwIG9mIHRob3NlIGFyZSBldmVyIHJlYWxseSBnb2luZyB0byBiZSBjb25zaWRlcmVkLuKAnTwvcD4KCgoKPHA+SXQgaGVscGVkIHRvbyB0aGF0IHRoZSBzdG9yeSB3YXMgZ29pbmcgdG8gcHJpbWFyaWx5IHNldHRsZSBvbiBCb2IgTWFybGV5IGF0IGFyb3VuZCAzMyB0byAzNSB5ZWFycyBvbGQsIGluIGEgdmVyeSBwYXJ0aWN1bGFyIHRpbWUuPC9wPgoKCgo8cD7igJxXZSBjaG9zZSB0byB1c2UgYSB2ZXJ5IGxpZmUtY2hhbmdpbmcgcGVyaW9kIG9mIEJvYuKAmXMgbGlmZSwgdG8gbGV0IHVzIGdvIGludG8gZGlmZmVyZW50IGVtb3Rpb25hbCBwbGFjZXMgaW4gaGlzIHNlbGYgYW5kIGhpcyBoaXN0b3J5LOKAnSBleHBsYWlucyBaaWdneSBNYXJsZXkuIOKAnEkgd2FzIHZlcnkgaGFwcHkgd2UgY2hvc2UgdGhhdCBwZXJpb2Qgb2YgdGltZS4gSGlzIGVtb3Rpb25hbCwgc3Bpcml0dWFsIGpvdXJuZXlzLiBIaXMgbG92ZSBvZiBBZnJpY2EsIGhpcyBkZWNpc2lvbi0gbWFraW5nIHByb2Nlc3MsIHRoZSBjcmVhdGlvbiBvZiBoaXMgYWxidW0gPGVtPkV4b2R1czwvZW0+LjwvcD4KCgoKPHA+TXVzaWNhbGx5IHNwZWFraW5nLCBpdCB3YXMgdmVyeSBleGNyZW1lbnRhbCBpbiB0ZXJtcyBvZiB3aGVyZSByZWdnYWUgd2FzIGF0IHRoZSB0aW1lLiBXZSBnbyBiYWNrIGludG8gaGlzdG9yeSwgYW5kIGNvbWUgYmFjayBpbnRvIHRoZSBwcmVzZW50LuKAnTwvcD4KCgoKPHA+S2luZ3NsZXkgQmVuLUFkaXIgdGh1cyBib29rZWQgdGhlIHJvbGUgYXQgdGhlIHN0YXJ0LCB3aGVuIGhlIHdhcyBkZWVwIGluIHdvcmsgZm9yIHRoZSBNYXJ2ZWwgVFYgc2hvdyA8ZW0+U2VjcmV0IEludmFzaW9uPC9lbT4sIGluIHdoaWNoIGhlIHBsYXlzIG9uZSBvZiB0aGUgbGVhZCByb2xlcy4gVGhlbiBoZSBoYWQgdG8gaG90Zm9vdCBpdCBvdmVyIHRocmVlIGRheXMgZnJvbSB3cmFwcGluZyB0aGF0IHNob3cgdG8gdGhlIHNldCBvZiBHcmV0YSBHZXJ3aWfigJlzIDxlbT5CYXJiaWU8L2VtPiBtb3ZpZSwgd2hlcmUgaGUgd2FzIHBsYXlpbmcgQmFza2V0YmFsbCBLZW4uIEJldHdlZW4gdGFrZXMgb24gPGVtPkJhcmJpZTwvZW0+LCBoZeKAmWQgYmUgbGVhcm5pbmcgdGhlIGd1aXRhciBpbiBhZHZhbmNlIG9mIHRoZSBmYXN0LWFwcHJvYWNoaW5nIDxlbT5PbmUgTG92ZTwvZW0+IHNob290LjwvcD4KCgoKPHA+PHN0cm9uZz5TdW4gaXMgc2hpbmluZzwvc3Ryb25nPjwvcD4KCgoKPHA+VGhlIG1pc3NpbmcgcGFydCBvZiB0aGUgamlnc2F3IGhlcmUsIHRoZW4sIGlzIExhc2hhbmEgTHluY2guIFNoZSB0b29rIHRoZSBjb3ZlciBvZiB0aGlzIHZlcnkgbWFnYXppbmUgYmFjayBpbiBNYXJjaCAyMDIwLCBhcyBzaGUgd2FzIHByZXBhcmluZyB0byBoaXQgdGhlIHNjcmVlbiBhcyBOb21pIGluIEphbWVzIEJvbmQgZmVhdHVyZSA8ZW0+Tm8gVGltZSBUbyBEaWU8L2VtPi4gVGhhdCBmaWxt4oCZcyByZWxlYXNlIHdhcyBkZWxheWVkIHRvIHRoZSBlbmQgb2YgMjAyMSwgb2YgY291cnNlLCBidXQgTHluY2jigJlzIGNhcmVlciBrZXB0IGJ1aWxkaW5nOiBrZXkgcm9sZXMgaW4gR2luYSBQcmluY2UtQnl0aGV3b29k4oCZcyB0ZXJyaWZpYyAyMDIyIGZlYXR1cmUgPGVtPlRoZSBXb21hbiBLaW5nPC9lbT4gYW5kIHRoZSBiaWctc2NyZWVuIGFkYXB0YXRpb24gb2YgPGVtPlJvYWxkIERhaGzigJlzIE1hdGlsZGE6IFRoZSBNdXNpY2FsIDwvZW0+ZGVtb25zdHJhdGVkIHJhbmdlIGFuZCByZWFjaC48L3A+CgoKCjxwPkV2ZW4gYXMgdGhleSB3ZXJlIHJlbGVhc2VkLCB0aGUgb2ZmZXIgdG8gcGxheSBSaXRhIE1hcmxleSwgQm9i4oCZcyBjb2xsYWJvcmF0b3IgYW5kIHdpZmUsIGhhZCBjcm9zc2VkIGhlciBkZXNrLiBJdCB3YXMgYSBzcGVjaWFsIG1vbWVudC48L3A+CgoKCjxwPuKAnEhhdmluZyB0aGUgb3Bwb3J0dW5pdHkgdG8gcGxheSBNcnMgTWFybGV5LCBjb25zaWRlcmluZyBJ4oCZbSBvZiBKYW1haWNhbiBoZXJpdGFnZeKApiBpdCBmZWx0IGxpa2UgbXkgd2hvbGUgY2FyZWVyIGhhZCB0YXVnaHQgbWUgaG93IHRvIGFwcHJvYWNoIHRoaXMgcm9sZS4gTm90IGp1c3QgdGhlIHJvbGVzIHRoYXQgSeKAmXZlIHBsYXllZC4gQnV0IHRoZSBsZXNzb25zIEnigJl2ZSBsZWFybmVkIGFzIGEgd29tYW4sIHRoZSBzcGlyaXR1YWwgbGVzc29ucyBJ4oCZdmUgbGVhcm5lZCBpbiBsaWZlLCB0aGUgc2Vuc2l0aXZpdHkgeW91IGxlYXJuIHdoZW4gYXBwcm9hY2hpbmcgYXJ0IHdpdGggcGVvcGxlIHdoZW4gY29sbGFib3JhdGluZyzigJ0gc2hlIGV4cGxhaW5zIHRvIG1lLjwvcD4KCgoKPHA+4oCcVGhpcyBoYXMgY29tZSB0byBtZSBhdCB0aGUgcmlnaHQgdGltZS4gVGhpcyB3b21hbiB3aG8gaXMsIHlvdSBrbm93LCBtYWRlIG9mIGdvb2Qgc3RvY2sgYW5kIHN0cm9uZ2VzdCBib25lcywgYnV0IGFsc28gaGFzIGEgZGVsaWNhY3ksIGFuZCBhIGxpZ2h0bmVzcyBhbmQgYSBwZWFjZWZ1bG5lc3MgdGhhdCBJIGhhdmVu4oCZdCBiZWVuIGFibGUgdG8gZXhwbG9yZSB3aXRoIG90aGVyIHJvbGVzLuKAnTwvcD4KCgoKPHA+SeKAmXZlIGludGVydmlld2VkIExhc2hhbmEgTHluY2ggYSBmZXcgdGltZXMgbm93LCBhbmQgc2hl4oCZcyBhIGpveSB0byBjaGF0IHRvOiB0aG91Z2h0ZnVsLCBhbmQgb3BlbiB0aGF0IHRoZSBwYXRoIG9mIGhlciBjYXJlZXIgaGFzIG5vdyBicm91Z2h0IGhlciBjaG9pY2VzIHNoZeKAmXMga2VlbmVyIHRvIHBpY2sgb3Zlci4g4oCcV2hlbiB5b3Ugc3RhcnQgb2ZmIGluIHlvdXIgY2FyZWVyLCB5b3UgZmVlbCBncmF0ZWZ1bCB0byBiZSBpbiB0aGUgcm9vbSwgYW5kIGdldCBhbiBhdWRpdGlvbi7igJ08L3A+CgoKCjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2UiPjxpbWcgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjUzMyIgc3JjPSJodHRwczovL3NwYWNlcy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTEvQk1fMjIyNDNSMi04MDB4NTMzLmpwZyIgYWx0PSJib2IgbWFybGV5IGJpb3BpYyBvbmUgbG92ZSIgY2xhc3M9IndwLWltYWdlLTkzNzUwIiBzcmNzZXQ9Imh0dHBzOi8vc3BhY2VzLmZpbG1zdG9yaWVzLmNvLnVrL3VwbG9hZHMvMjAyNC8xMS9CTV8yMjI0M1IyLTgwMHg1MzMud2VicCA4MDB3LCBodHRwczovL3NwYWNlcy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTEvQk1fMjIyNDNSMi0zMDB4MjAwLndlYnAgMzAwdywgaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL0JNXzIyMjQzUjIuanBnIDE0MDB3IiBzaXplcz0iKG1heC13aWR0aDogODAwcHgpIDEwMHZ3LCA4MDBweCIgLz48ZmlnY2FwdGlvbiBjbGFzcz0id3AtZWxlbWVudC1jYXB0aW9uIj5DcmVkaXQ6IFBhcmFtb3VudDwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KCgoKPHA+V2hlbiBzaGUgd2FzIG9mZmVyZWQgdGhlIFJpdGEgTWFybGV5IHJvbGUsIGFzIG11Y2ggYXMgaXQgYmVpbmcgb25lIG9mIGhlciByb2xlcyBvZiBhIGxpZmV0aW1lLCBpdCBoYWQgdG8gbWVldCBjcml0ZXJpYSB0aGF0IGhhdmUgbmFycm93ZWQgb3ZlciB0aGUgdGltZS48L3A+CgoKCjxwPuKAnFRoZSBmaXJzdCB0aGluZyBJIHNhaWQgdG8gW1JlaW5hbGRvXSB3aGVuIHdlIG1ldCBpcyBkbyBpdCByaWdodC4gWW91IG5lZWQgdG8gZG8gaXQgcmlnaHQuIE9yIGVsc2UgdGhlIHdob2xlIG9mIEphbWFpY2EgaXMgZ29pbmcgdG8gY29tZSB0byB5b3UgYW5kIGluY2x1ZGluZyBteXNlbGYu4oCdPC9wPgoKCgo8cD5FdmVyeW9uZSBJIHNwZWFrIHRvIG9uIHRoZSBtb3ZpZSBoYWQgY2xlYXIgd2Fsay1hd2F5IHBvaW50cywgaW50ZXJlc3RpbmdseS48L3A+CgoKCjxwPuKAnElmIHRoZXJlIHdhcyBhbiBpbmtsaW5nIHRoYXQgTXJzIE1hcmxleSB3b3VsZCBoYXZlIGJlZW4gcmVkdWNlZCB0byB0aGUgd2lmZSBvciB0aGUgbW90aGVyIGFsb25lLCBJIHdvdWxkbuKAmXQgaGF2ZSBoYWQgYW55IHBhcnQgaW4gaXQgd2hhdHNvZXZlcizigJ0gTHluY2ggaW5zaXN0cy4g4oCcSSB3b3VsZG7igJl0IGhhdmUgYmVlbiBhYmxlIHRvIHNpdCBhdXRoZW50aWNhbGx5IHdpdGhpbiBteXNlbGYgb24gdGhhdCBzZXQgaWYgSSBrbmV3IEkgd2FzbuKAmXQgZG9pbmcgaGVyIGp1c3RpY2UuIEkgcHJvYmFibHkgd291bGQgaGF2ZSB3YWxrZWQgb2ZmIGEgcHJvamVjdCBmb3IgdGhlIGZpcnN0IHRpbWUgaWYgSeKAmWQga25vd24gdGhhdCB3YXMgW3doZXJlIGl0IHdhc10gZ29pbmcu4oCdPC9wPgoKCgo8cD5HcmVlbiBwdXQgZmFpbC1zYWZlcyBmb3IgaGltc2VsZiBpbiwgbWVhbndoaWxlLCB0aGF0IGlmIHRoZXkgY291bGRu4oCZdCBnZXQgdGhlIHJpZ2h0IGFjdG9yLCB0aGV5IHdvdWxkbuKAmXQgZXZlbiBtYWtlIHRoZSBmaWxtLiBBbmQgSSBwdXQgdG8gWmlnZ3kgTWFybGV5IHRvbzogd2hhdCB3b3VsZCBoYXZlIGhhcHBlbmVkIGlmLCBkZWVwIGluIHBvc3QtcHJvZHVjdGlvbiwgaGUgc3VkZGVubHkgZ290IHByZXNlbnRlZCB3aXRoIGEgY3V0IG9mIHRoZSBtb3ZpZSB0aGF0IGhlIGhhdGVkLCB3aGVuIGl04oCZcyBwcmV0dHkgZ29uZSBwYXN0IHRoZSBwb2ludCBvZiBubyByZXR1cm4/PC9wPgoKCgo8cD7igJxFdmVuIG5vdz8gSSB3b3VsZCBjb21lIGJhY2sgYW5kIHRlbGwgbm9ib2R5IHRvIHdhdGNoIHRoZSBtb3ZpZSHigJ0gSGUgbGF1Z2hzLiDigJxUaGFua2Z1bGx5LCBpdOKAmXMgbm90IGNvbWUgdG8gdGhhdC7igJ08L3A+CgoKCjxwPjxzdHJvbmc+VHJlbmNodG93biBSb2NrPC9zdHJvbmc+PC9wPgoKCgo8cD5BdXRoZW50aWNpdHkgYW5kIHRydXN0IGNvbWUgdXAgbG90cyBvZiB0aW1lcywgZnJvbSBkaWZmZXJlbnQgcGVvcGxlLCBkdXJpbmcgbXkgY29udmVyc2F0aW9ucyBhYm91dCB0aGUgZmlsbS4gQSBsYXJnZSBwYXJ0IG9mIHRoYXQgYXV0aGVudGljaXR5IHdhcyB0aGUgYWJzb2x1dGUgZGV0ZXJtaW5hdGlvbiB0byBzaG9vdCB0aGUgbW92aWUgaW4gSmFtYWljYS4gTGFzaGFuYSBMeW5jaCwgZm9yIGluc3RhbmNlLCBhcmd1ZXMgdGhhdCDigJxpdCB3b3VsZCBoYXZlIGJlZW4gaW1wb3NzaWJsZSwgYW5kIGEgY29tcGxldGUgaW5qdXN0aWNlLCB0byBub3Qgc2hvb3Qgb24gdGhlIGxhbmQgYW5kIGNhcHR1cmUgdGhlIHZpYnJhdGlvbiBvZiBKYW1haWNhIGluIHRoaXMgbW92aWUuPC9wPgoKCgo8cD7igJxIaXMgZW50aXJlIHVwYnJpbmdpbmcgd2FzIHRoZXJlIGFuZCBpdOKAmXMgdmVyeSBtdWNoIGZlbHQgd2hlbiB5b3Ugd2F0Y2ggdGhlIGZpbG0sIGFuZCB5b3UgZmVlbCYjODIzMDsgeW91IGZlZWwgdGhlIHZpYmVzIG9mIHRoZSBpc2xhbmQuIFRvIHRyeSBhbmQgcmVwbGljYXRlIHRoYXQgaW4gYSBzdHVkaW8gd291bGQgaGF2ZSBiZWVuIHJpZGljdWxvdXMu4oCdPC9wPgoKCgo8cD5ObyBkYW5nZXIgb2YgdGhhdCwgdGhvdWdoLiBUaGUgcHJvZHVjdGlvbiB3YXMgdmVyeSB2aXNpYmxlIG9uIHRoZSBpc2xhbmQuIEZpbG1pbmcgaW4gVHJlbmNoIFRvd24sIEJlbi1BZGlyIHJlY2FsbHMgcGxheWluZyBzb21ldGhpbmcsIGFuZCB0aGVuIHNvbWVvbmUgd2Fsa2VkIHBhc3QgYW5kIHNhaWQgdGhhdCBubywgeW91IHNpbmcgaXQgdGhhdCB3YXkuPC9wPgoKCgo8cD7igJxBbmQgc28gdGhlbiB5b3UgdGFrZSB0aGF0IG9uLuKAnTwvcD4KCgoKPHA+SGUgcGF1c2VzIGZvciBhIG1pbnV0ZSwgYW5kIHRoZW4gY29udGludWVzLjwvcD4KCgoKPHA+4oCcWW914oCZcmUgaW4gSmFtYWljYSwgeW914oCZcmUgb24gdGhlIHN0cmVldCwgd2l0aCBhbGwgdGhlc2UgcGVvcGxlIHdobyBrbmV3IGhpbSwgYW5kIHRoZW4gaGlzIGZhbWlseSBhcmUgYWxsIHRoZXJlLCBraW5kIG9mIHdhdGNoaW5nLCBhbmQgeW914oCZcmUgcGxheWluZyB0aGUgc2NlbmUsIGFuZCB0aGVuIHRoZXkgc2F5IGN1dCwgYW5kIHRoZW4geW91IGNhbiBnbyB0byB0aGVtIGFuZCBbdGFsayB0byB0aGVtIGFib3V0IGl0XS7igJ08L3A+CgoKCjxwPk5vIHNsaWdodCBvbiBpdCwgYnV0IHdl4oCZcmUgcHJldHR5IHN1cmUgeW91IGRvbuKAmXQgZ2V0IHRoYXQgbWFraW5nIDxlbT5TZWNyZXQgSW52YXNpb248L2VtPi48L3A+CgoKCjxwPuKAnFlvdSB3YWxrIG9uIHRoZSBzdHJlZXRzIG9mIFRyZW5jaCBUb3duIGFuZCB5b3Ugc2VlIHdoZXJlIEJvYiBncmV3IHVwLiBZb3UgY2FuIHNlbnNlIHRoZSBodW1pbGl0eSBpbiB0aGUgZ3JvdW5kIHRoYXQgeW914oCZcmUgd2Fsa2luZyBvbizigJ0gYWRkcyBSZWluYWxkbyBNYXJjdXMgR3JlZW4uIOKAnFZpb2xlbmNlLCBjaXZpbCB3YXIsIHlvdSBjYW4gZmVlbCBob3cgcHJvdGVjdGl2ZSB0aGUgSmFtYWljYW4gcGVvcGxlIGFyZSBvZiBCb2IgTWFybGV5LCBiZWNhdXNlIGhl4oCZcyBhIG5hdGlvbmFsIGhlcm8uIEhl4oCZcyBlbnRyZW5jaGVkIGluIHRoZWlyIGhpc3RvcnkgYW5kIGluIHRoZWlyIGZ1dHVyZS7igJ08L3A+CgoKCjxwPjxzdHJvbmc+SmFtbWluZzwvc3Ryb25nPjwvcD4KCgoKPHA+VGhlcmUgd2VyZSBsb3RzIG9mIG1lbW9yYWJsZSBpbnRlcmx1ZGVzIG1ha2luZyB0aGUgZmlsbS4g4oCcVGhlcmUgd2FzIGEgbW9tZW50IGluIHJlaGVhcnNhbHMs4oCdIHJlZmxlY3RzIExhc2hhbmEgTHluY2gsIOKAnHdoZW4gWmlnZ3kgZ290IG9uIHN0YWdlIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGJhbmQgYW5kIHN0YXJ0ZWQgcGxheWluZy4gQW5kIEkgd2FzIGp1c3QgbGlrZSwg4oCYTW90aGVyIE5hdHVyZSwgd2hhdCB0aGUgaGVsbCBkbyB5b3UgbWVhbj/igJkgSeKAmW0ganVzdCBzdGFuZGluZyBoZXJlIHdhdGNoaW5nIE1hcmxleeKAmXMgc29uIHBpY2sgdXAgYSBndWl0YXIgYW5kIHBsYXkgYXMgSeKAmW0gcHJlcHBpbmcgdG8gcGxheSBoaXMgbW90aGVyLiBXaWxkLiBBYnNvbHV0ZWx5IHdpbGQuIFRoaXMgd2FzIGxpa2UgYSBkaWZmZXJlbnQgbGV2ZWwgb2YgYWxpZ25tZW50IHRoYXQgbWF5YmUgY29tZXMgb25jZSBpbiBhIGxpZmV0aW1lLuKAnTwvcD4KCgoKPHA+VGhhdCBkb2VzbuKAmXQgbWVhbiBpdCB3YXMgYWxsIHBsYWluIHNhaWxpbmcsIHRob3VnaC4g4oCcWW91IG5ldmVyIHdhbnQgdG8gc3VnYXItY29hdCBhbnl0aGluZy4gWW91IHdhbnQgdG8gbWFrZSBpdCBjb21wbGV4LiBZb3Ugd2FudCB0byBtYWtlIGl0IHJpY2guIFlvdSB3YW50IHRvIGJlIGFzIHRydXRoZnVsIGFuZCBhdXRoZW50aWMgYXMgcG9zc2libGUs4oCdIFJlaW5hbGRvIE1hcmN1cyBHcmVlbiBhcmd1ZXMuIEFuZCBmb3IgWmlnZ3kgTWFybGV5IGFuZCBCb2LigJlzIGZhbWlseeKAmXMgcGFydCwgdGhleSB3ZXJlbuKAmXQgYWZyYWlkIHRvIHB1c2ggYmFjayBpZiBzb21ldGhpbmcgZGlkbuKAmXQgZmVlbCBhdXRoZW50aWMuPC9wPgoKCgo8cD7igJxGb3IgbWUsIGl0IHdhcyBsaXR0bGUgdGhpbmdzLOKAnSBoZSBleHBsYWlucy4g4oCcQm9iIHdvdWxkbuKAmXQgZG8gdGhhdC4gVGhhdOKAmXMgbm90IHRoZSB3YXkgbXkgZmF0aGVyIHdhcy4gVGhlIHdob2xlIHRoaW5nIHdhcyBub3QgdG8gY29tbWVyY2lhbGlzZSBoaW0sIHRvIGJlIGF1dGhlbnRpYyBoaW0u4oCdPC9wPgoKCgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI0NTIiIHNyYz0iaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL2JvYi1tYXJsZXktb25lLWxvdmUtODAweDQ1Mi5qcGciIGFsdD0iYm9iIG1hcmxleSBiaW9waWMgb25lIGxvdmUiIGNsYXNzPSJ3cC1pbWFnZS05Mzc1MSIgc3Jjc2V0PSJodHRwczovL3NwYWNlcy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTEvYm9iLW1hcmxleS1vbmUtbG92ZS04MDB4NDUyLndlYnAgODAwdywgaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL2JvYi1tYXJsZXktb25lLWxvdmUtMzAweDE2OS53ZWJwIDMwMHcsIGh0dHBzOi8vc3BhY2VzLmZpbG1zdG9yaWVzLmNvLnVrL3VwbG9hZHMvMjAyNC8xMS9ib2ItbWFybGV5LW9uZS1sb3ZlLmpwZyA5OTl3IiBzaXplcz0iKG1heC13aWR0aDogODAwcHgpIDEwMHZ3LCA4MDBweCIgLz48ZmlnY2FwdGlvbiBjbGFzcz0id3AtZWxlbWVudC1jYXB0aW9uIj5DcmVkaXQ6IFBhcmFtb3VudDwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KCgoKPHA+SGUgc3RvcHMgZm9yIGEgc2Vjb25kLCBhZGRpbmcgdGhhdCDigJx0aGVyZSB3ZXJlIHRoZSBtb21lbnRzIG9mIGNvbmNlcm4gYW5kIGF0dGVudGlvbuKAnSBkdXJpbmcgdGhlIHByb2R1Y3Rpb24uIOKAnE5vdCBuZWdhdGl2ZSzigJ0gaGUgYWRkcywg4oCcanVzdCBtYWtpbmcgc3VyZS4gSXQgd2FzIG91ciByZXNwb25zaWJpbGl0eS4gUmVpbmFsZG8gZG9u4oCZdCBrbm93IG15IGZhdGhlciBsaWtlIEkga25vdyBoaW0uIEtpbmdzbGV5IGRvZXNu4oCZdCBlaXRoZXIsIG5vbmUgb2YgdGhlbSBkby4gSXTigJlzIG91ciByZXNwb25zaWJpbGl0eSB0byBwYXkgYXR0ZW50aW9uLCB0byB0cnkgYW5kIGVuc3VyZSB3ZSByZXByZXNlbnQgaGltIGFzIGF1dGhlbnRpY2FsbHkgYXMgcG9zc2libGUuIFRob3NlIGFyZSBtb21lbnRzIHdoZW4geW91IGhhdmUgdG8gcGF5IGF0dGVudGlvbiBhbmQgc2F5IHNvbWV0aGluZy7igJ08L3A+CgoKCjxwPlN0aWxsLCB0aGUgd2hvbGUgZXhwZXJpZW5jZSBoYXMgY2xlYXJseSBiZWVuIHZlcnkgbW92aW5nIGZvciBoaW0uIOKAnFRoZXJlIGFyZSBtb21lbnRzIGluIHRoZSBwZXJmb3JtYW5jZSB0aGF0IEtpbmdzbGV5IGRvZXMsIGFuZCBoZeKAmXMgbGlrZSBCb2IuIFNwZWNpYWwgbW9tZW50cyB0aGVyZS4gRXZlbiBteSBicm90aGVyIHNheXMgaXQsIHRoYXQgeW91IGNvdWxkbuKAmXQgdGVsbCB0aGUgZGlmZmVyZW5jZS4gRm9yIG1lLCBJ4oCZbSBhZmZlY3RlZCBieSBLaW5nc2xleeKAmXMgcGVyZm9ybWFuY2UuIE5vdCB0aGUgbG9va3MsIHRoZSBlbW90aW9uYWwgY29udGVudCB0aGF0IGhlIGJyaW5ncyB0byBCb2IuIEkgc2F3IEJvYiBpbiBlbW90aW9uYWwgdGltZXMsIEkgY2FuIHJlbGF0ZSB0byBpdC7igJ08L3A+CgoKCjxwPjxzdHJvbmc+T25lIEN1cCBPZiBDb2ZmZWU8L3N0cm9uZz48L3A+CgoKCjxwPkkgc3RhcnQgdG8gd3JhcCB1cCB3aXRoIGV2ZXJ5b25lLjwvcD4KCgoKPHA+TGFzaGFuYSBMeW5jaCBoYXMgc2FpZCBpbiB0aGUgcGFzdCB0aGF0IHNoZeKAmXMgY2hhbmdlZCBieSBlYWNoIHJvbGUgc2hlIHRha2VzLiBVbnN1cnByaXNpbmdseSwgdmVyeSBtdWNoIHNvIGluIHRoaXMgY2FzZS48L3A+CgoKCjxwPuKAnEnigJl2ZSBiZWVuIGFibGUgdG8gaGFybmVzcyBhIHN0aWxsbmVzcyB0aGF0IEnigJl2ZSBiZWVuIGxvb2tpbmcgZm9yIGluIG15IGxpZmUgYXMgbWUgYW5kIGFzIGFuIGFydGlzdCBhbmQgYXMgYSB3b21hbiB0aHJvdWdoIGxlYXJuaW5nIGFib3V0IGhvdyBtdWNoIHdl4oCZcmUgYWJsZSB0byBkbyBldmVyeXRoaW5nLOKAnSBzaGUgZXhwbGFpbnMuPC9wPgoKCgo8cD7igJxTb21ldGltZXMgdGhpcyBpbmR1c3RyeSBjYW4gYmUgc28gY2hhb3RpYy4gQ3JlYXRpbmcgYXJ0IGNhbiBiZSBzbyB0YXhpbmcgYXQgdGhlIHdvcnN0IG9mIHRpbWVzLiBFc3BlY2lhbGx5IHdoZW4geW91IGFkZCBleHBlY3RhdGlvbnMgYW5kIHByZXNzdXJlcyB0byBpdC4gVGhyb3VnaCBwbGF5aW5nIE1ycyBNYXJsZXkgYW5kIHRocm91Z2ggY2hhbm5lbGxpbmcgdGhlIGVuZXJneSBvZiBteSBjdWx0dXJlLCBpbiBhIGZpbG0gYWJvdXQgbXkgY3VsdHVyZSwgaGFzIGdlbnVpbmVseSBnaXZlbiBtZSBtb3JlIHBlYWNlIGFzIGEgcGVyc29uLuKAnTwvcD4KCgoKPHA+S2luZ3NsZXkgQmVuLUFkaXIgbWVhbndoaWxlIGlzIGNsZWFybHkgc3RpbGwgaW4gdGhlIGhlYWQtc3BhY2Ugb2YgQm9iIE1hcmxleSwgdGhlIGV4cGVyaWVuY2Ugb2YgbWFraW5nIHRoZSBmaWxtLCBhbmQgdGhlIGludGVuc2l2ZSB5ZWFyIGhl4oCZcyBnb25lIHRocm91Z2guIEhl4oCZcyBub3QgY29tcGxhaW5pbmcsIGhl4oCZcyBqdXN0IHJlYWR5IGZvciB0aGUgYnJlYXRoZSBvdXQgbW9tZW50LjwvcD4KCgoKPHA+SGXigJlzIG5vdCBnb3QgbG9uZyB0byB3YWl0LiBUaGUgZmlsbSBpcyBzZXQgZm9yIHJlbGVhc2Ugb24gMTR0aCBGZWJydWFyeSAyMDI0LCBWYWxlbnRpbmXigJlzIERheSwgZm9sbG93aW5nIGEgbGF0ZSBkZWNpc2lvbiB0byBtb3ZlIGl0IGZyb20gdGhlIGVuZCBvZiAyMDIzLiBUaGF0IGZlZWxzIHJpZ2h0IHRob3VnaCBkb2VzbuKAmXQgaXQ/LCBJIHB1dCB0byBaaWdneSBNYXJsZXkuPC9wPgoKCgo8cCBjbGFzcz0iaGFzLXRleHQtYWxpZ24tY2VudGVyIj48c3Ryb25nPlJlYWQgbW9yZTogPGEgaHJlZj0iaHR0cHM6Ly9maWxtc3Rvcmllcy5jby51ay9yZXZpZXdzL2JhY2stdG8tYmxhY2stcmV2aWV3LXRoZS1hbXktd2luZWhvdXNlLWJpb3BpYy1pcy1hLW1pc2p1ZGdlZC10cmFnZWR5LyI+QmFjayBUbyBCbGFjayByZXZpZXcgfCBUaGUgQW15IFdpbmVob3VzZSBiaW9waWMgaXMgYSBtaXNqdWRnZWQgdHJhZ2VkeTwvYT48L3N0cm9uZz48L3A+CgoKCjxwPuKAnEl0IHdhc27igJl0IHBsYW5uZWQgdGhhdCB3YXnigJ0sIGhlIGxhdWdocy4g4oCcV2UgZGlkbuKAmXQgaGF2ZSBhIHBsYW4gdG8gcHV0IG91dCBhIG1vdmllIGluIEZlYnJ1YXJ5IDIwMjQsIG9uIEZlYnJ1YXJ5IDE0dGgh4oCdPC9wPgoKCgo8cD5TdGlsbCBjaHVja2xpbmcsIGhlIGV4cGxhaW5zOiDigJxUaGF04oCZcyB3aHkgSSBhY2NlcHQgaG93IHRoZSB1bml2ZXJzZSB3b3Jrcy4gVGhpcyBpcyB3aGF0IHdhcyBtZWFudCB0byBiZSEgSXQgY291bGRu4oCZdCBiZSBhIG1vcmUgcGVyZmVjdCBkYXk6IEkgdGhpbmsgdGhlIHdvcmxkIG5lZWRzIGl0IG5vdy7igJ08L3A+CgoKCjxwPkdpdmVuIHRoYXQgaGUgb3BlbmVkIHVwIGJ5IHRlbGxpbmcgbWUgaG93IG11Y2ggaGUgbG92ZXMgaGlzIG1vdmllIG5pZ2h0IOKAkyBhcyBkb2VzIFJlaW5hbGRvIE1hcmN1cyBHcmVlbiAod2hvIHNlZW1zIHRvIG91dCBoaW1zZWxmIHRvIG1lIGFzIHNvbWVvbmUgd2hvIHNpbmdzIGFsb25nIGF0IHRoZSBjaW5lbWEgZHVyaW5nIG91ciBjaGF0ISkg4oCTIEkgc2F2ZSBteSBsYXN0IHF1ZXN0aW9uIGZvciBaaWdneSBNYXJsZXksIGFuZCBhc2sgaGltIHRvIGp1c3Qgc3VtIHRoaW5ncyB1cC48L3A+CgoKCjxwPuKAnEl04oCZcyBhIHNwaXJpdHVhbCBzdG9yeSwgdGhlcmXigJlzIHNvIG11Y2ggaW4gaXQuIFlvdSBtaWdodCBoYXZlIHRvIHdhdGNoIGl0IHR3aWNlLCB0aHJlZSB0aW1lcy4gVGhhdOKAmXMgaG93IEkgZmVlbCBhYm91dCBpdC4gQSB2ZXJ5IGNvb2wsIGFydGlzdGljIGVudGVydGFpbmluZyB3YXkgdG8gdGVsbCBCb2LigJlzIHN0b3J5LOKAnSBoZSByZXNwb25kcy48L3A+CgoKCjxwPkFuZCB3aGF0IHdhcyB0aGUgbGFzdCBmaWxtIGhlIHdhdGNoZWQgdHdvIG9yIHRocmVlIHRpbWVzPyDigJxUaGUgR29kZmF0aGVyLOKAnSBoZSBsYXVnaHMuIFRoZSBtYW4gc2hvdWxkIGJlIGEgZmlsbSByZXZpZXdlcuKApiZuYnNwOzwvcD4KPGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X2JvdHRvbSI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL29uZS1sb3ZlLXRoZS1tYWtpbmctb2YtdGhlLWJvYi1tYXJsZXktYmlvcGljLyIgZGF0YS1hMmEtdGl0bGU9Ik9uZSBMb3ZlIHwgVGhlIG1ha2luZyBvZiB0aGUgQm9iIE1hcmxleSBiaW9waWMiPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2ZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2ZhY2Vib29rP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGb25lLWxvdmUtdGhlLW1ha2luZy1vZi10aGUtYm9iLW1hcmxleS1iaW9waWMlMkYmYW1wO2xpbmtuYW1lPU9uZSUyMExvdmUlMjAlN0MlMjBUaGUlMjBtYWtpbmclMjBvZiUyMHRoZSUyMEJvYiUyME1hcmxleSUyMGJpb3BpYyIgdGl0bGU9IkZhY2Vib29rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX3R3aXR0ZXIiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vdHdpdHRlcj9saW5rdXJsPWh0dHBzJTNBJTJGJTJGZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRm9uZS1sb3ZlLXRoZS1tYWtpbmctb2YtdGhlLWJvYi1tYXJsZXktYmlvcGljJTJGJmFtcDtsaW5rbmFtZT1PbmUlMjBMb3ZlJTIwJTdDJTIwVGhlJTIwbWFraW5nJTIwb2YlMjB0aGUlMjBCb2IlMjBNYXJsZXklMjBiaW9waWMiIHRpdGxlPSJUd2l0dGVyIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2VtYWlsIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2VtYWlsP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGb25lLWxvdmUtdGhlLW1ha2luZy1vZi10aGUtYm9iLW1hcmxleS1iaW9waWMlMkYmYW1wO2xpbmtuYW1lPU9uZSUyMExvdmUlMjAlN0MlMjBUaGUlMjBtYWtpbmclMjBvZiUyMHRoZSUyMEJvYiUyME1hcmxleSUyMGJpb3BpYyIgdGl0bGU9IkVtYWlsIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfZGQgYWRkdG9hbnlfc2hhcmVfc2F2ZSBhZGR0b2FueV9zaGFyZSIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL3NoYXJlIj48L2E+PC9kaXY+PC9kaXY+