Cat Davies and director Ate de Jong revisit cult Rik Mayall hit, Drop Dead Fred.
This article first appeared in Film Stories issue 26 in 2021.
It’s a film that could have catapulted one of Britain’s most influential small screen stars onto the Hollywood stage. A darkly comic tale of a woman’s journey to overcome a lifetime of abuse with the interference of her rambunctious imaginary friend, it’s a cocktail of gross-out humour and slapstick violence combined with themes of mental illness and psychological liberation. But a critical drubbing and modest box office takings meant Drop Dead Fred wasn't to find its audience until much later - when it joined scores of underrated movies in gaining cult status.
The story? Well, Elizabeth (Phoebe Cates) is at a critical point in her mid-20s. Her husband Charles (Tim Matheson) is cheating on her, her car is stolen and she is fired from her job – all in one lunch break. Forced to return to the house she grew up in by her domineering mother, Polly (Marsha Mason), she discovers a taped-up Jack in the Box in her bedroom cupboard. When she opens it, out bursts Drop Dead Fred (Rik Mayall), her troublemaking partner in crime – an anarchic imaginary friend, prone to bellowing “Snotface!”
Fred is a wild, flame-haired maniac devoid of fear and manners. Dressed in garish, pukey green and yellow clothes, a contrast to Elizabeth’s pastel princess pinks, he loves snot-flicking, making pants pie and causing mayhem. But Fred exists only in the mind of Lizzie – visible only to her and other imaginary friends. He represents her bolder, masculine alter ego – a means of expressing herself. Unhappy, lonely and in the midst of an identity crisis, Lizzie has brought Fred back. Convinced that only winning Charles over will make her complete, Lizzie and Fred embark on a rowdy adventure to restore her happiness… after dancing dog poo into her mother’s clean white carpet.
PGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X3RvcCI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL3dha2luZy11cC1zbm90ZmFjZS1kcm9wLWRlYWQtZnJlZC1hdC0zNC8iIGRhdGEtYTJhLXRpdGxlPSJXYWtpbmcgdXAgc25vdGZhY2UgfCBEcm9wIERlYWQgRnJlZCBhdCAzNCI+PGEgY2xhc3M9ImEyYV9idXR0b25fZmFjZWJvb2siIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZmFjZWJvb2s/bGlua3VybD1odHRwcyUzQSUyRiUyRmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZ3YWtpbmctdXAtc25vdGZhY2UtZHJvcC1kZWFkLWZyZWQtYXQtMzQlMkYmYW1wO2xpbmtuYW1lPVdha2luZyUyMHVwJTIwc25vdGZhY2UlMjAlN0MlMjBEcm9wJTIwRGVhZCUyMEZyZWQlMjBhdCUyMDM0IiB0aXRsZT0iRmFjZWJvb2siIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fdHdpdHRlciIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by90d2l0dGVyP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGd2FraW5nLXVwLXNub3RmYWNlLWRyb3AtZGVhZC1mcmVkLWF0LTM0JTJGJmFtcDtsaW5rbmFtZT1XYWtpbmclMjB1cCUyMHNub3RmYWNlJTIwJTdDJTIwRHJvcCUyMERlYWQlMjBGcmVkJTIwYXQlMjAzNCIgdGl0bGU9IlR3aXR0ZXIiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fZW1haWwiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZW1haWw/bGlua3VybD1odHRwcyUzQSUyRiUyRmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZ3YWtpbmctdXAtc25vdGZhY2UtZHJvcC1kZWFkLWZyZWQtYXQtMzQlMkYmYW1wO2xpbmtuYW1lPVdha2luZyUyMHVwJTIwc25vdGZhY2UlMjAlN0MlMjBEcm9wJTIwRGVhZCUyMEZyZWQlMjBhdCUyMDM0IiB0aXRsZT0iRW1haWwiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9kZCBhZGR0b2FueV9zaGFyZV9zYXZlIGFkZHRvYW55X3NoYXJlIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vc2hhcmUiPjwvYT48L2Rpdj48L2Rpdj4KPHA+PHN0cm9uZz5DYXQgRGF2aWVzIGFuZCBkaXJlY3RvciBBdGUgZGUgSm9uZyByZXZpc2l0IGN1bHQgUmlrIE1heWFsbCBoaXQsIERyb3AgRGVhZCBGcmVkLjwvc3Ryb25nPjwvcD4KCgoKPGhyIGNsYXNzPSJ3cC1ibG9jay1zZXBhcmF0b3IgaGFzLWFscGhhLWNoYW5uZWwtb3BhY2l0eSIvPgoKCgo8cD48ZW0+VGhpcyBhcnRpY2xlIGZpcnN0IGFwcGVhcmVkIGluIEZpbG0gU3RvcmllcyBpc3N1ZSAyNiBpbiAyMDIxLjwvZW0+PC9wPgoKCgo8cD5JdOKAmXMgYSBmaWxtIHRoYXQgY291bGQgaGF2ZSBjYXRhcHVsdGVkIG9uZSBvZiBCcml0YWlu4oCZcyBtb3N0IGluZmx1ZW50aWFsIHNtYWxsIHNjcmVlbiBzdGFycyBvbnRvIHRoZSBIb2xseXdvb2Qgc3RhZ2UuIEEgZGFya2x5IGNvbWljIHRhbGUgb2YgYSB3b21hbuKAmXMgam91cm5leSB0byBvdmVyY29tZSBhIGxpZmV0aW1lIG9mIGFidXNlIHdpdGggdGhlIGludGVyZmVyZW5jZSBvZiBoZXIgcmFtYnVuY3Rpb3VzIGltYWdpbmFyeSBmcmllbmQsIGl04oCZcyBhIGNvY2t0YWlsIG9mIGdyb3NzLW91dCBodW1vdXIgYW5kIHNsYXBzdGljayB2aW9sZW5jZSBjb21iaW5lZCB3aXRoIHRoZW1lcyBvZiBtZW50YWwgaWxsbmVzcyBhbmQgcHN5Y2hvbG9naWNhbCBsaWJlcmF0aW9uLiAgQnV0IGEgY3JpdGljYWwgZHJ1YmJpbmcgYW5kIG1vZGVzdCBib3ggb2ZmaWNlIHRha2luZ3MgbWVhbnQgPGVtPkRyb3AgRGVhZCBGcmVkPC9lbT4gd2FzbiYjODIxNzt0IHRvIGZpbmQgaXRzIGF1ZGllbmNlIHVudGlsIG11Y2ggbGF0ZXIgJiM4MjExOyB3aGVuIGl0IGpvaW5lZCBzY29yZXMgb2YgdW5kZXJyYXRlZCBtb3ZpZXMgaW4gZ2FpbmluZyBjdWx0IHN0YXR1cy48L3A+CgoKCjxwPlRoZSBzdG9yeT8gV2VsbCwgRWxpemFiZXRoIChQaG9lYmUgQ2F0ZXMpIGlzIGF0IGEgY3JpdGljYWwgcG9pbnQgaW4gaGVyIG1pZC0yMHMuIEhlciBodXNiYW5kIENoYXJsZXMgKFRpbSBNYXRoZXNvbikgaXMgY2hlYXRpbmcgb24gaGVyLCBoZXIgY2FyIGlzIHN0b2xlbiBhbmQgc2hlIGlzIGZpcmVkIGZyb20gaGVyIGpvYiDigJMgYWxsIGluIG9uZSBsdW5jaCBicmVhay4gRm9yY2VkIHRvIHJldHVybiB0byB0aGUgaG91c2Ugc2hlIGdyZXcgdXAgaW4gYnkgaGVyIGRvbWluZWVyaW5nIG1vdGhlciwgUG9sbHkgKE1hcnNoYSBNYXNvbiksIHNoZSBkaXNjb3ZlcnMgYSB0YXBlZC11cCBKYWNrIGluIHRoZSBCb3ggaW4gaGVyIGJlZHJvb20gY3VwYm9hcmQuIFdoZW4gc2hlIG9wZW5zIGl0LCBvdXQgYnVyc3RzIERyb3AgRGVhZCBGcmVkIChSaWsgTWF5YWxsKSwgaGVyIHRyb3VibGVtYWtpbmcgcGFydG5lciBpbiBjcmltZSDigJMgYW4gYW5hcmNoaWMgaW1hZ2luYXJ5IGZyaWVuZCwgcHJvbmUgdG8gYmVsbG93aW5nIOKAnFNub3RmYWNlIeKAnTwvcD4KCgoKPHA+RnJlZCBpcyBhIHdpbGQsIGZsYW1lLWhhaXJlZCBtYW5pYWMgZGV2b2lkIG9mIGZlYXIgYW5kIG1hbm5lcnMuIERyZXNzZWQgaW4gZ2FyaXNoLCBwdWtleSBncmVlbiBhbmQgeWVsbG93IGNsb3RoZXMsIGEgY29udHJhc3QgdG8gRWxpemFiZXRo4oCZcyBwYXN0ZWwgcHJpbmNlc3MgcGlua3MsIGhlIGxvdmVzIHNub3QtZmxpY2tpbmcsIG1ha2luZyBwYW50cyBwaWUgYW5kIGNhdXNpbmcgbWF5aGVtLiBCdXQgRnJlZCBleGlzdHMgb25seSBpbiB0aGUgbWluZCBvZiBMaXp6aWUg4oCTIHZpc2libGUgb25seSB0byBoZXIgYW5kIG90aGVyIGltYWdpbmFyeSBmcmllbmRzLiBIZSByZXByZXNlbnRzIGhlciBib2xkZXIsIG1hc2N1bGluZSBhbHRlciBlZ28g4oCTIGEgbWVhbnMgb2YgZXhwcmVzc2luZyBoZXJzZWxmLiBVbmhhcHB5LCBsb25lbHkgYW5kIGluIHRoZSBtaWRzdCBvZiBhbiBpZGVudGl0eSBjcmlzaXMsIExpenppZSBoYXMgYnJvdWdodCBGcmVkIGJhY2suIENvbnZpbmNlZCB0aGF0IG9ubHkgd2lubmluZyBDaGFybGVzIG92ZXIgd2lsbCBtYWtlIGhlciBjb21wbGV0ZSwgTGl6emllIGFuZCBGcmVkIGVtYmFyayBvbiBhIHJvd2R5IGFkdmVudHVyZSB0byByZXN0b3JlIGhlciBoYXBwaW5lc3PigKYgYWZ0ZXIgZGFuY2luZyBkb2cgcG9vIGludG8gaGVyIG1vdGhlcuKAmXMgY2xlYW4gd2hpdGUgY2FycGV0LjwvcD4KCgoKPHNwYW4gaWQ9Im1vcmUtMTAzNzUzIj48L3NwYW4+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9Imgtc2V0dGluZy11cCI+U2V0dGluZyB1cDwvaDI+CgoKCjxwPkJhc2VkIG9uIGEgc3RvcnkgYnkgRWxpemFiZXRoIExpdmluZ3N0b24gYWJvdXQgaGVyIGRhdWdodGVy4oCZcyBpbWFnaW5hcnkgZnJpZW5kLCB0aGUgY29uY2VwdCBzdHJ1Y2sgYSBjaG9yZCB3aXRoIHdyaXRlcnMgYW5kIGV4ZWN1dGl2ZSBwcm9kdWNlcnMgQ2FybG9zIERhdmlzIGFuZCBBbnRob255IEZpbmdsZXRvbi4gSXQgZm91bmQgYSBob21lIHdpdGggV29ya2luZyBUaXRsZSwgdGhlbiBiZXN0IGtub3duIGZvciA8ZW0+TXkgQmVhdXRpZnVsIExhdW5kZXJldHRlPC9lbT4gYW5kIDxlbT5XaXNoIFlvdSBXZXJlIEhlcmU8L2VtPi48L3A+CgoKCjxwPkR1dGNoIGRpcmVjdG9yIEF0ZSBkZSBKb25nIG1vdmVkIHRvIExvcyBBbmdlbGVzIGluIDE5ODYsIGhhdmluZyBtYWRlIHNldmVyYWwgZmlsbXMgaW4gdGhlIE5ldGhlcmxhbmRzLiBIZSBtZXQgQ2FybG9zIERhdmlzIHRocm91Z2ggYSBmZWxsb3cgd3JpdGVyIGJ5IGNoYW5jZSwgZ2l2aW5nIGhpbSBhIFZIUyBvZiBoaXMgZmlsbXMsIGJ1dCBpdCB3YXNuJiM4MjE3O3QganVzdCB0aGUgcHJvZHVjZXIgaGUgbmVlZGVkIHRvIGltcHJlc3MgaWYgaGUgd2FudGVkIHRvIGRpcmVjdCB0aGUgbW92aWUgaW4gcXVlc3Rpb24uPC9wPgoKCgo8cD7igJxSaWsgd2FzIGF0dGFjaGVkIGJlZm9yZSBJIHdhcy4gSSB3YXMgZmxvd24gdG8gRW5nbGFuZCBiZWNhdXNlIEkgaGFkIHRvIGF1ZGl0aW9uIGZvciBSaWss4oCdIGRlIEpvbmcgcmVjYWxscy48L3A+CgoKCjxwPuKAnEkgbWV0IGhpbSBhdCBoaXMgYWdlbnTigJlzIG9mZmljZSBhbmQgaGUgd2FzIHZlcnkgcG9saXRlLCBhc2tpbmcgcXVlc3Rpb25zLCBtYWtpbmcgam9rZXMuIEkgdGhpbmsgSSBjaGFybWVkIGhpbSBieSBzdGF5aW5nIG5vcm1hbC4gSSBkaWRu4oCZdCB0cnkgdG8gYmUgZnVubmllciB0aGFuIGhlIHdhcywgYmVjYXVzZSBob3cgY291bGQgST88L3A+CgoKCjxwPuKAnEkgd2FzIHZlcnkgaG9uZXN0LiBIZSBhc2tlZCBtZSB3aGF0IEnigJlkIGRvbmUgYW5kIEkgdG9sZCBoaW0gaW4gdGhlIHBhc3QgSSB3cm90ZSBmb3IgYSBuZXdzcGFwZXIuIEkgc2FpZCDigJhpZiB5b3UgY29tZSBmcm9tIHRoYXQgYmFja2dyb3VuZCwgeW91IGxvdmUgdG8gbWFrZSB0aGluZ3MgdGhhdCBhIGxvdCBvZiBwZW9wbGUgbGlrZeKAmSwgYW5kIHRoYXQgd2FzIGEgYnVsbHNleWUuIEhpcyBodW1vdXIgd2FzIGFsc28gYWltZWQgYXQgdGhlIGNvbW1vbiBtYW4sIHNwZWNpZmljYWxseSA8ZW0+VGhlIFlvdW5nIE9uZXM8L2VtPi4gSXQgd2FzIGxpa2VkIGJ5IGEgc29waGlzdGljYXRlZCBhdWRpZW5jZSwgYnV0IGl0IHdhcyBhbHNvIGxpa2VkIGJ5IG9yZGluYXJ5IHBlb3BsZSwgYnkgZm9vdGJhbGwgZ3V5cy4gSGUgd2FzIGEgZGVsaWdodCB0byB3b3JrIHdpdGgu4oCdPC9wPgoKCgo8cD5UaGUgZmlsbSBzaGlmdHMgdG9uYWxseSB0aHJvdWdob3V0IHZpYSBub24tbGluZWFyIHN0b3J5dGVsbGluZy4gRmxhc2hiYWNrcyBvZiBhIHlvdW5nIExpenppZSBpbnRlcnNwZXJzZWQgd2l0aCB0aGUgcHJlc2VudCBkYXkgc2hvdyBzaGUgaGFzIHN1c3RhaW5lZCBhYnVzZSBtb3N0IG9mIGhlciBsaWZlIGF0IHRoZSBoYW5kcyBvZiBoZXIgb3ZlcmJlYXJpbmcgbW90aGVyLiBBcyBhIGNoaWxkLCBzaGXigJlzIGJsYW1lZCBmb3IgaGVyIHBhcmVudHMmIzgyMTc7IG1hcml0YWwgdGVuc2lvbnMgYW5kIGxhdGVyIGRpdm9yY2UuIEZyZWQgaXMgTGl6emll4oCZcyBpbm5lciB2b2ljZSwgZGVjbGFyaW5nIFBvbGx5IGFzIOKAnHRoZSBtZWdhYml0Y2jigJ0gYW5kIOKAnGV2aWwgb25l4oCdLsKgPC9wPgoKCgo8cD7igJxJIG1hZGUgYSBmaWxtIGluIEhvbGxhbmQgY2FsbGVkIDxlbT5BIEZsaWdodCBPZiBSYWluYmlyZHM8L2VtPiwgd2hlcmUgd2UgYmxlbmRlZCBwYXN0IGFuZCBwcmVzZW50IGluIGEgc2ltaWxhciB3YXksJiM4MjIxOyBkZSBKb25nIHNheXMuIOKAnFRoZSBwcmVtaXNlIHdhcyBhIHByb2Zlc3NvciB3aG8gaGFkIG5ldmVyIHNsZXB0IHdpdGggYSB3b21hbiwgbm90IGV2ZW4gZGF0ZWQuIFRoZSBvbmx5IHRoaW5nIGhlIGRpZCB3YXMgY2FyZSBmb3IgaGlzIG9sZCwgc2ljayBtb3RoZXIuIEhlIGhhcyBhIHByZW1vbml0aW9uIHdoZXJlIEdvZCB0ZWxscyBoaW0sIOKAmGlmIHlvdSBkb27igJl0IGZpbmQgYSB3b21hbiBpbiBhIHdlZWssIGl04oCZcyBvdmVyLuKAmSBIZSBiZWxpZXZlcyBoZSBoYXMgYW4gYWx0ZXIgZWdvIHdobyBpcyBleGFjdGx5IHRoZSBvcHBvc2l0ZSBvZiBoaW0uIEhl4oCZcyBhIHNoeSBtYW4g4oCTIGFsbW9zdCBhIG5lcmQg4oCTwqAgYnV0IGhpcyBhbHRlciBlZ28sIHBsYXllZCBieSB0aGUgc2FtZSBhY3RvciBbSmVyb2VuIEtyYWJiZV0sIGRhcmVzIHRvIGRvIGV2ZXJ5dGhpbmcuIEhl4oCZcyBub3QgYSBEcm9wIERlYWQgRnJlZC4gSGXigJlzIG1vcmUgYSBEb24gSnVhbiwgYnV0IGluIGEgd2F5IGl0IHdhcyB0aGUgc2FtZSBzZXR1cCBhcyA8ZW0+RHJvcCBEZWFkIEZyZWQ8L2VtPi4gU28gdGhhdCBmaWxtIG1hZGUgbWUgdGhpbmsgYWJvdXQgaG93IHRvIG1vdmUgaW50byB0aGUgZmxhc2hiYWNrcyBhbmQgaG93IHRvIGRvIGl0IHRvIHZpc3VhbGx5IGNvbm5lY3QgdGhlbS7igJ08L3A+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9ImgtdW5kZXJjdXJyZW50cyI+VW5kZXJjdXJyZW50czwvaDI+CgoKCjxwPkFzIGEgbG9uZWx5LCBidWxsaWVkIGtpZCwgSSBwZXJzb25hbGx5IGxvbmdlZCB0byBiZSBib2xkIGFuZCBicmF2ZS4gVW53cmFwcGluZyBhIFZIUyBjb3B5IG9mIERyb3AgRGVhZCBGcmVkIGF0IENocmlzdG1hcyBiYWNrIGluIHRoZSBlYXJseSA5MHMsIEkgd2FzIGltbWVkaWF0ZWx5IGRyYXduIHRvIHRoZSBjb3Zlci4gSXQgaGFkIFJpayBNYXlhbGwgZnJvbSBteSBmYXZvdXJpdGUgVFYgc2hvdywgPGVtPkJvdHRvbTwvZW0+LCBvbiBpdC4gSSB3YXMgdGVjaG5pY2FsbHkgdG9vIHlvdW5nIHRvIHdhdGNoIGl0LCBidXQgbXkgZmFudGFzdGljYWxseSBsaWJlcmF0ZWQgYW5kIGlycmVzcG9uc2libGUgcGFyZW50cyB3ZXJlIG9ubHkgdG9vIGhhcHB5IHRvIGdpdmUgbWUgc29tZXRoaW5nIHRoYXQgY3JpdGljcyBoYWQgd3JpdHRlbiBvZmYgYXMgdnVsZ2FyLCBkaXNndXN0aW5nIGFuZCBwdWVyaWxlIOKAkyBpdCBzb3VuZGVkIGxpa2UgYSBob290LiBGcm9tIHRoZSBmaXJzdCB2aWV3aW5nLCBpdCBjaGFuZ2VkIG15IGxpZmUuIEl0IGdhdmUgbWUgdGhlIGNvdXJhZ2UgdG8gYmUgYSBiaXQgbW9yZSBGcmVkLCBidXQgaXQgdHVybnMgb3V0IEnigJltIG5vdCBhbG9uZS48L3A+CgoKCjxwPuKAnEdlbmVyYWxseSwgdGhlIGtpZHMgZGlkbuKAmXQgc2VlIHRoYXQgZGVlcGVyIGxheWVyLCBidXQgdGhleSBmZWx0IGl0LOKAnSBzYXlzIGRlIEpvbmcuIOKAnFRoZXkgc2F3IHRoZSBhbmFyY2h5LCB0aGUgZnVuIG9mIDxlbT5Ecm9wIERlYWQgRnJlZDwvZW0+IHRvIGRvIHRoaW5ncyB0aGF0IHlvdSB3ZXJlbuKAmXQgc3VwcG9zZWQgdG8gZG8uIFRoZW4gbGF0ZXIsIHdoaWNoIEkgaGF2ZSBoZWFyZCBwYXJ0aWN1bGFybHkgaW4gdGhlIGxhc3QgZmV3IHllYXJzLCBwZW9wbGUgd2hvIHNhdyBpdCB3aGVuIHRoZXkgd2VyZSB5b3VuZyBhbmQgZGlkbuKAmXQgc2VlIHRob3NlIGxheWVycyBub3cgcmVjb2duaXplZCBpdC4gVGhvc2Ugd2hvIHdlcmUgcGlja2VkIG9uIG9yIHRlYXNlZCBvciBub3QgdHJlYXRlZCB3ZWxsIOKAkyB0aGV5IGZvdW5kIHRoZSBmcmVlZG9tIHRoYXQgRnJlZCBnYXZlIHRvIExpenppZS7igJ08L3A+CgoKCjxwPlRoZSBkaXJlY3RvcuKAmXMgcGVyc29uYWwgaGlzdG9yeSBvZiBhYnVzZSBhcyBhIHlvdW5nIGJveSBieSBhbiBvbGRlciBoYWxmLWJyb3RoZXIgbWFkZSB0aGUgc2NyaXB0IHJlc29uYXRlLCBidXQgb25seSBvbiBhIHN1YmNvbnNjaW91cyBsZXZlbCBhdCBmaXJzdC48L3A+CgoKCjxwPuKAnEludHVpdGl2ZWx5IEkgZmVsdCBpdCB3YXMgY2xvc2UgdG8gbWUsIGJ1dCBpbnRlbGxlY3R1YWxseSBJIGRpZG7igJl0IGFuYWx5c2Ugd2h5LiBUaGF0IGNhbWUgbW9yZSBkdXJpbmcgdGhlIHByZXBhcmF0aW9uLiBJbiB0aGUgYmVnaW5uaW5nLCB0aGUgZmlsbSB3YXMgYW4gb3Bwb3J0dW5pdHkuIEl0IHdhcyBvZmZlcmVkIGFuZCBJIHdhcyBhIGdvbGQgZGlnZ2VyLiBJIGhhZCBqdXN0IGRvbmUgPGVtPkhpZ2h3YXkgVG8gSGVsbDwvZW0+IFtmZWF0dXJpbmcgQmVuIFN0aWxsZXJdIGFuZCBpdCBoYWRu4oCZdCBiZWVuIHJlbGVhc2VkIHlldC4gVGhhdOKAmXMgYWx3YXlzIHRoZSBiZXN0IG1vbWVudCB0byBnZXQgYW5vdGhlciBmaWxtIOKAkyB3aGVuIHlvdXIgcHJldmlvdXMgZmlsbSBpc27igJl0IGZpbmlzaGVkIOKAkyBiZWNhdXNlIGV2ZXJ5b25lIHRoaW5rcyB5b3UgY291bGQgYmUgdGhlIG5ldyBTcGllbGJlcmchPC9wPgoKCgo8cD7igJxXaGVuIEkgc3RhcnRlZCB3aXRoIHRoZSBmaWxtLCBhbGwgdGhlc2UgZGVlcGVyIGxheWVycyB3ZXJlIGluIG15IHN1YmNvbnNjaW91cyBbYnV0XSBJIG11c3QgaGF2ZSBzZW5zZWQgaXQuIFlvdeKAmXJlIGF0dHJhY3RlZCB0byBjZXJ0YWluIHN0b3JpZXMgb3IgeW914oCZcmUgbm90LiBNeSBvd24gdHJhdW1hIOKAkyBJIGRvbuKAmXQgdGhpbmsgSSBrbmV3IHRoZSBtZWFuaW5nIG9mIHRoZSB3b3JkIDMwIHllYXJzIGFnbyDigJMgYnV0IGl0IGNlcnRhaW5seSBoYXMgYmVlbiBhIGZvcmNlIGZvciBtZSB0byBtYWtlIGZpbG1zLuKAnTwvcD4KCgoKPHA+TWF5YWxs4oCZcyBzcGVjdHJ1bSBvZiBtYW5pYSB0byB0ZW5kZXJuZXNzLCBhbGwgd2l0aCB1bmJyaWRsZWQgY2hhcm0sIGlzIGEgc2hvcGZyb250IGZvciB0aGUgYWN0b3LigJlzIHJhbmdlLiBUaG91Z2ggYSBwb3N0LXB1bmsgaG91c2Vob2xkIG5hbWUgYXMgYSBwaW9uZWVyIG9mIDgwcyBhbHRlcm5hdGl2ZSBjb21lZHkgd2l0aCBUViBoaXRzIDxlbT5UaGUgWW91bmcgT25lczwvZW0+IGFuZCA8ZW0+VGhlIENvbWljIFN0cmlwIFByZXNlbnRzPC9lbT7igKYgYW5kIGEgZmF2b3VyaXRlIHdpdGggR2VuZXJhdGlvbiBYLCBoZSB3YXNu4oCZdCB0aGUgZmlyc3QgZmF2b3VyaXRlIGZvciBGcmVkLiBUaGUgaW50ZXJuZXQgaXMgcmlmZSB3aXRoIHJ1bW91cnMgb2Ygd2hvIHdhcyBpbiB0aGUgZnJhbWUuIFJvYmluIFdpbGxpYW1zIGlzIGV2ZW4gbWVudGlvbmVkLCBidXQgZGUgSm9uZyBkaXNwZWxzIHRoaXMuPC9wPgoKCgo8cD7igJxJIG5ldmVyIGhlYXJkIFJvYmluIFdpbGxpYW1z4oCZIG5hbWUuIEluIHRoZSBlYXJseSBzdGFnZXMsIHRoZXkgaGFkIGFjdHVhbGx5IGFwcHJvYWNoZWQgSmltIENhcnJleSBiZWNhdXNlIHRoZXkgaGFkIHNlZW4gSmltIGluIG9uZSBmaWxtLiBCdXQgdGhlbiBvbmUgb2YgdGhlIGZpbmFuY2llcnMgc2FpZCwg4oCYeWVhaCwgYnV0IHlvdSBrbm93LCBKaW0gQ2FycmV5IGNvdWxkIGJlIGEgb25lLW9mZi7igJkgVGhlbiBiZWNhdXNlIHRoZSBmaWxtIHdlbnQgdG8gV29ya2luZyBUaXRsZSwgd2hvIGtuZXcgUmlrLCBhbmQgaGUgd2FzIEJyaXRpc2ggYW5kIHRoZW0gYmVpbmcgYSBCcml0aXNoIGNvbXBhbnksIHRoZXkgc2FpZCwg4oCYd2UgdGhpbmsgaXTigJlzIGdyZWF0IGZvciBSaWsu4oCZPC9wPgoKCgo8cD7igJxGb3IgYSBzaG9ydCB3aGlsZSB0aGVyZSB3YXMgdGFsayBhYm91dCBKaW0gQ2FycmV5IGRvaW5nIGEgc2VxdWVsLCBidXQgaXQgbmV2ZXIgcmVhbGx5IGNhbWUgdG8gZnJ1aXRpb24uIFRoZW4gYXQgc29tZSBwb2ludCwgSmltIENhcnJleSBoYWQgPGVtPlRoZSBNYXNrPC9lbT4gYW5kIGhlIHdhcyBhbG1vc3QgdG9vIGJpZyB0byBkbyBhIHNlcXVlbC4gUmlrIHdhcyBzbyBob25lc3QgaW4gaGlzIHB1c2hpbmcgdGhlIGJvdW5kYXJpZXMgb2Ygd2hhdCBpcyBkZWNlbnQuIFRoYXQgd2FzIHRoZSB3YXkgaGUgd2FzLiBXaXRoIEppbSBDYXJyZXkgYW5kIFJvYmluIFdpbGxpYW1zLCB0aGV5IHdvdWxkIHBsYXkgaXQgcGhlbm9tZW5hbGx5LCBidXQgdGhleSB3b3VsZG7igJl0IGJlIDxlbT5pdDwvZW0+LuKAnTwvcD4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBpZD0iaC1tYXNrZWQiPk1hc2tlZDwvaDI+CgoKCjxwPlRob3VnaCA8ZW0+RHJvcCBEZWFkIEZyZWQ8L2VtPiB3YXMgcmVsZWFzZWQgdGhyZWUgeWVhcnMgcHJpb3IgdG8gPGVtPlRoZSBNYXNrLCA8L2VtPnRoZSBsaW5rcyBiZXR3ZWVuIHRoZSB0d28gZmlsbXMgcnVuIGRlZXBlciB0aGFuIHRoZSBwb3RlbnRpYWwuIDxlbT5UaGUgTWFzazwvZW0+IGlzIGFsc28gc2NvcmVkIGJ5IFJhbmR5IEVkZWxtYW4sIGl0cyBwcm90YWdvbmlzdCwgU3RhbmxleSBJcGtpc3MgYWxzbyBoYXMgYSBsYXJnZXIgdGhhbiBsaWZlIGFsdGVyIGVnbywgYW5kIGJvdGggd2VyZSBkaXN0cmlidXRlZCBieSBOZXcgTGluZSBDaW5lbWEuIEFyZ3VhYmx5LCA8ZW0+VGhlIE1hc2s8L2VtPiBvd2VzIGEgZGVidCB0byA8ZW0+RHJvcCBEZWFkIEZyZWQ8L2VtPiwgZmVhc2libHkgdGVzdGluZyB0aGUgbWFya2V0IGluIHRlcm1zIG9mIGhvdyBmYXIgdG8gcHVzaCB0aGUgY29tZWR5IGJldHdlZW4gYSB5b3VuZyBhbmQgYWR1bHQgYXVkaWVuY2UsIHBhdmluZyB0aGUgd2F5IGZvciBhIGxhcmdlci10aGFuLWxpZmUgY2FydG9vbnkgY29tZWR5IHRvIGJlY29tZSBhIHNtYXNoIGhpdC4gPGVtPlRoZSBNYXNrPC9lbT4gaGFkIHRoZSBhZHZhbnRhZ2Ugb2YgdGltZSwgaW1wcm92ZW1lbnRzIGluIHNwZWNpYWwgZWZmZWN0cyB0ZWNobm9sb2d5IGFuZCBhIGJpZ2dlciBidWRnZXQsIHdoZXJlYXMgPGVtPkZyZWQ8L2VtPuKAmXMgZWZmZWN0cyBzdGlsbCBhdHRyYWN0IGNyaXRpY2lzbSB0b2RheS48L3A+CgoKCjxwPuKAnElmIHlvdSBsb29rIGF0IHRoZSBzcGVjaWFsIGVmZmVjdHMsIHRoZXnigJlyZSBwcmV0dHkgY2x1bXN5LOKAnSBkZSBKb25nIGV4cGxhaW5zLiDigJxXZSBkaWRu4oCZdCBoYXZlIHRoZSBtb25leSDigJMgdGhleSB3ZXJlIGV4dHJlbWVseSBleHBlbnNpdmUuIFRoZSBzcGVjaWFsIG1ha2UtdXAgZWZmZWN0cyB3aGVyZSBoZSBoYXMgYSBmbGF0IGhlYWQgW2FmdGVyIGJlaW5nIHRyYXBwZWQgaW4gYSByZWZyaWdlcmF0b3JdLCBSaWsgcGxheWVkIG1hZ25pZmljZW50bHkuIFRoZSBwcm9kdWNlciBzYWlkIHdlIGRpZG7igJl0IGhhdmUgdGhlIG1vbmV5IGZvciBwcm9zdGhldGljIG1ha2UtdXAsIGJlY2F1c2Ugd2Ugd2VyZSBxdW90ZWQgdGhvdXNhbmRzIG9mIGRvbGxhcnMgZm9yIHRoYXQuIEFuZCB0aGVyZSB3YXMgdGhpcyBndXkgaW4gTWlubmVhcG9saXMg4oCTIEkgZG9u4oCZdCBrbm93IGhvdyB3ZSBtZXQgaGltIOKAkyBoZSBzYWlkIOKAmEnigJlkIGxvdmUgdG8gZG8gaXQu4oCZPC9wPgoKCgo8cD7igJxJdCBkaWRu4oCZdCBsb29rIHBlcmZlY3QsIGJ1dCB3ZSBoYWQgdGhlIGZlZWxpbmcgdGhhdCwgYmVjYXVzZSBGcmVkIHdhcyBhIGZha2UgY2hhcmFjdGVyIGFueXdheSwgaWYgaXQgbG9va2VkIGEgYml0IHdlaXJkIFJpayB3b3VsZCBwbGF5IHdpdGggaXQgYW5kIHdlIHByb2JhYmx5IGNvdWxkIGdldCBhd2F5IHdpdGggaXQuPC9wPgoKCgo8cD7igJxJZiB0aG9zZSB0aGluZ3Mgd2VyZSBiZXR0ZXIgdGhlIGZpbG0gd291bGQgaGF2ZSBoYWQgaGlnaGVyIHByb2R1Y3Rpb24gdmFsdWVzLCBidXQgSeKAmW0gbm90IHN1cmUgaWYgdGhlIHN0b3J5IHdvdWxkIGhhdmUgYmVlbiBiZXR0ZXIuIFdlIGhhZCBhIGJ1ZGdldCBvZiBhYm91dCAkNS41bS4gSSB3YXMgc2FkIHRoYXQgd2UgZGlkbuKAmXQgaGF2ZSBhIGJpZ2dlciBidWRnZXQgYmVjYXVzZSBvbiBpdHMgcmVsZWFzZSB0aGUgZmlsbSB3b3VsZCBoYXZlIGJlZW4gdGFrZW4gbW9yZSBzZXJpb3VzbHku4oCdPC9wPgoKCgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIGlkPSJoLXBob2ViZSI+UGhvZWJlPC9oMj4KCgoKPHA+VGhvdWdoIGJlc3Qga25vd24gZm9yIDxlbT5GYXN0IFRpbWVzIEF0IFJpZGdlbW9udCBIaWdoPC9lbT4gYW5kIDxlbT5HcmVtbGluczwvZW0+LCBQaG9lYmUgQ2F0ZXMgZGVsaXZlcnMgYSBtdWNoLXVuZGVycmF0ZWQgcGVyZm9ybWFuY2UuIE1vcmUgdGhhbiBhIG1lcmUgZm9pbCBmb3IgRnJlZOKAmXMgYW50aWNzLCBzaGUgaGFzIGEgZnJhZ2lsaXR5IGFuZCBpbm5vY2VuY2UgdGhhdCBlbWFuYXRlcyBvZmYgdGhlIHNjcmVlbiwgYnV0IGFsc28gc2hpbmVzIGluIHNjZW5lcyBvZiBjaGFsbGVuZ2luZyBwaHlzaWNhbCBjb21lZHkgd2hlcmUgc2hlIGlzIHBoeXNpY2FsbHkgY29udHJvbGxlZCBieSBGcmVkIGluIGEgcmVzdGF1cmFudC4gRGlzcGxheWluZyByZWFsIHN0YXIgcXVhbGl0eSwgdGhpcyB3b3VsZCBiZSBvbmUgb2YgQ2F0ZXPigJkgbGFzdCBzY3JlZW4gcm9sZXMgYmVmb3JlIHN0ZXBwaW5nIGJhY2sgdG8gZm9jdXMgb24gcmFpc2luZyBoZXIgZmFtaWx5IHdpdGggaHVzYmFuZCwgS2V2aW4gS2xpbmUgKDxlbT5BIEZpc2ggQ2FsbGVkIFdhbmRhPC9lbT4sPGVtPiBJbiAmYW1wOyBPdXQ8L2VtPikuPC9wPgoKCgo8cD7igJxQaG9lYmUgcmFkaWF0ZWQgYSBraW5kbmVzcyBhbmQgYSBzZW5zaXRpdml0eS4gU2hlIGNvdWxkIGJlIHNvbWVib2R5IHdobyBzdWJtaXR0ZWQgaGVyc2VsZiB0byBoZXIgbW90aGVyLOKAnSBkZSBKb25nIHJlY2FsbHMsIOKAnE1vbGx5IFJpbmd3YWxkIHdhcyBzb21lYm9keSBJIGxpa2VkLiBJ4oCZdmUgYWx3YXlzIGFkbWlyZWQgaGVyIHdvcmsuIEkgZGlkbuKAmXQgdGhpbmsgV2lub25hIFJ5ZGVyIHdhcyByaWdodCBmb3IgdGhlIHBhcnQgYmVjYXVzZSBzaGUgd2FzIGEgYml0IHRvbyB5b3VuZyBhbmQgZGlkbuKAmXQgaGF2ZSB0aGUgc2Vuc2l0aXZpdHkg4oCTIHlvdSBnb3QgdGhlIGltcHJlc3Npb24gc2hlIHdvdWxkIGVpdGhlciBpZ25vcmUgaGVyIG1vdGhlciBvciBzYXkg4oCYZnVjayBvZmYu4oCZ4oCdPC9wPgoKCgo8cD5GaWxtZWQgaW4gTWlubmVhcG9saXMgYXQgUHJpbmNl4oCZcyBQYWlzbGV5IFBhcmsgU3R1ZGlvcywgdGhlIGZpbG0gaW5jbHVkZWQgcGVyZm9ybWFuY2VzIGZyb20gbWFueSBsb2NhbCBhY3RvcnMsIG1vc3Qgbm90YWJseSBhcyBGcmVk4oCZcyBmZWxsb3cgaW1hZ2luYXJ5IGZyaWVuZHM6IE5hbWJ5IFBhbWJ5LCBWZWxjcm8gSGVhZCBhbmQgR28gdG8gSGVsbCBIZXJtYW4uPC9wPgoKCgo8cD7igJxUaGV5IHdlcmUgc28gZW5hbW91cmVkIGJ5IFJpay4gUmlrIHdlbnQgb3V0IHRvIGhhdmUgYmVlcnMgd2l0aCB0aGVtIGFuZCBkcmluayB3aXRoIHRoZW0gYW5kIHBsYXkuIFRoZXkgYWRvcmVkIGhpbSBhbmQgZmVsdCBmcmVlIG5vdCB0byByZXN0cmFpbiB0aGVtc2VsdmVzLiBUaGF0IHdhcyBhYnNvbHV0ZWx5IHBoZW5vbWVuYWwu4oCdPC9wPgoKCgo8cD5UaGVyZeKAmXMgYSBsb3QgdGhhdOKAmXMgcGxheWVkIGZvciBnaWdnbGVzIGluIHRoZSBmaWxtLCBpbmNsdWRpbmcgRnJlZCBsb29raW5nIHVwIFBvbGx54oCZcyBza2lydCBhbmQgZGVjbGFyaW5nIOKAnGNvYndlYnPigJ0uIEhvd2V2ZXIsIHRoZSBmaW5hbCBhY3QgaXMgYSB2aXN1YWwgdHJlYXQgYW5kIGEgdG91Y2hpbmcgZmFudGFzeSBzZXF1ZW5jZSBpbiB3aGljaCBGcmVkIGFuZCBMaXp6aWUgcmV0cmVhdCBpbnRvIGhlciBpbWFnaW5hdGlvbiDigJMgYSB3b3JsZCBvZiBhIGRpc3RvcnRlZCBkb2xs4oCZcyBob3VzZSDigJMgd2hlcmUgc2hlIGFkbWl0cyBzaGUgaXMgc2NhcmVkIHRvIGJlIGFsb25lIGFuZCBoYXMgdG8gY29uZnJvbnQgaGVyIG1vdGhlciBhbmQgaGVyIGh1c2JhbmQuIFNoZSBkaXNjb3ZlcnMgaGVyc2VsZiBhcyBhIGNoaWxkLCB0YXBlZCBkb3duIHRvIGEgYmVkLCBhbmQgZmluZHMgdGhlIHN0cmVuZ3RoIHRvIHN0cmlrZSBvdXQgYW5kIHJlc2N1ZSBoZXJzZWxmLCB0aG91Z2ggRnJlZCBjYW7igJl0IHJldHVybiB0byByZWFsaXR5IHdpdGggaGVyLjwvcD4KCgoKPHA+4oCcVGhlIHRhcGluZywgb3IgdW50YXBpbmcgb2YgaGVyLCBpcyBwcm9iYWJseSBvbmUgb2YgdGhlIGZldyB0aGluZ3MgSSB3cm90ZSBpbnRvIHRoZSBzY3JpcHQgYmVjYXVzZSB0aGVyZSBoYWQgdG8gYmUgYSB2aXN1YWxpc2F0aW9uIG9mIGhlciBiZWNvbWluZyBmcmVlLiBJIHRhbGtlZCBhIGxvdCB0byB0aGUgd3JpdGVycyBhbmQgdGhleSByZXdyb3RlIHdoYXQgSSB0aG91Z2h0IHdhcyBpbXBvcnRhbnQs4oCdIHNheXMgZGUgSm9uZy48L3A+CgoKCjxwPuKAnFRoZSB3aG9sZSB0aGlua2luZyBiZWhpbmQgaXQgd2FzIHRoYXQgTGl6emllIGhhcyB0byBncm93IHVwLiBTaGXigJlzIGFuIGFkdWx0LCBidXQgaW4gcHN5Y2hvbG9neSBhbmQgYmVoYXZpb3VyLCBzaGUgaXNu4oCZdC4gTGl6emllIGNhbiBvbmx5IGJlIGFuIGFkdWx0IHdoZW4gc2hlIHNheXMgZ29vZGJ5ZSB0byBoZXIgeW91dGggYW5kIHRoZSBkb21pbmFuY2Ugb2YgaGVyIG1vdGhlciwgYnV0IHRoZXJl4oCZcyBhbHNvIGxldHRpbmcgZ28gb2YgRnJlZCDigJMgaGVyIHNoaWVsZC4gU2hlIHdhbnRzIHRvIGxldCBnbyBvZiBoaW0gaW4gYSB3YXJtIHdheS4gVGhhdCBpcyBzeW1ib2xpc2VkIGJ5IHRoZSBlbWJyYWNlIGFuZCB0aGUga2lzcy7igJ08L3A+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9ImgtcHJvbW90aW9uIj5Qcm9tb3Rpb248L2gyPgoKCgo8cD5OZXcgTGluZSBDaW5lbWEgd2FzIGdvaW5nIHRvIHJlbGVhc2UgdGhlIGZpbG0gd2l0aCAxNTAgcHJpbnRzIGluIHRoZSBVUywgYW5kIHNwZW5kICQxLjVtIG9uIHB1YmxpY2l0eS4g4oCcSW4gSG9sbGFuZCwgYWxsIG15IGZpbG1zIGhhZCBjb3N0IGxlc3MgdGhhbiAkMS41bSzigJ0gZGUgSm9uZyBsYXVnaHMuIFRoZW4gaXRzIGZ1dHVyZSBoaW5nZWQgb24gbWFueSBhIGRpcmVjdG9y4oCZcyBuaWdodG1hcmUg4oCTIHRlc3Qgc2NyZWVuaW5ncy48L3A+CgoKCjxwPuKAnEl0IHdhcyBvbmx5IGxpa2VkIGJ5IHdvbWVuIG92ZXIgMzMsIGFuZCB3ZSBjb3VsZG7igJl0IGJlbGlldmUgaXQuIEZvcnR1bmF0ZWx5LCBOZXcgTGluZSBkaWRu4oCZdCBjaGFuZ2UgdGhlIHBsYW4gYW5kIG9ubHkgbWFya2V0IGl0IHRvIHdvbWVuIG92ZXIgMzMuIFRoZXkgZGlkIGEgdGVzdCByZWxlYXNlIGluIHRocmVlIGNpdGllcyDigJMgb25lIGluIFRleGFzLCBvbmUgaW4gTWlhbWksIG9uZSBpbiBDYWxpZm9ybmlhLiBTbyB0aGF0IHdhcyAyMCBwcmludHMuIFRoZSBiaXphcnJlIHRoaW5nIHdhcyB0aGUgZmlsbSB3YXMgYW4gaW5zdGFudCBoaXQuIFtTY3JlZW5pbmdzIHdlcmVdIGZ1bGwgb2Yga2lkcyBhbmQgdGhlaXIgcGFyZW50cywgYW5kIGluIHRoZSBldmVuaW5ncywgY291cGxlcyBjYW1lLCB3aGljaCBub2JvZHkgZXhwZWN0ZWQuIFRoZSBmaWxtIHdhcyB2ZXJ5IHBvcHVsYXIgd2l0aCBhIEJsYWNrIGF1ZGllbmNlIHRvby4gU28gc3VkZGVubHkgdGhleSBzYWlkIGFmdGVyIHRoYXQgZmlyc3Qgd2Vla2VuZCwgdGhlIGZpbG0gaGFkIHBvdGVudGlhbC4gVGhlbiB0aGV5IHJlbGVhc2VkIDk1MCBwcmludHMgYW5kIHNwZW50IMKjNiBtaWxsaW9uIGluIHB1YmxpY2l0eS4gWW91IGNhbuKAmXQgYmVsaWV2ZSBpdCB3aGVuIHRoYXQgaGFwcGVucyB0byB5b3Uu4oCdPC9wPgoKCgo8cD5EZXNwaXRlIGEgcHJvbWlzaW5nIGJveCBvZmZpY2Ugc3RhcnQsIHVua2luZCByZXZpZXdzIG1hZGUgaXRzIHJ1biBzaG9ydC1saXZlZC4gVG9vIHB1ZXJpbGUgYW5kIHphbnkgZm9yIGFkdWx0cywgYnV0IGNvbnNpZGVyZWQgYSBiYWQgaW5mbHVlbmNlIG9uIGNoaWxkcmVuLCBpdCBsZWZ0IHRoZSBwcmVzcyBjdXJpb3VzIHdobyB0aGUgZmlsbSBoYWQgYmVlbiBtYWRlIGZvci4gUmVzcGVjdGVkIGNyaXRpYyBHZW5lIFNpc2tlbCB1bmZhaXJseSBkZWNsYXJlZCBpdCB0aGUgd29yc3QgZmlsbSBvZiAxOTkxLjwvcD4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBpZD0iaC1hZnRlcm1hdGgiPkFmdGVybWF0aDwvaDI+CgoKCjxwPlRvbyBvdmVyLXRoZS10b3AgZm9yIEFtZXJpY2EgYW5kIHRvbyBzZW50aW1lbnRhbCBmb3IgdGhlIFVLLCBSaWvigJlzIGJ1cmdlb25pbmcgYmlnIHNjcmVlbiBjYXJlZXIgd2FzIGxhcmdlbHkgb3ZlciwgYXBhcnQgZnJvbSBhcHBlYXJhbmNlcyBpbiA8ZW0+Q2FycnkgT24gQ29sdW1idXM8L2VtPiAoMTk5MiksIDxlbT48YSBocmVmPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL3JldmlzaXRpbmctZ3Vlc3QtaG91c2UtcGFyYWRpc28vIj5HdWVzdCBIb3VzZSBQYXJhZGlzbzwvYT48L2VtPiAoMTk5OSkgYW5kIGxhdGVyIDxlbT5DaHVyY2hpbGw6IFRoZSBIb2xseXdvb2QgWWVhcnM8L2VtPiAoMjAwNCkuPC9wPgoKCgo8cD7igJxIZSB3YXMgZGVmaW5pdGVseSBkaXNhcHBvaW50ZWQgYWJvdXQgdGhlIHJldmlld3MuIEhlIHdhcyB1c2VkIHRvIGdldHRpbmcgcHJhaXNlIGluIHJldmlld3MuIFNvbWV0aW1lcyB0aGUgcmlnaHQtd2luZyBwcmVzcyBkaWRu4oCZdCBsaWtlIGhpcyBhdHRpdHVkZSwgYnV0IHRoYXQgZm9yIGhpbSB3YXMgcHJhaXNlLiBCdXQgY2VydGFpbmx5IG1vcmUgbGliZXJhbCBhbmQgbGVmdC13aW5nIHByZXNzLCBoZSB3YXMgYWx3YXlzIGFkb3JlZCBhbmQgdGhleSBkaWRu4oCZdCBkbyB0aGF0IGZvciA8ZW0+RHJvcCBEZWFkIEZyZWQ8L2VtPi4gSW4gdGhlIFVLLCB0aGV5IGdlbmVyYWxseSBmZWx0IGhlIGhhZCBzb2xkIG91dCBhbmQgdGhhdCBodXJ0IGhpbS4gVGhlbiBub3QgbG9uZyBhZnRlcndhcmRzLCBoZSBoYWQgaGlzIGFjY2lkZW50IFthIHF1YWQgYmlraW5nIGFjY2lkZW50IGluIDE5OTggbGVmdCBoaW0gaW4gYSBjb21hIHdpdGggYSBmcmFjdHVyZWQgc2t1bGxdLiBIZSBzdGF5ZWQgbG95YWwgdG8gbWUgYW5kIHRoZSBmaWxtLCBidXQgSSB0aGluayBoZSB3b3VsZCBoYXZlIGRlZmluaXRlbHkgYXBwcmVjaWF0ZWQgaXQgaWYgaGUgaGFkIHJlYWxpc2VkIHRoZSByZXN1cmdlbmNlIG9mIHRoZSBmaWxtLiBJdCBmZWVscyBzdHJvbmdlciB0aGUgbGFzdCBmaXZlIG9yIHNpeCB5ZWFycy4gSGUgd291bGQgaGF2ZSBhZG9yZWQgaXQu4oCdPC9wPgoKCgo8cD5BcyB3aXRoIG1hbnkgYSBjdWx0IGNsYXNzaWMsIDxlbT5Ecm9wIERlYWQgRnJlZDwvZW0+IHdhcyBkaXNjb3ZlcmVkIGFuZCByZWRpc2NvdmVyZWQgdGhyb3VnaCB0aGUgVkhTIGFuZCByZW50YWwgbWFya2V0LCBidXQgaXMgYWxzbyBmb25kbHkgcmVtZW1iZXJlZCBvbiBzb2NpYWwgbWVkaWEgYW5kIGJ5IGJsb2dnZXJzIGRlY2FkZXMgbGF0ZXIuIFNpbmNlIHRoZSBwcmVtYXR1cmUgZGVhdGggb2YgUmlrIE1heWFsbCBpbiAyMDE0LCBhZ2VkIGp1c3QgNTYsIG1hbnkgaGF2ZSB0YWtlbiBGcmVkIGludG8gdGhlaXIgaGVhcnRzLCBidXQgcnVtb3VycyBvZiByZW1ha2VzIGNvbWUgYW5kIGdvLjwvcD4KCgoKPHA+4oCcSXQgd2FzIGluIG15IGNvbnRyYWN0IHRoYXQgaWYgdGhleSBtYWRlIGEgc2VxdWVsLCB0aGV5IHdvdWxkIGhhdmUgdG8gb2ZmZXIgaXQgdG8gbWUgZmlyc3Qgb3IgcGF5IG1lIG9mZi4gQnV0IHRoYXQgd2FzIG9ubHkgZm9yIDE1IHllYXJzLiBJIGFsd2F5cyB0aG91Z2h0IHRoZXkgc2hvdWxkIHJlbWFrZSBpdCB3aXRoIGEgbXVzaWNpYW4gYmVjYXVzZSB0aGV5IGhhdmUgdGhlIHN0YWdlIHBlcmZvcm1hbmNlLCB0aGUgc3RhZ2UgcXVhbGl0eS4gSWYgeW91IGhhdmUgdGhlIHJpZ2h0IHBlcnNvbiwgdGhleSBhcmUgcmVhZHkgdG8gbWFrZSBhIGZvb2wgb2YgdGhlbXNlbHZlcy48L3A+CgoKCjxwPuKAnEl04oCZcyBub3QgZmFsc2UgbW9kZXN0eSwgYnV0IEkgZ290IHRoZSBmaWxtIG1vcmUgb3IgbGVzcyBieSBsdWNrLiBJIGRpZG7igJl0IGluaXRpYXRlIGl0LiBJIGFsbW9zdCBpbml0aWF0ZWQgYWxsIG15IGZpbG1zLCBidXQgbm90IHRoaXMgb25lLiBJIGhhZCBlbm9ybW91cyBsdWNrIHdpdGggUmlrLCBiZWNhdXNlIGlmIHlvdSBzYXkgPGVtPkRyb3AgRGVhZCBGcmVkPC9lbT4gdGhlIGZpcnN0IHRoaW5nIHBlb3BsZSBzYXkgaXMgUmlrIE1heWFsbC4gSSB0aGluayBJIGNvbnRyaWJ1dGVkIHRvd2FyZHMgdGhlIGRlZXBlc3QgbGF5ZXJzLCBidXQgSeKAmW0gb24gdGhlIGJhbmR3YWdvbiBvZiBzb21ldGhpbmcgZXh0cmFvcmRpbmFyeS4gSeKAmW0gZ3JhdGVmdWwgZm9yIHRoYXQuIFJpayBkZXNlcnZlcyBhbiBlbm9ybW91cyBhbW91bnQgb2YgY3JlZGl0LiBKdXN0IHRoZSBpZGVhIG9mIGFuIGltYWdpbmFyeSBmcmllbmQgd2hvIHdyZWFrcyBoYXZvYyBidXQgdWx0aW1hdGVseSBoZWxwcyBoZXIsIHRoYXTigJlzIGEgZ29sZGVuIGlkZWEuPC9wPgoKCgo8cD7igJxFdmVyeWJvZHkgc2F5cyB3aGVuIHlvdSBzdGFydCBtYWtpbmcgZmlsbXMsIHRoYXQgZmlsbXMgYXJlIGZvcmV2ZXIuIEJ1dCBpdOKAmXMgbm90IHRydWUsIGZpbG1zIGRpc2FwcGVhci4gTmluZXR5LWZpdmUgcGVyIGNlbnQgZGlzYXBwZWFyLCBub3Qgb25seSBzbWFsbCwgaW5kZXBlbmRlbnQgZmlsbXMuIElmIHlvdeKAmXJlIGx1Y2t5LCBjZXJ0YWlubHkgYWZ0ZXIgMzAgeWVhcnMsIHRoYXQgeW91ciBmaWxtIHN0aWxsIGV4aXN0cyDigJMgaXQgaXMgYSBibGVzc2luZy7igJ08L3A+CjxkaXYgY2xhc3M9ImFkZHRvYW55X3NoYXJlX3NhdmVfY29udGFpbmVyIGFkZHRvYW55X2NvbnRlbnQgYWRkdG9hbnlfY29udGVudF9ib3R0b20iPjxkaXYgY2xhc3M9ImFkZHRvYW55X2hlYWRlciI+U2hhcmUgdGhpcyBBcnRpY2xlOjwvZGl2PjxkaXYgY2xhc3M9ImEyYV9raXQgYTJhX2tpdF9zaXplXzMyIGFkZHRvYW55X2xpc3QiIGRhdGEtYTJhLXVybD0iaHR0cHM6Ly9maWxtc3Rvcmllcy5jby51ay9mZWF0dXJlcy93YWtpbmctdXAtc25vdGZhY2UtZHJvcC1kZWFkLWZyZWQtYXQtMzQvIiBkYXRhLWEyYS10aXRsZT0iV2FraW5nIHVwIHNub3RmYWNlIHwgRHJvcCBEZWFkIEZyZWQgYXQgMzQiPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2ZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2ZhY2Vib29rP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGd2FraW5nLXVwLXNub3RmYWNlLWRyb3AtZGVhZC1mcmVkLWF0LTM0JTJGJmFtcDtsaW5rbmFtZT1XYWtpbmclMjB1cCUyMHNub3RmYWNlJTIwJTdDJTIwRHJvcCUyMERlYWQlMjBGcmVkJTIwYXQlMjAzNCIgdGl0bGU9IkZhY2Vib29rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX3R3aXR0ZXIiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vdHdpdHRlcj9saW5rdXJsPWh0dHBzJTNBJTJGJTJGZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRndha2luZy11cC1zbm90ZmFjZS1kcm9wLWRlYWQtZnJlZC1hdC0zNCUyRiZhbXA7bGlua25hbWU9V2FraW5nJTIwdXAlMjBzbm90ZmFjZSUyMCU3QyUyMERyb3AlMjBEZWFkJTIwRnJlZCUyMGF0JTIwMzQiIHRpdGxlPSJUd2l0dGVyIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2VtYWlsIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2VtYWlsP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGd2FraW5nLXVwLXNub3RmYWNlLWRyb3AtZGVhZC1mcmVkLWF0LTM0JTJGJmFtcDtsaW5rbmFtZT1XYWtpbmclMjB1cCUyMHNub3RmYWNlJTIwJTdDJTIwRHJvcCUyMERlYWQlMjBGcmVkJTIwYXQlMjAzNCIgdGl0bGU9IkVtYWlsIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfZGQgYWRkdG9hbnlfc2hhcmVfc2F2ZSBhZGR0b2FueV9zaGFyZSIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL3NoYXJlIj48L2E+PC9kaXY+PC9kaXY+