The early days of Hollywood saw plucky foley pioneers save audiences from a lifetime of boring sound design and create an art form which continues to draw admiration and fascination to this very day.
The history of art interfacing with technology often sees an ascending platform ‘borrow’ from the medium it is eclipsing. With its veer towards bundling and advertising, streaming these days increasingly resembles the cable TV packages that it sought to render redundant. Likewise, video games continue to lean into the cinematic styles and narrative conventions of film, even as the industry outpaces the movies in earnings. The same was true of cinema as it blossomed as a narrative art form in the wake of 1927’s The Jazz Singer, which introduced synchronised sound for the first time.
Until the advent of synchronised sound allowed filmmakers to create more narratively complex tales, it was that other upstart technology - radio - that stood alone as the western world’s technological cutting-edge medium for fictional drama. However, as Hollywood embraced sound, it also quickly appropriated the techniques used by radio dramas in order to boost the sonic profile of its films, making a trip to the movies a feast for the ears, as well as the eyes.
One such technique was the art of sound reproduction, a dramatic device that radio shows had been using for several years to add a dash of auditory drama to their productions. These crafty methods of duplicating real-world background noise within a cramped recording studio had already laid the foundations for the ingenious creativity that would eventually become foley work. Electric fans in metal bathtubs have been known to double for car engines, whilst actors often spoke into boxes to create the impression they were speaking from another room entirely. Sometimes, the creation of domestic ambience would be as straightforward as sloshing plates in water to recreate the sound of dishes being washed.
However, unlike radio, film productions featured actors actually performing these sound-emitting feats rather than sonically recreating them. Actors couldn’t use coconuts to simulate the sounds of riding a horse - they were too busy actually riding the horse (or at the very least, their stunt double was doing it for them). Yet still these canny sound designers found themselves being tempted away from work on the airwaves and apply their skills to the medium of film.
PGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X3RvcCI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL3N0YWdpbmcuZmlsbXN0b3JpZXMuY28udWsvZmVhdHVyZXMvZm91bmQtc291bmRzLXRoZS1zaG9lLXN0YWNrZWQtaGlzdG9yeS1vZi1mb2xleS1hcnRpc3RzLyIgZGF0YS1hMmEtdGl0bGU9IkZvdW5kIHNvdW5kcyB8IFRoZSBzaG9lLXN0YWNrZWQgaGlzdG9yeSBvZiBGb2xleSBhcnRpc3RzIj48YSBjbGFzcz0iYTJhX2J1dHRvbl9mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by9mYWNlYm9vaz9saW5rdXJsPWh0dHBzJTNBJTJGJTJGc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGZm91bmQtc291bmRzLXRoZS1zaG9lLXN0YWNrZWQtaGlzdG9yeS1vZi1mb2xleS1hcnRpc3RzJTJGJmFtcDtsaW5rbmFtZT1Gb3VuZCUyMHNvdW5kcyUyMCU3QyUyMFRoZSUyMHNob2Utc3RhY2tlZCUyMGhpc3RvcnklMjBvZiUyMEZvbGV5JTIwYXJ0aXN0cyIgdGl0bGU9IkZhY2Vib29rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX3R3aXR0ZXIiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vdHdpdHRlcj9saW5rdXJsPWh0dHBzJTNBJTJGJTJGc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGZm91bmQtc291bmRzLXRoZS1zaG9lLXN0YWNrZWQtaGlzdG9yeS1vZi1mb2xleS1hcnRpc3RzJTJGJmFtcDtsaW5rbmFtZT1Gb3VuZCUyMHNvdW5kcyUyMCU3QyUyMFRoZSUyMHNob2Utc3RhY2tlZCUyMGhpc3RvcnklMjBvZiUyMEZvbGV5JTIwYXJ0aXN0cyIgdGl0bGU9IlR3aXR0ZXIiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fZW1haWwiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZW1haWw/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmZvdW5kLXNvdW5kcy10aGUtc2hvZS1zdGFja2VkLWhpc3Rvcnktb2YtZm9sZXktYXJ0aXN0cyUyRiZhbXA7bGlua25hbWU9Rm91bmQlMjBzb3VuZHMlMjAlN0MlMjBUaGUlMjBzaG9lLXN0YWNrZWQlMjBoaXN0b3J5JTIwb2YlMjBGb2xleSUyMGFydGlzdHMiIHRpdGxlPSJFbWFpbCIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2RkIGFkZHRvYW55X3NoYXJlX3NhdmUgYWRkdG9hbnlfc2hhcmUiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9zaGFyZSI+PC9hPjwvZGl2PjwvZGl2Pgo8cD48c3Ryb25nPlRoZSBlYXJseSBkYXlzIG9mIEhvbGx5d29vZCBzYXcgcGx1Y2t5IGZvbGV5IHBpb25lZXJzIHNhdmUgYXVkaWVuY2VzIGZyb20gYSBsaWZldGltZSBvZiBib3Jpbmcgc291bmQgZGVzaWduIGFuZCBjcmVhdGUgYW4gYXJ0IGZvcm0gd2hpY2ggY29udGludWVzIHRvIGRyYXcgYWRtaXJhdGlvbiBhbmQgZmFzY2luYXRpb24gdG8gdGhpcyB2ZXJ5IGRheS48L3N0cm9uZz48L3A+CgoKCjxociBjbGFzcz0id3AtYmxvY2stc2VwYXJhdG9yIGhhcy1hbHBoYS1jaGFubmVsLW9wYWNpdHkiLz4KCgoKPHA+VGhlIGhpc3Rvcnkgb2YgYXJ0IGludGVyZmFjaW5nIHdpdGggdGVjaG5vbG9neSBvZnRlbiBzZWVzIGFuIGFzY2VuZGluZyBwbGF0Zm9ybSDigJhib3Jyb3figJkgZnJvbSB0aGUgbWVkaXVtIGl0IGlzIGVjbGlwc2luZy4gV2l0aCBpdHMgdmVlciB0b3dhcmRzIGJ1bmRsaW5nIGFuZCBhZHZlcnRpc2luZywgc3RyZWFtaW5nIHRoZXNlIGRheXMgaW5jcmVhc2luZ2x5IHJlc2VtYmxlcyB0aGUgY2FibGUgVFYgcGFja2FnZXMgdGhhdCBpdCBzb3VnaHQgdG8gcmVuZGVyIHJlZHVuZGFudC4gTGlrZXdpc2UsIHZpZGVvIGdhbWVzIGNvbnRpbnVlIHRvIGxlYW4gaW50byB0aGUgY2luZW1hdGljIHN0eWxlcyBhbmQgbmFycmF0aXZlIGNvbnZlbnRpb25zIG9mIGZpbG0sIGV2ZW4gYXMgdGhlIGluZHVzdHJ5IG91dHBhY2VzIHRoZSBtb3ZpZXMgaW4gZWFybmluZ3MuIFRoZSBzYW1lIHdhcyB0cnVlIG9mIGNpbmVtYSBhcyBpdCBibG9zc29tZWQgYXMgYSBuYXJyYXRpdmUgYXJ0IGZvcm0gaW4gdGhlIHdha2Ugb2YgMTkyN+KAmXMgPGVtPlRoZSBKYXp6IFNpbmdlcjwvZW0+LCB3aGljaCBpbnRyb2R1Y2VkIHN5bmNocm9uaXNlZCBzb3VuZCBmb3IgdGhlIGZpcnN0IHRpbWUuPC9wPgoKCgo8cD5VbnRpbCB0aGUgYWR2ZW50IG9mIHN5bmNocm9uaXNlZCBzb3VuZCBhbGxvd2VkIGZpbG1tYWtlcnMgdG8gY3JlYXRlIG1vcmUgbmFycmF0aXZlbHkgY29tcGxleCB0YWxlcywgaXQgd2FzIHRoYXQgb3RoZXIgdXBzdGFydCB0ZWNobm9sb2d5ICYjODIxMTsgcmFkaW8gJiM4MjExOyB0aGF0IHN0b29kIGFsb25lIGFzIHRoZSB3ZXN0ZXJuIHdvcmxk4oCZcyB0ZWNobm9sb2dpY2FsIGN1dHRpbmctZWRnZSBtZWRpdW0gZm9yIGZpY3Rpb25hbCBkcmFtYS4gSG93ZXZlciwgYXMgSG9sbHl3b29kIGVtYnJhY2VkIHNvdW5kLCBpdCBhbHNvIHF1aWNrbHkgYXBwcm9wcmlhdGVkIHRoZSB0ZWNobmlxdWVzIHVzZWQgYnkgcmFkaW8gZHJhbWFzIGluIG9yZGVyIHRvIGJvb3N0IHRoZSBzb25pYyBwcm9maWxlIG9mIGl0cyBmaWxtcywgbWFraW5nIGEgdHJpcCB0byB0aGUgbW92aWVzIGEgZmVhc3QgZm9yIHRoZSBlYXJzLCBhcyB3ZWxsIGFzIHRoZSBleWVzLjwvcD4KCgoKPHA+T25lIHN1Y2ggdGVjaG5pcXVlIHdhcyB0aGUgYXJ0IG9mIHNvdW5kIHJlcHJvZHVjdGlvbiwgYSBkcmFtYXRpYyBkZXZpY2UgdGhhdCByYWRpbyBzaG93cyBoYWQgYmVlbiB1c2luZyBmb3Igc2V2ZXJhbCB5ZWFycyB0byBhZGQgYSBkYXNoIG9mIGF1ZGl0b3J5IGRyYW1hIHRvIHRoZWlyIHByb2R1Y3Rpb25zLiBUaGVzZSBjcmFmdHkgbWV0aG9kcyBvZiBkdXBsaWNhdGluZyByZWFsLXdvcmxkIGJhY2tncm91bmQgbm9pc2Ugd2l0aGluIGEgY3JhbXBlZCByZWNvcmRpbmcgc3R1ZGlvIGhhZCBhbHJlYWR5IGxhaWQgdGhlIGZvdW5kYXRpb25zIGZvciB0aGUgaW5nZW5pb3VzIGNyZWF0aXZpdHkgdGhhdCB3b3VsZCBldmVudHVhbGx5IGJlY29tZSBmb2xleSB3b3JrLiBFbGVjdHJpYyBmYW5zIGluIG1ldGFsIGJhdGh0dWJzIGhhdmUgYmVlbiBrbm93biB0byBkb3VibGUgZm9yIGNhciBlbmdpbmVzLCB3aGlsc3QgYWN0b3JzIG9mdGVuIHNwb2tlIGludG8gYm94ZXMgdG8gY3JlYXRlIHRoZSBpbXByZXNzaW9uIHRoZXkgd2VyZSBzcGVha2luZyBmcm9tIGFub3RoZXIgcm9vbSBlbnRpcmVseS4gU29tZXRpbWVzLCB0aGUgY3JlYXRpb24gb2YgZG9tZXN0aWMgYW1iaWVuY2Ugd291bGQgYmUgYXMgc3RyYWlnaHRmb3J3YXJkIGFzIHNsb3NoaW5nIHBsYXRlcyBpbiB3YXRlciB0byByZWNyZWF0ZSB0aGUgc291bmQgb2YgZGlzaGVzIGJlaW5nIHdhc2hlZC48L3A+CgoKCjxwPkhvd2V2ZXIsIHVubGlrZSByYWRpbywgZmlsbSBwcm9kdWN0aW9ucyBmZWF0dXJlZCBhY3RvcnMgYWN0dWFsbHkgcGVyZm9ybWluZyB0aGVzZSBzb3VuZC1lbWl0dGluZyBmZWF0cyByYXRoZXIgdGhhbiBzb25pY2FsbHkgcmVjcmVhdGluZyB0aGVtLiBBY3RvcnMgY291bGRu4oCZdCB1c2UgY29jb251dHMgdG8gc2ltdWxhdGUgdGhlIHNvdW5kcyBvZiByaWRpbmcgYSBob3JzZSAmIzgyMTE7IHRoZXkgd2VyZSB0b28gYnVzeSBhY3R1YWxseSByaWRpbmcgdGhlIGhvcnNlIChvciBhdCB0aGUgdmVyeSBsZWFzdCwgdGhlaXIgc3R1bnQgZG91YmxlIHdhcyBkb2luZyBpdCBmb3IgdGhlbSkuIFlldCBzdGlsbCB0aGVzZSBjYW5ueSBzb3VuZCBkZXNpZ25lcnMgZm91bmQgdGhlbXNlbHZlcyBiZWluZyB0ZW1wdGVkIGF3YXkgZnJvbSB3b3JrIG9uIHRoZSBhaXJ3YXZlcyBhbmQgYXBwbHkgdGhlaXIgc2tpbGxzIHRvIHRoZSBtZWRpdW0gb2YgZmlsbS48L3A+CgoKCjxzcGFuIGlkPSJtb3JlLTk1Mzk3Ij48L3NwYW4+CgoKCjxwPjxzdHJvbmc+VXAgYW5kIHJ1bm5pbmc8L3N0cm9uZz48L3A+CgoKCjxwPlNvIHdoeSB0aGUgbmVlZCB0byBicmluZyBpbiBhZGRpdGlvbmFsIHBlcnNvbm5lbCB0byByZWNyZWF0ZSB0aG9zZSBzb3VuZHM/IFdlbGwsIGFzIERhbm4gQ2FobiAmIzgyMTE7IGEgc2Vhc29uZWQgSG9sbHl3b29kIGVkaXRvciAmIzgyMTE7IHdvdWxkIHJlY2FsbCB0byBUZWxldmlzaW9uIEFjYWRlbXk6IHRoZSBtaWNyb3Bob25lcyB3ZXJlbuKAmXQgc2Vuc2l0aXZlIGVub3VnaCB0byBwaWNrIHVwIGZvb3RzdGVwcyBvciBoYW5kIG1vdmVtZW50cyBvciBwaWNraW5nIHVwIGEgZ2xhc3MuIE1pY3JvcGhvbmVzIG9uIHNldCB3b3VsZCBvbmx5IHBpY2sgdXAgZGlhbG9ndWUuPC9wPgoKCgo8cD5Ib3dldmVyLCByYXRoZXIgdGhhbiBhIHN1YnN0YW5kYXJkIOKAmHRhbGtpZeKAmSwgaXQgd291bGQgYmUgdGhlIDE5MjkgcHJvZHVjdGlvbiBvZiA8ZW0+U2hvdyBCb2F0PC9lbT4gdGhhdCBzcHVycmVkIHN0dWRpb3MgaW50byB0aGUgdXNlIG9mIGZvbGV5IHNvdW5kcyAmIzgyMTE7IGEgcHJvY2VzcyBraWNrLXN0YXJ0ZWQgYnkgVW5pdmVyc2FsIFN0dWRpb3Mgd2hlbiBpdCByZWFsaXNlZCB0aGF0IGl0cyB1cGNvbWluZyDigJhzaWxlbnQgbXVzaWNhbOKAmSB3YXMgcHJvYmFibHkgZ29pbmcgdG8gc2VlbSBzb21ld2hhdCBkYXRlZCB1cG9uIHJlbGVhc2UuIEF1ZGllbmNlcyBpbiB0aGUgZGF3bmluZyBhZ2Ugb2YgdGhlIHRhbGtpZXMgd2VyZSBub3cgZXhwZWN0aW5nIHRoZWlyIG11c2ljYWxzIHRvIGNvbWUgd2l0aCwgd2VsbCwgbXVzaWMsIGFuZCA8ZW0+VGhlIEphenogU2luZ2VyPC9lbT4gaGFkIHNldCB0aGUgc3RhbmRhcmQgbW9yZSB0aGFuIHR3byB5ZWFycyBwcmlvci4gU28gdGhlIHNvdW5kcyBoYWQgYmVzdCBtYXRjaCB1cCB3aXRoIHRoZSBhY3Rpb24gb24gc2NyZWVuLjwvcD4KCgoKPHA+VG8gYWRkIHNvdW5kIHRvIGl0cyBzaWxlbnQgZmlsbSwgVW5pdmVyc2FsIHB1dCB0b2dldGhlciBhIHRlYW0gd2hpY2ggaW5jbHVkZWQgSmFjayBGb2xleSwgdGhlIHNvdW5kIGRlc2lnbmVyIGFmdGVyIHdob20gdGhlIHByb2Nlc3MgaXMgbmFtZWQuIEZvbGV5IHBlbm5lZCBoaXMgdGhvdWdodHMgb24gdGhlIHByb2Nlc3MgaW4gaGlzIHJlZ3VsYXIgY29sdW1uIGZvciBVbml2ZXJzYWzigJlzIGludGVybmFsIG5ld3NwYXBlciBhbmQsIGxpa2UgbW9zdCB0aGluZ3MgdGhhdCBzcGF3bmVkIGZyb20gdGhhdCBuZXcgZnJvbnRpZXIgYWdlIG9mIGZpbG1tYWtpbmcsIGhpcyB0aG91Z2h0cyB3ZXJlIHVudmFybmlzaGVkOiDigJxGYWNlcyBhcm91bmQgaGVyZSB3ZXJlIHNvIHJlZCzigJ0gRm9sZXkgd3JvdGUsIOKAnHNvbWVvbmUgeWVsbGVkLCDigJhhcmUgd2Ugc3RpbGwgaW4gYnVzaW5lc3M/4oCZ4oCdPC9wPgoKCgo8cD5XaGlsc3QgV2FybmVyIEJyb3Mgd2FzIHNpdHRpbmcgcHJldHR5IHdpdGggaXRzIG5vdy1lc3RhYmxpc2hlZCBwcm9wcmlldGFyeSBWaXRhcGhvbmUgc291bmQgcmVjb3JkaW5nIHRlY2gsIEZvbGV5IGFuZCB0aGUgVW5pdmVyc2FsIHRlYW0gd2VyZSB1c2luZyBhbiB1bmZhbWlsaWFyIGxvYW5lZCBkZXZpY2UgdG8gbXVkZGxlIHRoZWlyIHdheSB0aHJvdWdoIHRoZSB0cmFuc2l0aW9uIHRvIHRoZSB0YWxraWVzLCBmaWd1cmluZyBvdXQgaG93IHRvIHR1cm4gPGVtPlNob3cgQm9hdDwvZW0+IGZyb20gYSBzaWxlbnQgbXVzaWNhbCBpbnRvIG9uZSB3aXRoIHNvdW5kLjwvcD4KCgoKPHA+QWx0aG91Z2ggdGhlIGVuZCByZXN1bHQgd291bGQgYmUgbGFyZ2VseSBpZ25vcmVkIGJ5IGNpbmVtYWdvZXJzLCBzb21lIG9mIHRoZSB0ZWNobmlxdWVzIGVtcGxveWVkIG9uIHRoYXQgcHJvZHVjdGlvbiB3b3VsZCBmb3JtIHRoZSBmb3VuZGF0aW9uIG9mIOKAmGZvbGV5IHdvcmvigJkgYXMgd2Uga25vdyBpdCDigJgtIHdpdGggSmFjayBGb2xleSBhbmQgaGlzIHRlYW0gcHJvamVjdGluZyB0aGUgc2lsZW50IGZpbG0gb250byBhIHNjcmVlbiBhbmQgZGV2aXNpbmcgYSBob3N0IG9mIHdheXMgdG8gcmVwbGljYXRlIHRoZSBtaXNzaW5nIHNvdW5kcyBhbmQgcmVjb3JkaW5nIHRoZW0gaW4gc3luYyB3aXRoIHRoZSBwaWN0dXJlLjwvcD4KCgoKPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2Ugc2l6ZS1mdWxsIj48aW1nIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyIgd2lkdGg9IjY2MCIgaGVpZ2h0PSI1MTEiIHNyYz0iaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvVGhlLUphenotU2luZ2VyLmpwZyIgYWx0PSJqYXp6IHNpbmdlciIgY2xhc3M9IndwLWltYWdlLTk1Mzk4IiBzcmNzZXQ9Imh0dHBzOi8vc3BhY2VzLnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzEyL1RoZS1KYXp6LVNpbmdlci5qcGcgNjYwdywgaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvVGhlLUphenotU2luZ2VyLTMwMHgyMzIud2VicCAzMDB3IiBzaXplcz0iYXV0bywgKG1heC13aWR0aDogNjYwcHgpIDEwMHZ3LCA2NjBweCIgLz48ZmlnY2FwdGlvbiBjbGFzcz0id3AtZWxlbWVudC1jYXB0aW9uIj5UaGUgSmF6eiBTaW5nZXIgKGNyZWRpdDogV2FybmVyIEJyb3MpPC9maWdjYXB0aW9uPjwvZmlndXJlPgoKCgo8cD48c3Ryb25nPkhlcmUgdG8gc3RheTwvc3Ryb25nPjwvcD4KCgoKPHA+QW5kIHNvLCBhIGRvb21lZCBnYW1iaXQgdG8gc2F2ZSBhIGxvc3QgY2F1c2Ugc3Bhd25lZCBhIHdob2xlIG5ldyBicmFuY2ggb2YgY2luZW1hdGljIGFydGlzdHJ5LiBGb2xleSBhcnRpc3RzLCBuYW1lZCB0byBob25vdXIgSmFjayBGb2xleeKAmXMgdHJhaWxibGF6aW5nIHN0eWxlLCBiZWNhbWUgYSBzdGFwbGUgb2YgdGhlIGZpbG1tYWtpbmcgY29tbXVuaXR5LiBIb3dldmVyLCBhcyBtaWNyb3Bob25lcyBpbXByb3ZlZCwgeW91IG1pZ2h0IGltYWdpbmUgdGhhdCB0aGUgZmxlZGdsaW5nIGFydCBvZiBmb2xleSB3b3VsZCBoYXZlIGRpZWQgb3V0LiBBZnRlciBhbGwsIEhvbGx5d29vZCBzdHVkaW9zIGFyZSBub3RvcmlvdXMgZm9yIGZpbmRpbmcgd2F5cyB0byBzcXVlZXplIGEgZmlsbeKAmXMgYnVkZ2V0LCBzbyB3aHkgc3BsdXJnZSBleHRyYSBkb2xsYXJzIG9uIGEgcHJvY2VzcyB0aGF0IHJlY3JlYXRlcyBhbiBhc3NldCB0aGF0IHlvdSBhbHJlYWR5IGhhdmU/PC9wPgoKCgo8cD5UaGUgYW5zd2VyIHRvIHRoYXQgbGllcyBpbiBhIHdpZGVyIGNyaXRpY2FsIGRlYmF0ZSB0aGF0IHdhcyBlbmd1bGZpbmcgZmlsbSBpbiBmaXJzdCBoYWxmIG9mIHRoZSAyMHRoIGNlbnR1cnksIHRoYXQgYmVpbmcgdGhlIGRlbGljYXRlIGJhbGFuY2UgYmV0d2VlbiByZWFsaXNtIGFuZCBleHByZXNzaW9uaXNtLiBXaGlsc3QgYmlnLWJyYWluZWQgZmlsbSBjcml0aWNzIGxpa2UgQW5kcsOpIEJhemluIHdlcmUgYXJndWluZyBhYm91dCB0aGUgbWVyaXRzIG9mIGNpbmVtYeKAmXMgZ3JhbmRlciBwdXJwb3NlIGFzIGEgdG9vbCBmb3IgcmVhbGlzbSBvciBwdXJlIGV4cHJlc3Npb25pc20sIHRoZSBkZWJhdGUgb3ZlciBzb3VuZCBkZXNpZ24gd2FzIGFsbCBidXQgc2V0dGxlZC4gQSBjb3VwbGUgb2YgZGVjYWRlcyBvZiBiZWluZyBleHBvc2VkIHRvIGZvbGV5IHNvdW5kcyBoYWQgY29uZGl0aW9uZWQgYXVkaWVuY2VzIHRvIGV4cGVjdCBtb3JlIGV4cHJlc3NpdmUgc291bmRzLCB3aXRoIHJlYWxpc20gcmVsZWdhdGVkIHRvIHRoZSBzdGF0dXMgb2YgYSBzdXBwb3J0aW5nIHBsYXllci48L3A+CgoKCjxwPkFmdGVyIGFsbCwgdGhlIHNjcmFwaW5nIHNvdW5kIGFzIEVycm9sIEZseW5uIGFuZCBCYXNpbCBSYXRoYm9uZSB1bnNoZWF0aGUgdGhlaXIgYmxhZGVzIGluIDE5MzXigJlzIDxlbT5DYXB0YWluIEJsb29kPC9lbT4gbWF5IGJlYXIgbGl0dGxlIHJlc2VtYmxhbmNlIHRvIHJlYWxpdHkgKHNjYWJiYXJkcyB3ZXJlIG9mdGVuIGxpbmVkIHdpdGggc29mdCBtYXRlcmlhbCB0byBwcmV2ZW50IGJsYWRlLWR1bGxpbmcgc2NyYXBpbmcpLCBidXQgaXQgY2VydGFpbmx5IGdldHMgdGhlIGJsb29kIHB1bXBpbmcgYXMgdGhlIHR3byBIb2xseXdvb2QgaWNvbnMgcHJlcGFyZSB0byBkdWVsLjwvcD4KCgoKPHA+VGhlIGV4cHJlc3NpdmUgbmF0dXJlIG9mIGZvbGV5IHNvdW5kIGhhZCBiZWNvbWUgaW52YWx1YWJsZSB0byB0aGUgY2luZW1hdGljIGV4cGVyaWVuY2UgYXMgYSB3aG9sZSwgYWRkaW5nIHRvIHRoZSBpbWFnZXMgZW1ibGF6b25pbmcgdGhlIHNjcmVlbiB0byBjcmVhdGUgdGhhdCBtYWdpY2FsIG1vdmllIGZlZWwuIOKAnEJ5IG1lYW5zIG9mIHNvbWUgbXlzdGVyaW91cyBwZXJjZXB0dWFsIGFsY2hlbXks4oCdIGFzIHRoZSBsZWdlbmRhcnkgc291bmQgZWRpdG9yIFdhbHRlciBNdXJjaCBvbmNlIHB1dCBpdCwg4oCcd2hhdGV2ZXIgdmlydHVlcyBzb3VuZCBicmluZ3MgdG8gZmlsbSBhcmUgbGFyZ2VseSBwZXJjZWl2ZWQgYW5kIGFwcHJlY2lhdGVkIGJ5IHRoZSBhdWRpZW5jZSBpbiB2aXN1YWwgdGVybXMuIFRoZSBiZXR0ZXIgdGhlIHNvdW5kLCB0aGUgYmV0dGVyIHRoZSBpbWFnZS7igJ08L3A+CgoKCjxwPjxzdHJvbmc+Rm9sbG93aW5nIGZvb3RzdGVwczwvc3Ryb25nPjwvcD4KCgoKPHA+VGhlIGZvbGxvd2luZyBkZWNhZGVzIHdvdWxkIGZ1cnRoZXIgcHJvdmUgdGhhdCBmb2xleSB3YXMgaW5kZWVkIGNvbnNpZGVyZWQgYXMgw5RiZXR0ZXIgc291bmTigJkgYW5kIHRoZSBhcnQgZm9ybSB3b3VsZCBkZXZlbG9wIGluIGl0cyBwZXJmb3JtYW5jZSwgdGV4dHVyaW5nIGFuZCBpbnZlbnRpdmVuZXNzLiBFdmVuIHJlY29yZGluZyBhIHNvdW5kIGFzIGNvbW1vbnBsYWNlIGFzIGZvb3RzdGVwcyBiZWNvbWVzIGEgdmVyeSBzZXJpb3VzIG1hdHRlciBpbiB0aGUgaGFuZHMgb2YgYSBmb2xleSBhcnRpc3QuPC9wPgoKCgo8cD5JbiBoZXIgZXhjZWxsZW50IGJvb2ssIDxlbT5UaGUgRm9sZXkgR3JhaWw6IFRoZSBBcnQgT2YgUGVyZm9ybWluZyBTb3VuZCBGb3IgRmlsbSwgR2FtZXMsIEFuZCBBbmltYXRpb248L2VtPiwgVmFuZXNzYSBUaGVtZSBBbWVudCBkaXNjdXNzZXMgdGhlIGFydCBvZiByZWNvcmRpbmcgZm9vdHN0ZXBzIG9uIG5vIGxlc3MgdGhhbiA2MiBzZXBhcmF0ZSBvY2Nhc2lvbnMsIGluY2x1ZGluZyByZXZpZXdpbmcgaG93IGZvbGV5IGZvb3RzdGVwcyBoYXZlIGV2b2x2ZWQgb3ZlciB0aGUgZGVjYWRlcywgYW5kIG1vcnBoZWQgaW4gc3R5bGUgdG8gcmVmbGVjdCBhdWRpZW5jZSBleHBlY3RhdGlvbnMuPC9wPgoKCgo8cD7igJxUaGUgc3R5bGUgb2YgZm9vdHN0ZXBzIGlzIHN0cmlraW5nIGJ5IHRvZGF54oCZcyBjaW5lbWF0aWMgc3RhbmRhcmRzLOKAnSBzaGUgd3JpdGVzLCByZWZsZWN0aW5nIG9uIGZvbGV5IHdvcmsgc2hlIGhhcyBhbmFseXNlZCBmcm9tIGRlY2FkZXMgcGFzdC4g4oCcVGhlcmUgd2FzIGFuIGFydGlmaWNpYWxpdHkgdG8gdGhlIHRyYWNrIHRoYXQgd2FzIHRvdGFsbHkgYWNjZXB0YWJsZSB0byB0aGUgdGFzdGUgYW5kIGdlbnJlIG9mIHRoZSAxOTUwcy7igJ08L3A+CgoKCjxwPlRoZSAxOTc3IGZpbG0gPGVtPkNhYmFyZXQ8L2VtPiBvZmZlcnMgb25lIGdyZWF0IGV4YW1wbGUgb2YgaG93IGZvbGV5IGZvb3RzdGVwcyBjYW4gc3VidGx5IGVuaGFuY2UgdGhlIGNyZWF0aXZlIHB1cnBvc2Ugb2YgYSBzZXF1ZW5jZSwgYWxsIHdpdGhvdXQgYW4gYXVkaWVuY2UgZXZlciByZWFsaXNpbmcgaG93IHN1Y2ggYW1iaWVudCBzb3VuZCBjYW4gYmUgcXVpZXRseSByZXdpcmluZyB0aGVpciB1bmRlcnN0YW5kaW5nIG9mIGEgc2VxdWVuY2UuIEFzIExpemEgTWlubmVsbGkgYW5kIEpvZWwgR3JleSBwZXJmb3JtIHRoZWlyIGxpdmUgdmVyc2lvbiBvZiA8ZW0+TW9uZXk8L2VtPiBvbiBhIEJlcmxpbiBzdGFnZSwgdGhlIGZpbG3igJlzIHNvdW5kIGRlc2lnbiBhZGRzIGluIHRoZSBiYXJlbHkgYXVkaWJsZSBzb3VuZCBvZiBmb290c3RlcHMgYXMgdGhlIGR1byBtb3ZlIGFjcm9zcyB0aGUgc3RhZ2UuPC9wPgoKCgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI0NTAiIHNyYz0iaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvY2FiYXJldC04MDB4NDUwLmpwZyIgYWx0PSJDYWJhcmV0IiBjbGFzcz0id3AtaW1hZ2UtOTU0MDAiIHNyY3NldD0iaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvY2FiYXJldC04MDB4NDUwLndlYnAgODAwdywgaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvY2FiYXJldC0zMDB4MTY5LndlYnAgMzAwdywgaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvY2FiYXJldC5qcGcgMTAwMHciIHNpemVzPSJhdXRvLCAobWF4LXdpZHRoOiA4MDBweCkgMTAwdncsIDgwMHB4IiAvPjxmaWdjYXB0aW9uIGNsYXNzPSJ3cC1lbGVtZW50LWNhcHRpb24iPkNhYmFyZXQgKDIwdGggQ2VudHVyeSBTdHVkaW9zKTwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KCgoKPHA+VGhlc2UgYXJlbuKAmXQgdGhlIHByb21pbmVudCBraW5kIG9mIGZvb3RzdGVwcyB0aGF0IHlvdeKAmWQgaGVhciBmb3JlZ3JvdW5kZWQgaW4gYSBGcmVkIEFzdGFpcmUgdGFwIHJvdXRpbmUsIHJhdGhlciBhIGZlYXR1cmUgdGhhdOKAmXMgbGF5ZXJlZCB3aXRoaW4gdGhlIHNlcXVlbmNl4oCZcyB3aWRlciBzb3VuZCBkZXNpZ24gc28gdGhhdCBhdCBzb21lIHBvaW50cywgeW91IGNhbiBiYXJlbHkgaGVhciBpdCBvdmVyIHRoZSB2b2NhbHMsIHRoZSBtdXNpYyBhbmQgdGhlIGFtYmllbnQgc291bmQgb2YgdGhlIGF1ZGllbmNlLjwvcD4KCgoKPHA+SG93ZXZlciwgaW4gY29tYmluYXRpb24gd2l0aCB3aWRlIHNob3RzIHRoYXQgc2hvdyB0aGUgYmFjayBvZiB0aGUgYXVkaWVuY2XigJlzIGhlYWRzIGFuZCB0aGUgb2NjYXNpb25hbCBwYXNzaW5nIHdhaXRyZXNzIGJyaWVmbHkgYmxvY2tpbmcgdGhlIGZvcmVncm91bmQgb2YgdGhlIGZyYW1lLCBpdCBjb250cmlidXRlcyB0byBhIHN1YmNvbnNjaW91c2x5IHRhY3RpbGUgdG9uZSB0aGF0IHBsYWNlcyB0aGUgYXVkaWVuY2UgcmlnaHQgdGhlcmUgaW4gdGhlIHNjZW5lLjwvcD4KCgoKPHA+VGhlIGZvbGV5IGFydGlzdCBvbiBDYWJhcmV0IGlzbuKAmXQgY3JlZGl0ZWQgaW4gdGhlIGZpbG3igJlzIGVuZCB0aXRsZXMgKGEgY3JlZGl0IHNpbXBseSB0aXRsZWQg4oCYc291bmTigJkgZ29lcyB0byBEYXZpZCBIaWxkeWFyZCwgYSBzb3VuZCBtaXhlciBvZiB0aGF0IGVyYSkuIEFzIHN1Y2gsIHRoZSBhcnRpc3QgdGhhdCB3b3VsZCBoYXZlIGhhZCB0byBkZWZ0bHkgYW5kIHBhaW5zdGFraW5nbHkgcmV0cmFjZSBNaW5uZWxsaSBhbmQgR3JleeKAmXMgc3RlcHMgYWNyb3NzIHRoZSBzdGFnZSBoYXMgYmVlbiBsb3N0IHRvIHRpbWUuIFRoYXQgc2VlbXMgdG8gYmUgdGhlIGxvdCBvZiB0aGUgZm9sZXkgYXJ0aXN0LCB0aG91Z2g6IGFuIHVuc3VuZyBtZW1iZXIgb2YgYW55IGZpbG0gcHJvZHVjdGlvbiB3aG9zZSB3b3JrLCB3aGVuIGRvbmUgd2VsbCwgcmVuZGVycyB0aGVtIGludmlzaWJsZS48L3A+CgoKCjxwPjxzdHJvbmc+QW4gYWxpZW4gdHVtdWx0PC9zdHJvbmc+PC9wPgoKCgo8cD5Tb21ldGltZXMgdGhvdWdoLCBmb2xleSBhcnRpc3RzIGFyZSBmYWNlZCB3aXRoIHdoYXQgc2VlbXMgbGlrZSB0aGUgaW1wb3NzaWJsZTogY3JlYXRlIGEgc291bmQgdGhhdCBkb2VzbuKAmXQgZXhpc3QgYW5kIGZpdCBpdCB3aXRoaW4gYSB3b3JsZCBvZiBzb3VuZHMgdGhhdCBkby4gSXTigJlzIGEgcGlja2xlIHRoYXQgQW1lbnQgY29uc2lkZXJzIGluIDxlbT5UaGUgRm9sZXkgR3JhaWw8L2VtPiB3aGVuIHNoZSBub3RlcyBob3cgbWFueSBkaXJlY3RvcnMgZGVtYW5kIOKAmHNvdW5kIHRoYXQgaGFzIG5ldmVyIGJlZW4gaGVhcmQgYmVmb3Jl4oCZIHRvIHNldCB0aGVpciBmaWxtcyBhcGFydC4gSW4gMTk4N+KAmXMgPGVtPlByZWRhdG9yPC9lbT4sIEFtZW50IGZvdW5kIGhlcnNlbGYgcGVyZm9ybWluZyB0aGUgZm9vdHN0ZXBzIG9mIHRoZSBhbGllbiBodW50ZXIgd2l0aG91dCBrbm93aW5nIHdoYXQgdGhlIGNyZWF0dXJlIGxvb2tlZCBsaWtlLCBpbml0aWFsbHkgdGFraW5nIGhlciBjdWVzIGZyb20gYSBsZW90YXJkLWNsYWQgYWN0b3IgaW4gdGhlIGZvb3RhZ2Ugc2hlIHdhcyBzZW50LjwvcD4KCgoKPHA+RXZlbnR1YWxseSwgQW1lbnTigJlzIGxpdGhlbmVzcyBvZiBwZXJmb3JtYW5jZSB3YXMgbWl4ZWQgd2l0aCBhIGhlYXZpZXIgc291bmQgdG8gY3JlYXRlIHRoZSBpbXByZXNzaW9uIG9mIHBvd2VyIGFuZCBncmFjZWZ1bG5lc3MgdGhhdCB0aGUgY3JlYXR1cmUgcG9zc2Vzc2VkLCB0aGUgY29tYmluYXRpb24gb2YgcmVhbCBwZXJmb3JtYW5jZSBzZXJ2aW5nIHRvIHJvb3Qgc291bmQgZGVzaWduIGluIHJlYWxpdHkuIEl04oCZcyBhbiBhcHByb2FjaCB0aGF0IERhdmlkIFN0b25lLCA8ZW0+UHJlZGF0b3I8L2VtPuKAmXMgc3VwZXJ2aXNpbmcgc291bmQgZWZmZWN0cyBlZGl0b3IgdHJpZWQgdG8gaW5jb3Jwb3JhdGUgd2l0aCB0aGUgZmlsbeKAmXMgd2lkZXIgbWl4OiB0aGUgY3JlYXR1cmXigJlzIHNpZ25hdHVyZSBzaG91bGRlci1tb3VudGVkIHBsYXNtYSBjYW5ub24gdXNlZCBtYW51ZmFjdHVyZWQgZWZmZWN0cyBmb3IgdGhlIGFsaWVuIHdlYXBvbiwgYnV0IFN0b25lIHN0aWxsIGZvdW5kIGhpbXNlbGYgcm9vdGluZyBpdCB0aHJvdWdoIHRoZSB1c2Ugb2YgQW1lbnTigJlzIGZvbGV5IHdvcmsuPC9wPgoKCgo8cD7igJxJdCBoYWQgdG8gc291bmQgbGlrZSBpdCB3YXMgbW92ZWQgYnkgbWFnaWMs4oCdIGhlIGV4cGxhaW5lZC4g4oCcU28gb24gdGhlIGZhci1hd2F5IHNob3RzIHdlIGp1c3QgdXNlZCBKb2huIFBvc3Bpc2ls4oCZcyBbZGVzaWduZWQgZWZmZWN0c10gd29yay4gQnV0IGluIHRoZSBjbG9zZS11cHMsIHdlIGNvbWJpbmVkIGl0IHdpdGggZm9sZXkgYmVjYXVzZSBpdCBuZWVkZWQgbW9yZSBzcGVjaWZpYyBhY3Rpb25zLiBNeSBpbmNsaW5hdGlvbiBpcyB0byB1c2UgZm9sZXkgdG8gYW5jaG9yIHRoaW5ncyBsaWtlIHRoYXQgaW4gcmVhbGl0eS7igJ08L3A+CgoKCjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2UiPjxpbWcgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjQ1MCIgc3JjPSJodHRwczovL3NwYWNlcy5zdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrL3VwbG9hZHMvMjAyNC8xMi9wcmVkYXRvci0xOTg3LTgwMHg0NTAuanBnIiBhbHQ9InByZWRhdG9yIiBjbGFzcz0id3AtaW1hZ2UtOTU0MDEiIHNyY3NldD0iaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvcHJlZGF0b3ItMTk4Ny04MDB4NDUwLndlYnAgODAwdywgaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvcHJlZGF0b3ItMTk4Ny0zMDB4MTY5LndlYnAgMzAwdywgaHR0cHM6Ly9zcGFjZXMuc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTIvcHJlZGF0b3ItMTk4Ny5qcGcgMTUwMHciIHNpemVzPSJhdXRvLCAobWF4LXdpZHRoOiA4MDBweCkgMTAwdncsIDgwMHB4IiAvPjxmaWdjYXB0aW9uIGNsYXNzPSJ3cC1lbGVtZW50LWNhcHRpb24iPlByZWRhdG9yIChDcmVkaXQ6IDIwdGggQ2VudHVyeSBTdHVkaW9zKTwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KCgoKPHA+SXQgYWxsIG1ha2VzIHNlbnNlLCB0aG91Z2guIFRoZSBmaWxt4oCZcyBwdW5jaGVzIGFyZSB0aGUgbW9zdCB2aXNjZXJhbCBzb3VuZHMgaW4gYW4gaW1wZWNjYWJseSBkZXNpZ25lZCBzb3VuZHNjYXBlLCBidXQgd2hlbiB5b3UgY29uc2lkZXIgdGhhdCB0aGVzZSBicmF3bHMgYXJlIHRoZSBvbmx5IHRoaW5ncyB0aGF0IG1ha2UgdGhlIGZpbG3igJlzIGNoYXJhY3RlcnMgZmVlbCBhbGl2ZSwgdGhlIGZvbGV5IGFydGlzdHJ5IHVuZGVyc2NvcmVzIHRoYXQgaWRlYSBjb21wbGV0ZWx5LiBMaWtld2lzZSwgMTk4OOKAmXMgPGVtPkRpZSBIYXJkPC9lbT4gZm91bmQgVmFuZXNzYSBUaGVtZSBBbWVudCBoYXZpbmcgdG8gcGVyZm9ybSB0aGUgYmFyZS1mb290ZWQgZm9vdHN0ZXBzIG9mIHRoZSBmaWxt4oCZcyBoZXJvLCBKb2huIE1jQ2xhbmUsIOKAnHdpdGggbW9yZSB3ZWlnaHQgYW5kIGVtcGhhc2lzIHRoYW4gaWYgSSBoYWQgYSBzaG9lIG9uLuKAnTwvcD4KCgoKPHA+QW1lbnQgYW5kIGZlbGxvdyBmb2xleSBhcnRpc3QgUm9iaW4gSGFybGFuIGF1ZGl0aW9uZWQgbWFueSBwYWlycyBvZiBzaG9lcyBmb3IgSGFucyBHcnViZXIsIHRoZSBmaWxt4oCZcyBhbnRhZ29uaXN0LCBub3RpbmcgdGhhdCB0aGV5IGZpbmFsbHkg4oCcc2VsZWN0ZWQgYSBnb3JnZW91cy4gc291bmRpbmcgcGFpciBvZiBzaG9lcyB0aGF0IGhhZCBhIHJpY2ggYW5kIGF1dGhvcml0YXJpYW4gc291bmQuIFtHcnViZXJdIHdhcyB0aGUgYm9zcyBvZiB0aGUgd2hvbGUgb3BlcmF0aW9uLCBhbmQgaGUgbmVlZGVkIHRvIHNvdW5kIOKAmGluIGNoYXJnZeKAmS7igJ08L3A+CgoKCjxwPkFzIHdpdGggPGVtPkZpZ2h0IENsdWI8L2VtPiwgdGhlc2UgY2FyZWZ1bGx5IHBlcmZvcm1lZCBjb250cmFzdGluZyBzb3VuZHMgZG8gbW9yZSB0aGFuIGp1c3QgZGlzdGluZ3Vpc2ggdGhlIHR3byBjaGFyYWN0ZXJz4oCZIG1hbm5lciBvZiB3YWxraW5nLiBUaGV5IGVtcGhhc2lzZSB0aGUgcG93ZXIgZHluYW1pYyBiZXR3ZWVuIHRoZW0sIHJhaXNpbmcgdGhlIG5hcnJhdGl2ZSBzdGFrZXMgYW5kIGVzdGFibGlzaGluZyBlYWNoIGNoYXJhY3RlcuKAmXMgYXJjaGV0eXBlOiB0aGUgZGVzcGVyYXRlLCB1bnByZXBhcmVkIGhlcm8gZmFjaW5nIG9mZiBhZ2FpbnN0IHRoZSBzbGljayBhbmQgY3VubmluZyB2aWxsYWluLiBFdmVyeSBmb2xleSBhcnRpc3Qga25vd3MgdGhhdCBmb290c3RlcHMgYXJlIG5ldmVyIGp1c3QgZm9vdHN0ZXBzLiBJdOKAmXMgd2h5IHNvIG1hbnkgb2YgdGhlbSBoYXZlIGEgd2hvbGUgcm9vbSBmdWxsIG9mIGRpZmZlcmVudCBzaG9lcyBmb3IgZXZlcnkgcG9zc2libGUgb2NjYXNpb24uPC9wPgoKCgo8cD48c3Ryb25nPlNvdW5kIHByb2dyZXNzPzwvc3Ryb25nPjwvcD4KCgoKPHA+V2hpbHN0IHRoZSBvcmlnaW5zIG9mIGZvbGV5IHdvcmsgbWF5IGhhdmUgYmVlbiByb290ZWQgaW4gdGhlIHdpbGQgZGF5cyBvZiBlYXJseSBIb2xseXdvb2QgaW52ZW50aXZlbmVzcywgdGhlIGNvbGQgYWxnb3JpdGhtcyBvZiBtYWNoaW5lIGxlYXJuaW5nIGNvdWxkIHdlbGwgcGxheSBhIHBhcnQgaW4gdGhlIGFydCBmb3Jt4oCZcyBmdXR1cmUuIFdoaWxzdCBubyBtYWNoaW5lIGlzIGFibGUgdG8gY3JlYXRlIHdpdGggdGhlIHNhbWUgaW5nZW51aXR5IGFzIGEgaHVtYW4gZm9sZXkgYXJ0aXN0LCBtYWNoaW5lIGxlYXJuaW5nIGNvdWxkIHNwZWVkIHVwIG1hbnkgb2YgdGhlIHByb2Nlc3NlcyB0aGF0IHVuZGVycGluIHRoZWlyIHdvcmsuIFNldmVyYWwgc3R1ZGllcyBoYXZlIHNob3duIG92ZXIgdGhlIHBhc3QgZmV3IHllYXJzIHRoYXQgaHVtYW5zIGNhbiBzdHJ1Z2dsZSB0byB0ZWxsIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBmb2xleSBzb3VuZCBjcmVhdGVkIGJ5IGEgaHVtYW4gYW5kIG9uZSB0aGF0IGlzIGNyZWF0ZWQgYnkgYSBjb21wdXRlciDigJgtIGFuZCB2YXJpb3VzIHBpZWNlcyBvZiBzb2Z0d2FyZSBhcmUgbm93IGF2YWlsYWJsZSB0byBlYXNlIHRoZSBwcm9jZXNzIG9mIHN5bmNpbmcgc291bmQuPC9wPgoKCgo8cD5Ib3dldmVyLCB3b3VsZCBhIGNvbXB1dGVyIGZpZ3VyZSBvdXQgdGhhdCB5b3UgY2FuIHJlcGxpY2F0ZSB0aGUgc291bmQgb2YgYSBnaWFudCBib3VsZGVyIHR1bWJsaW5nIGFmdGVyIGEgZmxlZWluZyBhcmNoYWVvbG9naXN0IGJ5IHJvbGxpbmcgYSBjYXIgZG93biBhIGhpbGwgd2l0aG91dCB0aGUgbW90b3IgcnVubmluZz8gV2UgZG9u4oCZdCB0aGluayBzby4gQ291bGQgYSBtYWNoaW5lIGRlY2lkZSB0byBtaXggdGhlIG1vdmVtZW50IG9mIHBhY2thZ2VkIGxpdmVyIHdpdGggamVsbHkgYW5kIHBvcGNvcm4gdG8gY3JlYXRlIHRoZSBzb25nIG9mIEUuVC4gbW92aW5nPyBBZ2FpbiwgdGhhdOKAmXMgbGlrZWx5IGEgbm8uIEFzIGxvbmcgYXMgaHVtYW4gaW52ZW50aXZlbmVzcyBpc27igJl0IHN1cGVyc2VkZWQgYnkgbWFjaGluZXMsIHRoZXJl4oCZcyBhbHdheXMgZ29pbmcgdG8gYmUgYSBuZWVkIGZvciB0aGUgZm9sZXkgYXJ0aXN0cyBhbmQgdGhlaXIgbWFueSwgbWFueSBwYWlycyBvZiBzaG9lcy48L3A+CjxkaXYgY2xhc3M9ImFkZHRvYW55X3NoYXJlX3NhdmVfY29udGFpbmVyIGFkZHRvYW55X2NvbnRlbnQgYWRkdG9hbnlfY29udGVudF9ib3R0b20iPjxkaXYgY2xhc3M9ImFkZHRvYW55X2hlYWRlciI+U2hhcmUgdGhpcyBBcnRpY2xlOjwvZGl2PjxkaXYgY2xhc3M9ImEyYV9raXQgYTJhX2tpdF9zaXplXzMyIGFkZHRvYW55X2xpc3QiIGRhdGEtYTJhLXVybD0iaHR0cHM6Ly9zdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL2ZvdW5kLXNvdW5kcy10aGUtc2hvZS1zdGFja2VkLWhpc3Rvcnktb2YtZm9sZXktYXJ0aXN0cy8iIGRhdGEtYTJhLXRpdGxlPSJGb3VuZCBzb3VuZHMgfCBUaGUgc2hvZS1zdGFja2VkIGhpc3Rvcnkgb2YgRm9sZXkgYXJ0aXN0cyI+PGEgY2xhc3M9ImEyYV9idXR0b25fZmFjZWJvb2siIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZmFjZWJvb2s/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmZvdW5kLXNvdW5kcy10aGUtc2hvZS1zdGFja2VkLWhpc3Rvcnktb2YtZm9sZXktYXJ0aXN0cyUyRiZhbXA7bGlua25hbWU9Rm91bmQlMjBzb3VuZHMlMjAlN0MlMjBUaGUlMjBzaG9lLXN0YWNrZWQlMjBoaXN0b3J5JTIwb2YlMjBGb2xleSUyMGFydGlzdHMiIHRpdGxlPSJGYWNlYm9vayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2J1dHRvbl90d2l0dGVyIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL3R3aXR0ZXI/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmZvdW5kLXNvdW5kcy10aGUtc2hvZS1zdGFja2VkLWhpc3Rvcnktb2YtZm9sZXktYXJ0aXN0cyUyRiZhbXA7bGlua25hbWU9Rm91bmQlMjBzb3VuZHMlMjAlN0MlMjBUaGUlMjBzaG9lLXN0YWNrZWQlMjBoaXN0b3J5JTIwb2YlMjBGb2xleSUyMGFydGlzdHMiIHRpdGxlPSJUd2l0dGVyIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2VtYWlsIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2VtYWlsP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZzdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZmb3VuZC1zb3VuZHMtdGhlLXNob2Utc3RhY2tlZC1oaXN0b3J5LW9mLWZvbGV5LWFydGlzdHMlMkYmYW1wO2xpbmtuYW1lPUZvdW5kJTIwc291bmRzJTIwJTdDJTIwVGhlJTIwc2hvZS1zdGFja2VkJTIwaGlzdG9yeSUyMG9mJTIwRm9sZXklMjBhcnRpc3RzIiB0aXRsZT0iRW1haWwiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9kZCBhZGR0b2FueV9zaGFyZV9zYXZlIGFkZHRvYW55X3NoYXJlIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vc2hhcmUiPjwvYT48L2Rpdj48L2Rpdj4=