Ahead of 2001: A Space Odyssey's anniversary, we look at special effects genius Douglas Trumbull’s contribution to the film – and how it helped build his reputation as a filmmaking genius in his own right.
This article originally appeared in Film Stories issue 41 in March 2023.
Douglas Trumbull was just 23 years old when he found himself sitting on a plane heading across the Atlantic to the UK set of 2001: A Space Odyssey in the summer of 1965. Despite a lack of feature film credits to his name, this young background artist and animator had managed to get a job on one of the biggest film productions of the 1960s.
Exactly how this happened was partly down to serendipity: just a few months earlier, director Stanley Kubrick and sci-fi author Arthur C Clarke had been in the audience for To The Moon And Beyond, a short film about space travel that used 70mm film projected onto a 96ft-tall, domed screen. It was one of the key attractions of the New York World’s Fair, and its immersive depiction of stars and planets chimed with the film Kubrick and Clarke were collaborating on – initially called Journey To The Stars. Impressed, Kubrick invited the team behind the short, Graphic Films, to illustrate a series of storyboards for his movie.
Ultimately, Kubrick’s broader deal with Graphic Films fell apart when the director shifted production from the US to the UK – where he would move to, and produce all his films going forward – but Trumbull’s illustrative work, which he regularly sent to Kubrick, clearly impressed the director; by August 1965, both Trumbull and Con Pederson, another Graphic Films team member, were winging their way to MGM Studios in Borehamwood.
PGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X3RvcCI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL3N0YWdpbmcuZmlsbXN0b3JpZXMuY28udWsvZmVhdHVyZXMvZG91Z2xhcy10cnVtYnVsbHMtc3BhY2Utb2R5c3NleS10aGUtc2Z4LWdlbml1cy1iZWhpbmQtMjAwMS8iIGRhdGEtYTJhLXRpdGxlPSJEb3VnbGFzIFRydW1idWxs4oCZcyBTcGFjZSBPZHlzc2V5IHwgVGhlIFNGWCBnZW5pdXMgYmVoaW5kIDIwMDEiPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2ZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2ZhY2Vib29rP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZzdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZkb3VnbGFzLXRydW1idWxscy1zcGFjZS1vZHlzc2V5LXRoZS1zZngtZ2VuaXVzLWJlaGluZC0yMDAxJTJGJmFtcDtsaW5rbmFtZT1Eb3VnbGFzJTIwVHJ1bWJ1bGwlRTIlODAlOTlzJTIwU3BhY2UlMjBPZHlzc2V5JTIwJTdDJTIwVGhlJTIwU0ZYJTIwZ2VuaXVzJTIwYmVoaW5kJTIwMjAwMSIgdGl0bGU9IkZhY2Vib29rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX3R3aXR0ZXIiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vdHdpdHRlcj9saW5rdXJsPWh0dHBzJTNBJTJGJTJGc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGZG91Z2xhcy10cnVtYnVsbHMtc3BhY2Utb2R5c3NleS10aGUtc2Z4LWdlbml1cy1iZWhpbmQtMjAwMSUyRiZhbXA7bGlua25hbWU9RG91Z2xhcyUyMFRydW1idWxsJUUyJTgwJTk5cyUyMFNwYWNlJTIwT2R5c3NleSUyMCU3QyUyMFRoZSUyMFNGWCUyMGdlbml1cyUyMGJlaGluZCUyMDIwMDEiIHRpdGxlPSJUd2l0dGVyIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2VtYWlsIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2VtYWlsP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZzdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZkb3VnbGFzLXRydW1idWxscy1zcGFjZS1vZHlzc2V5LXRoZS1zZngtZ2VuaXVzLWJlaGluZC0yMDAxJTJGJmFtcDtsaW5rbmFtZT1Eb3VnbGFzJTIwVHJ1bWJ1bGwlRTIlODAlOTlzJTIwU3BhY2UlMjBPZHlzc2V5JTIwJTdDJTIwVGhlJTIwU0ZYJTIwZ2VuaXVzJTIwYmVoaW5kJTIwMjAwMSIgdGl0bGU9IkVtYWlsIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfZGQgYWRkdG9hbnlfc2hhcmVfc2F2ZSBhZGR0b2FueV9zaGFyZSIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL3NoYXJlIj48L2E+PC9kaXY+PC9kaXY+CjxwPjxzdHJvbmc+QWhlYWQgb2YgPGVtPjIwMDE6IEEgU3BhY2UgT2R5c3NleTwvZW0+J3MgYW5uaXZlcnNhcnksIHdlIGxvb2sgYXQgc3BlY2lhbCBlZmZlY3RzIGdlbml1cyBEb3VnbGFzIFRydW1idWxs4oCZcyBjb250cmlidXRpb24gdG8gdGhlIGZpbG0g4oCTIGFuZCBob3cgaXQgaGVscGVkIGJ1aWxkIGhpcyByZXB1dGF0aW9uIGFzIGEgZmlsbW1ha2luZyBnZW5pdXMgaW4gaGlzIG93biByaWdodDwvc3Ryb25nPi48L3A+CgoKCjxociBjbGFzcz0id3AtYmxvY2stc2VwYXJhdG9yIGhhcy1hbHBoYS1jaGFubmVsLW9wYWNpdHkiLz4KCgoKPHA+PGVtPlRoaXMgYXJ0aWNsZSBvcmlnaW5hbGx5IGFwcGVhcmVkIGluIEZpbG0gU3RvcmllcyBpc3N1ZSA0MSBpbiBNYXJjaCAyMDIzLjwvZW0+PC9wPgoKCgo8cD5Eb3VnbGFzIFRydW1idWxsIHdhcyBqdXN0IDIzIHllYXJzIG9sZCB3aGVuIGhlIGZvdW5kIGhpbXNlbGYgc2l0dGluZyBvbiBhIHBsYW5lIGhlYWRpbmcgYWNyb3NzIHRoZSBBdGxhbnRpYyB0byB0aGUgVUsgc2V0IG9mIDxlbT4yMDAxOiBBIFNwYWNlIE9keXNzZXk8L2VtPiBpbiB0aGUgc3VtbWVyIG9mIDE5NjUuIERlc3BpdGUgYSBsYWNrIG9mIGZlYXR1cmUgZmlsbSBjcmVkaXRzIHRvIGhpcyBuYW1lLCB0aGlzIHlvdW5nIGJhY2tncm91bmQgYXJ0aXN0IGFuZDxzdHJvbmc+IDwvc3Ryb25nPmFuaW1hdG9yIGhhZCBtYW5hZ2VkIHRvIGdldCBhIGpvYiBvbiBvbmUgb2YgdGhlIGJpZ2dlc3QgZmlsbSBwcm9kdWN0aW9ucyBvZiB0aGUgMTk2MHMuPC9wPgoKCgo8cD5FeGFjdGx5IGhvdyB0aGlzIGhhcHBlbmVkIHdhcyBwYXJ0bHkgZG93biB0byBzZXJlbmRpcGl0eToganVzdCBhIGZldyBtb250aHMgZWFybGllciwgZGlyZWN0b3IgU3RhbmxleSBLdWJyaWNrIGFuZCBzY2ktZmkgYXV0aG9yIEFydGh1ciBDIENsYXJrZSBoYWQgYmVlbiBpbiB0aGUgYXVkaWVuY2UgZm9yIDxlbT5UbyBUaGUgTW9vbiBBbmQgQmV5b25kPC9lbT4sIGEgc2hvcnQgZmlsbSBhYm91dCBzcGFjZSB0cmF2ZWwgdGhhdCB1c2VkIDcwbW0gZmlsbSBwcm9qZWN0ZWQgb250byBhIDk2ZnQtdGFsbCwgZG9tZWQgc2NyZWVuLiBJdCB3YXMgb25lIG9mIHRoZSBrZXkgYXR0cmFjdGlvbnMgb2YgdGhlIE5ldyBZb3JrIFdvcmxk4oCZcyBGYWlyLCBhbmQgaXRzIGltbWVyc2l2ZSBkZXBpY3Rpb24gb2Ygc3RhcnMgYW5kIHBsYW5ldHMgY2hpbWVkIHdpdGggdGhlIGZpbG0gS3VicmljayBhbmQgQ2xhcmtlIHdlcmUgY29sbGFib3JhdGluZyBvbiDigJMgaW5pdGlhbGx5IGNhbGxlZCA8ZW0+Sm91cm5leSBUbyBUaGUgU3RhcnM8L2VtPi4gSW1wcmVzc2VkLCBLdWJyaWNrIGludml0ZWQgdGhlIHRlYW0gYmVoaW5kIHRoZSBzaG9ydCwgR3JhcGhpYyBGaWxtcywgdG8gaWxsdXN0cmF0ZSBhIHNlcmllcyBvZiBzdG9yeWJvYXJkcyBmb3IgaGlzIG1vdmllLjwvcD4KCgoKPHA+VWx0aW1hdGVseSwgS3Vicmlja+KAmXMgYnJvYWRlciBkZWFsIHdpdGggR3JhcGhpYyBGaWxtcyBmZWxsIGFwYXJ0IHdoZW4gdGhlIGRpcmVjdG9yIHNoaWZ0ZWQgcHJvZHVjdGlvbiBmcm9tIHRoZSBVUyB0byB0aGUgVUsg4oCTIHdoZXJlIGhlIHdvdWxkIG1vdmUgdG8sIGFuZCBwcm9kdWNlIGFsbCBoaXMgZmlsbXMgZ29pbmcgZm9yd2FyZCDigJMgYnV0IFRydW1idWxs4oCZcyBpbGx1c3RyYXRpdmUgd29yaywgd2hpY2ggaGUgcmVndWxhcmx5IHNlbnQgdG8gS3VicmljaywgY2xlYXJseSBpbXByZXNzZWQgdGhlIGRpcmVjdG9yOyBieSBBdWd1c3QgMTk2NSwgYm90aCBUcnVtYnVsbCBhbmQgQ29uIFBlZGVyc29uLCBhbm90aGVyIEdyYXBoaWMgRmlsbXMgdGVhbSBtZW1iZXIsIHdlcmUgd2luZ2luZyB0aGVpciB3YXkgdG8gTUdNIFN0dWRpb3MgaW4gQm9yZWhhbXdvb2QuPC9wPgoKCgo8c3BhbiBpZD0ibW9yZS05NTc5NyI+PC9zcGFuPgoKCgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIGlkPSJoLXN0YXJ0aW5nLW91dCI+U3RhcnRpbmcgb3V0PC9oMj4KCgoKPHA+T24gY2xvc2VyIGluc3BlY3Rpb24sIHRob3VnaCwgVHJ1bWJ1bGzigJlzIGNyZWF0aXZlIGFsbGlhbmNlIHdpdGggS3VicmljayBsb29rcyBsZXNzIGxpa2Ugc2VyZW5kaXBpdHkgYW5kIG1vcmUgbGlrZSBmYXRlLiBCb3RoIHRlY2huaWNhbGx5IG1pbmRlZCBhbmQgYXJ0aXN0aWMsIFRydW1idWxsIHdhcyBzb21ldGhpbmcgb2YgYSBSZW5haXNzYW5jZSBtYW4sIG11Y2ggbGlrZSBLdWJyaWNrLiBUcnVtYnVsbCB3YXMgYWxzbyBibGVzc2VkIHdpdGggdGhlIGV5ZSBmb3IgZGV0YWlsIOKAkyBub3QgdG8gbWVudGlvbiB5b3V0aGZ1bCBlbmVyZ3kg4oCTIHJlcXVpcmVkIHRvIG1lZXQgS3Vicmlja+KAmXMgZmFtb3VzbHkgZXhhY3Rpbmcgc3RhbmRhcmRzLiBUaGVuIHRoZXJlIHdhcyBUcnVtYnVsbOKAmXMgbG92ZSBvZiBzY2llbmNlIGZpY3Rpb24gYW5kIG1vdmllcy48L3A+CgoKCjxwPuKAnEFzIEkgYmVjYW1lIGEgeW91bmcgYXJ0aXN0LCBJIHdhcyBmaWxsaW5nIHVwIG15IHBvcnRmb2xpbyB3aXRoIGFsaWVuIHBsYW5ldHMgYW5kIHNwYWNlY3JhZnQgYW5kIHRoaW5ncyBsaWtlIHRoYXQs4oCdIFRydW1idWxsIHRvbGQgbWUgaW4gMjAxNC48L3A+CgoKCjxwPuKAnFRoZW4gd2hlbiBJIHN0YXJ0ZWQgbG9va2luZyBmb3IgYSBqb2IsIEkgd2FzIGxvb2tpbmcgZm9yIHNvbWV0aGluZyBpbiBhbmltYXRpb24sIGJlY2F1c2UgSSB3YXMgd2F0Y2hpbmcgYWxsIHRoZXNlIERpc25leSBhbmltYXRlZCBmaWxtcy7igJ08L3A+CgoKCjxwPldoZW4gVHJ1bWJ1bGwgYXBwcm9hY2hlZCBEaXNuZXkgaW4gdGhlIGVhcmx5IDE5NjBzLCB0aGUgdGVjaG5pY2FsIG5hdHVyZSBvZiBoaXMgd29yayBzYXcgaGltIHBvaW50ZWQgaW4gdGhlIGRpcmVjdGlvbiBvZiBHcmFwaGljIEZpbG1zLiBBIHN0dWRpbyBmb3VuZGVkIGJ5IGZvcm1lciBEaXNuZXkgYW5pbWF0b3IgTGVzdGVyIE5vdnJvcywgaXQgc3BlY2lhbGlzZWQgaW4gbWFraW5nIGJvdGggYW5pbWF0ZWQgYW5kIGxpdmUtYWN0aW9uIHNob3J0cyBmb3Igc3VjaCBjbGllbnRzIGFzIE5BU0EgYW5kIEJvZWluZy4gVHJ1bWJ1bGzigJlzIHNraWxscyBhcyBhIGRyYXVnaHRzcGVyc29uIGFuZCBpbnRlcmVzdCBpbiBzY2ktZmkgbWFkZSBoaW0gYW4gaWRlYWwgZml0IGZvciB0aGUgcm9sZSwgYW5kIGluIDE5NjQgaGUgaWxsdXN0cmF0ZWQgdGhlIGJhY2tncm91bmRzIGZvciA8ZW0+VG8gVGhlIE1vb24gQW5kIEJleW9uZDwvZW0+IOKAkyBhIGZpbG0gdGhhdCwgbGlrZSBLdWJyaWNr4oCZcyBwcm9kdWN0aW9uLCB3YXMgZGVzaWduZWQgdG8gZW52ZWxvcCB2aWV3ZXJzIGluIGl0cyB2YXN0IChhc3Ryb25vbWljYWwsIHlvdSBtaWdodCBzYXkpIHNjYWxlLjwvcD4KCgoKPHA+QnkgdGhlIHRpbWUgVHJ1bWJ1bGwgYm9hcmRlZCBoaXMgZmxpZ2h0IHRvIHRoZSBVSyBpbiBBdWd1c3QgMTk2NSwgS3VicmljayBoYWQgYmVlbiB3b3JraW5nIG9uIGhpcyDigJxwcm92ZXJiaWFsIGdvb2Qgc2NpZW5jZSBmaWN0aW9uIG1vdmll4oCdIGZvciBvdmVyIGEgeWVhci4gSW4gdGhhdCB0aW1lLCB0aGUgZGlyZWN0b3IgaGFkIHN1cnJvdW5kZWQgaGltc2VsZiB3aXRoIHNvbWUgb2YgdGhlIGZpbmVzdCB0ZWNobmljYWwgbWluZHMgaGUgY291bGQgY29heCBhYm9hcmQgaGlzIHByb2plY3QsIGluY2x1ZGluZyBOQVNBIHNjaWVudGlzdCBGcmVkIE9yZHdheSwgRWxpb3QgTm95ZXMsIGFuIGluZHVzdHJpYWwgZGVzaWduZXIgYXQgSUJNLCBhbmQgYXJ0aWZpY2lhbCBpbnRlbGxpZ2VuY2UgZXhwZXJ0IE1hcnZpbiBNaW5za3kuPC9wPgoKCgo8cD5UaGUgaW5pdGlhbCBiYXNpcyBmb3IgS3Vicmlja+KAmXMgcHJvamVjdCB3YXMgQXJ0aHVyIEMgQ2xhcmtl4oCZcyBzaG9ydCBzdG9yeSA8ZW0+VGhlIFNlbnRpbmVsPC9lbT4sIGFib3V0IHRoZSBkaXNjb3Zlcnkgb2YgYSBteXN0ZXJpb3VzLCB0ZWNobm9sb2dpY2FsbHkgYWR2YW5jZWQgYXJ0ZWZhY3QgbGVmdCBiZWhpbmQgYnkgYWxpZW4gdmlzaXRvcnMuIEJ1dCB3aGF0IEt1YnJpY2sgYWxzbyBoYWQgaW4gbWluZCB3YXMgc29tZXRoaW5nIGZhciBiaWdnZXIgYW5kIG1vcmUgbWluZC1leHBhbmRpbmcg4oCTIGFuIGVwaWMgc3RvcnkgdGhhdCBzcGFubmVkIHRpbWUgZnJvbSBodW1hbml0eeKAmXMgcHJlaGlzdG9yeSB0byBvdXIgZnV0dXJlIGV4cGxvcmF0aW9uIG9mIHNwYWNlLCBib29rZW5kZWQgYnkgcXVhc2nigJFyZWxpZ2lvdXMgZW5jb3VudGVycyB3aXRoIGFuIGludGVsbGlnZW5jZSBmYXIgYmV5b25kIG91ciBvd24uPC9wPgoKCgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIGlkPSJoLWFtYml0aW9uIj5BbWJpdGlvbjwvaDI+CgoKCjxwPlN1Y2ggYW4gYW1iaXRpb3VzIGZpbG0gcmVxdWlyZWQgYW4gZXF1YWxseSBleHRlbnNpdmUgYnVkZ2V0IOKAkyBNR00gdWx0aW1hdGVseSBzcGVudCBhcm91bmQgJDEwbSBvbiAyMDAxLCB0aGVuIGEgZm9ydHVuZSDigJMgYW5kIGEgaHVnZSBxdWFudGl0eSBvZiBzZXRzLCBwcm9wcywgc2NhbGUgbWluaWF0dXJlcyBhbmQgdGhlbi1uZXcgYW5kIHVudGVzdGVkIHZpc3VhbCBlZmZlY3RzLiBCdXQgaWYgVHJ1bWJ1bGwgZmVsdCBpbnRpbWlkYXRlZCBieSB0aGUgdmFzdCBzY2FsZSBvZiB0aGUgcHJvZHVjdGlvbiwgYXMgZmlsbWluZyBiZWdhbiBhdCBNR00gU3R1ZGlvcyBhbmQgU2hlcHBlcnRvbiwgdGhlbiBoZSBkaWRu4oCZdCBzaG93IGl0LiBJbiBhIHJlbWFya2FibHkgY2FsbSwgbWF0dGVyLW9mLWZhY3QgZXNzYXkgd3JpdHRlbiBmb3IgQW1lcmljYW4gQ2luZW1hdG9ncmFwaGVyIGluIDE5NjgsIFRydW1idWxsIGRlc2NyaWJlZCBob3cgbXVjaCB0cm91YmxlIHRoZSBwcm9kdWN0aW9uIGhhZCB3aXRoIGtlZXBpbmcgdHJhY2sgb2YgaXRzIGFycmF5IG9mIOKAnGlkZWFzLCBzaG90cyBhbmQgY2hhbmdlc+KAnSDigJMgc3VjaCB0aGF0IGEg4oCYY29udHJvbCByb29t4oCZIHdhcyBzZXQgdXAsIHBvcHVsYXRlZCBieSBwZW9wbGUgd2hvc2UgZnVsbC10aW1lIGpvYiB3YXMgdG8ga2VlcCBldmVyeXRoaW5nIHRyYWNrZWQgYW5kIGxvZ2dlZCBpbiBhbiBlbGFib3JhdGUgZmlsaW5nIHN5c3RlbS4gT3V0c2lkZSwgVHJ1bWJ1bGwgd3JvdGUsIHRoZXJlIHdlcmUg4oCcYSBoYWxmLWRvemVuIGNhbWVyYXMgc2hvb3Rpbmcgc2ltdWx0YW5lb3VzbHksIHNvbWUgb24gMjQtaG91ciBzaGlmdHMu4oCdPC9wPgoKCgo8cD5PcmlnaW5hbGx5LCBUcnVtYnVsbCB3YXMgbGVkIHRvIGJlbGlldmUgaGXigJlkIGJlIHdvcmtpbmcgb24gMjAwMSBmb3IgYWJvdXQgc2l4IG1vbnRoczsgaW5zdGVhZCwgaGUgd2FzIG9uIHRoZSBwcm9kdWN0aW9uIGZvciB0d28gYW5kIGEgaGFsZiB5ZWFycy4gVGhlIGZpbG3igJlzIGxlbmd0aHkgc2hvb3Qgd2FzIHBhcnRseSBkdWUgdG8gS3Vicmlja+KAmXMgaW5zaXN0ZW5jZSBvbiBpbnRlcnJvZ2F0aW5nIGV2ZXJ5IGVsZW1lbnQgaW4gbWludXRlIGRldGFpbCwgd2hldGhlciBpdCB3YXMgYW4gaW5pdGlhbCBjb25jZXB0IHNrZXRjaCBvciBhIHNwbGl0LXNlY29uZCBlZmZlY3RzIHNob3QuPC9wPgoKCgo8cD7igJxUaGVyZSB3YXMgYSBodWdlIHNob290aW5nIHJhdGlvLOKAnSBUcnVtYnVsbCB0b2xkIG1lLCDigJxiZWNhdXNlIFN0YW5sZXkgd2FzIHZlcnkgY3JpdGljYWwgYW5kIGRpc2Nlcm5pbmcsIGFuZCBoZSBkaWRu4oCZdCBsaWtlIGFueXRoaW5nIHRoYXQgaGFkIGFueSBraW5kIG9mIGVycm9yIGluIGl0LiBTbyBldmVyeSBzaG90IHlvdSBjYW4gc2VlIGluIHRoZSBtb3ZpZSBoYWQgbWFueSB0YWtlcyBvZiBpdCwgdHJ5aW5nIHRvIGRlYnVnIGl0LCBtYWtpbmcgc21hbGwgY2hhbmdlcyB1bnRpbCBpdCB3YXMgcGVyZmVjdC7igJ08L3A+CgoKCjxwPk5ldmVydGhlbGVzcywgVHJ1bWJ1bGwgYWdyZWVkIGhlJiM4MjE3O2QgZm91bmQgYSBsaWtlLW1pbmQgaW4gS3Vicmljay48L3A+CgoKCjxwPuKAnFdlIGhhZCBhIHJlYWxseSBncmVhdCByZWxhdGlvbnNoaXAuIEl0IHR1cm5lZCBvdXQgdGhhdCBJIGhhZCB0aGUgcmlnaHQgc2tpbGwtc2V0IHRoYXQgaGUgd2FzIGxvb2tpbmcgZm9yLCB3aGljaCB3YXMgcGFydCBhcnQsIHBhcnQgZW5naW5lZXJpbmcsIGFuZCBwYXJ0IHBob3RvZ3JhcGh54oCmIGhlIHdvcmtlZCBtZSB1cCB0aHJvdWdoIHRoZSByYW5rcywgYW5kIGJ5IHRoZSBlbmQgb2YgdGhlIHR3byBhbmQgYSBoYWxmIHllYXJzIEkgd2FzIHRoZXJlLCBJIHdhcyBvbmUgb2YgZm91ciBoZWFkIHN1cGVydmlzb3JzIG9uIHRoZSBtb3ZpZS7igJ08L3A+CgoKCjxwPlRydW1idWxs4oCZcyB3b3JrIG9uIDIwMDEgdGhlcmVmb3JlIHJhbiB0aGUgZ2FtdXQgZnJvbSBhbmltYXRpbmcgZGlzcGxheXMgb24gdGhlIGludGVyaW9ycyBvZiBzcGFjZWNyYWZ0IHRvIG92ZXJzZWVpbmcgc2hvdHMgb2YgdGhlIE1vb27igJlzIHN1cmZhY2UgdG8gYnVpbGRpbmcgYW5kIHBhaW50aW5nIHNjYWxlIG1pbmlhdHVyZXMsIHN1Y2ggYXMgdGhlIDYwZnQtbG9uZyBEaXNjb3Zlcnkgc3BhY2VjcmFmdCB0aGF0IGZlYXR1cmVzIGluIG11Y2ggb2YgdGhlIGZpbG3igJlzIGxhdGVyJm5ic3A7c3RhZ2VzLjwvcD4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBpZD0iaC1hLXNoaWZ0aW5nLXN0b3J5Ij5BIHNoaWZ0aW5nIHN0b3J5PC9oMj4KCgoKPHA+QXNpZGUgZnJvbSBLdWJyaWNr4oCZcyBjb25zdGFudCBkZW1hbmRzIGZvciBwZXJmZWN0aW9uLCB0aGUgcHJvZHVjdGlvbuKAmXMgcGFjZSB3YXMgc2xvd2VkIGJ5IHRoZSBjaGFuZ2luZyBuYXR1cmUgb2YgdGhlIGZpbG3igJlzIHBsb3QgYW5kIHN0b3J5dGVsbGluZyBkZXRhaWxzLiBJbiBBdWd1c3QgMTk2NSDigJMgbWVyZSBtb250aHMgYmVmb3JlIGZpbG1pbmcgYmVnYW4gdGhhdCBEZWNlbWJlciDigJMgdGhlIGFydGlmaWNpYWxseSBpbnRlbGxpZ2VudCBjb21wdXRlciB0aGF0IGRyaXZlcyB0aGUgbGF0dGVyIGhhbGYgb2YgdGhlIG1vdmllIGhhZCBhIGZlbWFsZSB2b2ljZSwgYW5kIHdhcyBjYWxsZWQgQXRoZW5hIHJhdGhlciB0aGFuIEhBTC05MDAwLiBBdCBvdGhlciB0aW1lcywgc3RvcnkgZGV0YWlscyBoYWQgdG8gYmUgY2hhbmdlZCBiZWNhdXNlIHRoZSBwdXp6bGUgb2YgbWFraW5nIHRoZW0gbG9vayBjb252aW5jaW5nIG9uIHRoZSBiaWcgc2NyZWVuIHdhcyBzaW1wbHkgdG9vIGdyZWF0IHRvIHNvbHZlIHdpdGggdGhlIHRlY2hub2xvZ3kgb2YgdGhlIHRpbWUuPC9wPgoKCgo8cD5BIHByaW1lIGV4YW1wbGUgb2YgdGhpcyBhcnJpdmVkIG5lYXIgdGhlIGVuZCBvZiB0aGUgbW92aWUuIEFzdHJvbmF1dCBEYXZlIEJvd21hbiAocGxheWVkIHdpdGggaWN5IGNhbG0gYnkgS2VpciBEdWxsZWEpIGhhcyByZWFjaGVkIGhpcyBkZXN0aW5hdGlvbiBvcmJpdGluZyBKdXBpdGVyLCBhbmQgaW4gdGhlIG9yaWdpbmFsIHNjcmlwdCwg4oCcdGhlcmUgd2FzIGEgc2xvdCBpbiBvbmUgb2YgSnVwaXRlcuKAmXMgbW9vbnMs4oCdIFRydW1idWxsIHJlY2FsbGVkLjwvcD4KCgoKPHA+4oCcQW5kIGlmIHlvdSBsb29rZWQgZG93biB0aHJvdWdoIGl0LCB5b3UgY291bGQgc2VlIGFub3RoZXIgdW5pdmVyc2Ugb24gdGhlIG90aGVyIHNpZGUg4oCTIHNvIGl0IHdhcyBhcyBpZiB0aGUgc2xvdCB3YXMgYSBraW5kIG9mIHRpbWUtc3BhY2UgZ2F0ZS4gTm8gb25lIGNvdWxkIG1ha2UgaXQgbG9vayBjb252aW5jaW5nLuKAnTwvcD4KCgoKPHA+QXMgYW4gYWx0ZXJuYXRpdmUsIFRydW1idWxsIHN1Z2dlc3RlZCB0cnlpbmcgb3V0IGFuIGV4cGVyaW1lbnRhbCBwcm9jZXNzIGhlLCBjb2xsZWFndWUgQ29uIFBlZGVyc29uIGFuZCBpbnZlbnRvciBKb2huIFdoaXRuZXkgaGFkIGJlZW4gdGlua2VyaW5nIHdpdGggYXQgR3JhcGhpYyBGaWxtcyDigJMgYSBwaG90b2dyYXBoaWMgdGVjaG5pcXVlIFdoaXRuZXkgaGFkIGR1YmJlZCDigJhzbGl0IHNjYW5uaW5n4oCZLiBJdCBpbnZvbHZlZCBwbGFjaW5nIGEgY2FtZXJhIG9uIGEgdHJhY2sgYW5kIGV4cG9zaW5nIGl0cyBhcGVydHVyZSB0byBhbiBpbWFnZSB2aWV3ZWQgdGhyb3VnaCBhIG5hcnJvdyBzbGl0OyBUcnVtYnVsbCB0b29rIHRoZSB0ZWNobmlxdWUgYW5kIGFkYXB0ZWQgaXQgdG8gY3JlYXRlIHRoZSBpbGx1c2lvbiBvZiBzdHJlYWtzIG9mIGNvbG91cmVkIGxpZ2h0IGh1cnRsaW5nIG91dCBvZiB0aGUgc2NyZWVuIGF0IHRoZSB2aWV3ZXIuPC9wPgoKCgo8cD7igJxJdCB3YXMgcXVpdGUgYSBsYXJnZSBtYWNoaW5lIOKAkyBhYm91dCAzMGZ0IGJ5IDMwZnQs4oCdIFRydW1idWxsIHJlY2FsbGVkIG9mIHRoZSBzeXN0ZW0gdGhhdCB3YXMgYSBwcmVjdXJzb3IgdG8gdGhlIGFkdmFuY2VkIG1vdGlvbiBjb250cm9sIHN5c3RlbXMgdGhhdCByZXZvbHV0aW9uaXNlZCBzcGVjaWFsIGVmZmVjdHMgYWxtb3N0IGEgZGVjYWRlIGxhdGVyLiDigJxJdCB0b29rIHVwIGEgd2hvbGUgcm9vbeKApiBTYWx2YWRvciBEYWzDrSBleHBlcmltZW50ZWQgd2l0aCB0aGluZ3MgbGlrZSB0aGF0IOKAkyBoZSBleHBlcmltZW50ZWQgd2l0aCBzdHJvYmUgbGlnaHRzIGFuZCB0aW1lLWxhcHNlLiBBbGwga2luZHMgb2YgaW50ZXJlc3Rpbmcgc3R1ZmYgdGhhdCBJ4oCZZCBzdHVkaWVkLiBTbyBpdCBzZWVtZWQgbmF0dXJhbCB0byBzYXksIOKAmHdlbGwsIGxldOKAmXMgcHV0IHRoZSBzbGl0IG91dHNpZGUgdGhlIGNhbWVyYSBhbmQgbW92ZSBpdCBpbiB0aHJlZS1kaW1lbnNpb25hbCBzcGFjZSByYXRoZXIgdGhhbiB0d28tZGltZW5zaW9uYWwgc3BhY2Uu4oCZIEl0IGFsbCB3b3JrZWQgcGVyZmVjdGx5LCBhbmQgaXQgc29sdmVkIGEgcHJvYmxlbSBmb3IgS3Vicmljay7igJ08L3A+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9ImgtaW52ZW50aW5nIj5JbnZlbnRpbmc8L2gyPgoKCgo8cD5PbmNlIGFnYWluLCBUcnVtYnVsbOKAmXMgdGVjaG5pY2FsIGluZ2VudWl0eSBhbmQgYXJ0aXN0aWMgZmxhaXIgY29tYmluZWQgdG8gY3JlYXRlIHNvbWV0aGluZyBuZXcuIEFsb25nIHdpdGggYW4gYXBlIHNtYXNoaW5nIHNrdWxscyB3aXRoIGEgYm9uZSwgb3IgRGF2ZSBCb3dtYW4gcnVubmluZyBpbiB6ZXJvIGdyYXZpdHksIHRoZSDigJhTdGFyZ2F0ZeKAmSBzZXF1ZW5jZSBiZWNhbWUgb25lIG9mIDxlbT4yMDAxOiBBIFNwYWNlIE9keXNzZXk8L2VtPuKAmXMgbW9zdCBmYW1vdXMgc2VxdWVuY2VzLjwvcD4KCgoKPHA+4oCcSeKAmW0gZmVhcmxlc3Mgd2hlbiBpdCBjb21lcyB0byBlbmdpbmVlcmluZyBhbmQgbW90b3JzIGFuZCBnZWFycyBhbmQgcHVsbGV5cyBhbmQgZ2xhc3MgYW5kIGFydHdvcmss4oCdIHNhaWQgVHJ1bWJ1bGwuIOKAnEl0IGFsbCBqdXN0IHNlZW1lZCBjb21wbGV0ZWx5IG5hdHVyYWwgdG8gbWUsIGFuZCBpdCB3YXMgYSBnb29kIHRoaW5nIEkgd2FzIHRoZXJlLCBiZWNhdXNlIEkgY291bGQgaW52ZW50IHRoaXMgdGhpbmcgYW5kIHdvcmsgd2l0aCB0aGUgZW5naW5lZXJzIGF0IHRoZSBzdHVkaW8gYW5kIGhhdmUgdGhlbSBoZWxwIG1lIGJ1aWxkIGl0LuKAnTwvcD4KCgoKPHA+T2YgY291cnNlLCB2aXN1YWwgZWZmZWN0cyBzdWNoIGFzIHRoZXNlIHdlcmUgb25seSBhIHBhcnQgb2Ygd2hhdCBtYWRlIHRoZSBsYXJnZXIgcGljdHVyZSwgYW5kIGV2ZW4gYnkgdGhlIHN0YW5kYXJkcyBvZiAyMXN0IGNlbnR1cnkgZmlsbW1ha2luZywgdGhlIHNjYWxlIGFuZCBkZXRhaWwgb2Ygd2hhdCBLdWJyaWNrIGFuZCBoaXMgY29sbGFib3JhdG9ycyBhdHRlbXB0ZWQgd2FzIHF1aXRlIG1pbmQtYm9nZ2xpbmcuIEFsbW9zdCBhcyBhbiBhc2lkZSwgVHJ1bWJ1bGwgbWVudGlvbnMgdG93YXJkcyB0aGUgZW5kIG9mIGhpcyBlc3NheSBmb3IgQW1lcmljYW4gQ2luZW1hdG9ncmFwaGVyIHRoYXQgYWxsIG9mIDIwMDHigJlzIGludGVyaW9yIHNldHMgaGFkIOKAnGxpZ2h0aW5nIHRoYXQgd2FzIGFuIGFjdHVhbCBpbnRlZ3JhbCBwYXJ0IG9mIHRoZSBzZXQgaXRzZWxmLCBhbmQgYWRkaXRpb25hbCBsaWdodGluZyB3YXMgdXNlZCBvbmx5IGZvciBjcml0aWNhbCBjbG9zZS11cHMu4oCdIEt1YnJpY2sgbmV2ZXIgd2FzIG9uZSBmb3IgY3V0dGluZyBjb3JuZXJzLjwvcD4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBpZD0iaC1yZWNvZ25pdGlvbiI+UmVjb2duaXRpb248L2gyPgoKCgo8cD5LdWJyaWNr4oCZcyBmYW1lIGFzIGFuIGF1dGV1ciB3YXMgc3VjaCB0aGF0LCBkZXNwaXRlIHRoZSBudW1iZXIgb2YgZ2VuaXVzLWxldmVsIGNvbGxhYm9yYXRvcnMgdGhhdCBzdXJyb3VuZGVkIGhpbSB0aHJvdWdob3V0IHRoZSBtYWtpbmcgb2YgPGVtPjIwMDE6IEEgU3BhY2UgT2R5c3NleSw8L2VtPiB0aGUgaW5wdXQgb2YgaGlzIGZlbGxvdyBhcnRpc3RzIGFuZCBmaWxtbWFrZXJzIHdhcyBvZnRlbiBkb3ducGxheWVkLCBhdCBsZWFzdCBhdCB0aGUgdGltZSBvZiB0aGUgZmlsbeKAmXMgcmVsZWFzZS4gSW4gYSBsaXN0IG9mIGNyZWRpdHMgcHJpbnRlZCBpbiB0aGF0IHNhbWUgaXNzdWUgb2YgQW1lcmljYW4gQ2luZW1hdG9ncmFwaGVyLCBpdCBzb21ld2hhdCBzdGVybmx5IHN0YXRlcywg4oCcQWxsIHNwZWNpYWwgZWZmZWN0cyBkZXNpZ25lZCBhbmQgZGlyZWN0ZWQgYnkgTVIgS1VCUklDS+KAnS4gWWVzLCBLdWJyaWNr4oCZcyBuYW1lIHdhcyBwcmludGVkIGluIGFsbC1jYXBpdGFscy48L3A+CgoKCjxwPkF0IHRoZSBBY2FkZW15IEF3YXJkcyB0aGUgZm9sbG93aW5nIHllYXIsIGl0IHdhcyB0aGVyZWZvcmUgS3VicmljayB3aG8gY29sbGVjdGVkIHRoZSBPc2NhciBmb3IgQmVzdCBTcGVjaWFsIFZpc3VhbCBFZmZlY3RzIGFuZCBub3QgVHJ1bWJ1bGwg4oCTIHNvbWV0aGluZyB0aGF0IG11c3QgaGF2ZSBzdHVuZyBhdCB0aGUgdGltZS4gTWVhbndoaWxlLCBpdCB3YXMgPGVtPk9saXZlciE8L2VtPiB0aGF0IGNsZWFuZWQgdXAgYXQgMTk2OeKAmXMgYXdhcmRzLCB3aXRoIEt1YnJpY2sgbG9zaW5nIG91dCB0byBDYXJvbCBSZWVkIGluIHRoZSBCZXN0IERpcmVjdG9yIGNhdGVnb3J5LiBLdWJyaWNr4oCZcyBmaWxtIHdhcyBhbHNvIG5vbWluYXRlZCBidXQgZmFpbGVkIHRvIHdpbiBCZXN0IEFydCBEaXJlY3Rpb24sIFdyaXRpbmcsIGFuZCBkaWRu4oCZdCBldmVuIGdldCBhIG1lbnRpb24gZm9yIEVkaXRpbmcsIFNvdW5kLCBvciBDaW5lbWF0b2dyYXBoeS48L3A+CgoKCjxwPlRoZSBhcHByZWNpYXRpb24gZm9yIDxlbT4yMDAxOiBBIFNwYWNlIE9keXNzZXk8L2VtPiBvbmx5IGdyZXcsIGhvd2V2ZXIuIFRoZSBmaWxtIHdlbnQgZnJvbSBpbml0aWFsbHkgZGl2aXNpdmUgcmV2aWV3cyBhbmQgc2xvdyB0aWNrZXQgc2FsZXMgaW4gMTk2OCB0byBhIHdvcmxkd2lkZSBoaXQgdGhhbmtzIHRvIGxhdGVyIHRoZWF0cmljYWwgcmUtcmVsZWFzZXMgaW4gdGhlIGVhcmx5IDE5NzBzLiBUaGUgZmlsbSBhbHNvIGdhdmUgRG91Z2xhcyBUcnVtYnVsbCB0aGUgZ3JvdW5kaW5nIGhlIG5lZWRlZCB0byBmdXJ0aGVyIGhpcyBjYXJlZXIgaW4gbW92aWVzOyBpbiB0aGUgeWVhcnMgdGhhdCBmb2xsb3dlZCwgVHJ1bWJ1bGwgZm91bmQgYWNjbGFpbSBmb3IgaGlzIHNwZWNpYWwgZWZmZWN0cyB3b3JrIG9uIHN1Y2ggY2xhc3NpY3MgYXMgPGVtPkNsb3NlIEVuY291bnRlcnMgT2YgVGhlIFRoaXJkIEtpbmQ8L2VtPiBhbmQgPGVtPkJsYWRlIFJ1bm5lcjwvZW0+LiBGb3IgdGhlIGZvcm1lciwgVHJ1bWJ1bGwgam9pbnRseSByZWNlaXZlZCBhbiBBY2FkZW15IEF3YXJkIGZvciBCZXN0IFZpc3VhbCBFZmZlY3RzLCBtZWFuaW5nIGhlIGZpbmFsbHkgZ290IHRoZSBPc2NhciByZWNvZ25pdGlvbiBoZSBkZXNlcnZlZC48L3A+CgoKCjxwPlRydW1idWxsIHdvdWxkIGFsc28gYWRhcHQgYW5kIHJlZmluZSBzb21lIG9mIHRoZSB0ZWNobmlxdWVzIHVzZWQgb24gPGVtPjIwMDE6IEEgU3BhY2UgT2R5c3NleTwvZW0+IGluIGhpcyBmaXJzdCBmaWxtIGFzIGRpcmVjdG9yLCA8ZW0+U2lsZW50IFJ1bm5pbmc8L2VtPiDigJMgYSBzY2ktZmkgZmFibGUgdGhhdCBpcyBpdHNlbGYgcmVnYXJkZWQgYXMgYSBjbGFzc2ljLiBBcyBUcnVtYnVsbCBsYXRlciBzYWlkIG9mIDIwMDE6IOKAnEl0IHdhcyBmaWxtIHNjaG9vbCBmb3IgbWUu4oCdPC9wPgo8ZGl2IGNsYXNzPSJhZGR0b2FueV9zaGFyZV9zYXZlX2NvbnRhaW5lciBhZGR0b2FueV9jb250ZW50IGFkZHRvYW55X2NvbnRlbnRfYm90dG9tIj48ZGl2IGNsYXNzPSJhZGR0b2FueV9oZWFkZXIiPlNoYXJlIHRoaXMgQXJ0aWNsZTo8L2Rpdj48ZGl2IGNsYXNzPSJhMmFfa2l0IGEyYV9raXRfc2l6ZV8zMiBhZGR0b2FueV9saXN0IiBkYXRhLWEyYS11cmw9Imh0dHBzOi8vc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ay9mZWF0dXJlcy9kb3VnbGFzLXRydW1idWxscy1zcGFjZS1vZHlzc2V5LXRoZS1zZngtZ2VuaXVzLWJlaGluZC0yMDAxLyIgZGF0YS1hMmEtdGl0bGU9IkRvdWdsYXMgVHJ1bWJ1bGzigJlzIFNwYWNlIE9keXNzZXkgfCBUaGUgU0ZYIGdlbml1cyBiZWhpbmQgMjAwMSI+PGEgY2xhc3M9ImEyYV9idXR0b25fZmFjZWJvb2siIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZmFjZWJvb2s/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmRvdWdsYXMtdHJ1bWJ1bGxzLXNwYWNlLW9keXNzZXktdGhlLXNmeC1nZW5pdXMtYmVoaW5kLTIwMDElMkYmYW1wO2xpbmtuYW1lPURvdWdsYXMlMjBUcnVtYnVsbCVFMiU4MCU5OXMlMjBTcGFjZSUyME9keXNzZXklMjAlN0MlMjBUaGUlMjBTRlglMjBnZW5pdXMlMjBiZWhpbmQlMjAyMDAxIiB0aXRsZT0iRmFjZWJvb2siIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fdHdpdHRlciIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by90d2l0dGVyP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZzdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZkb3VnbGFzLXRydW1idWxscy1zcGFjZS1vZHlzc2V5LXRoZS1zZngtZ2VuaXVzLWJlaGluZC0yMDAxJTJGJmFtcDtsaW5rbmFtZT1Eb3VnbGFzJTIwVHJ1bWJ1bGwlRTIlODAlOTlzJTIwU3BhY2UlMjBPZHlzc2V5JTIwJTdDJTIwVGhlJTIwU0ZYJTIwZ2VuaXVzJTIwYmVoaW5kJTIwMjAwMSIgdGl0bGU9IlR3aXR0ZXIiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fZW1haWwiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZW1haWw/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmRvdWdsYXMtdHJ1bWJ1bGxzLXNwYWNlLW9keXNzZXktdGhlLXNmeC1nZW5pdXMtYmVoaW5kLTIwMDElMkYmYW1wO2xpbmtuYW1lPURvdWdsYXMlMjBUcnVtYnVsbCVFMiU4MCU5OXMlMjBTcGFjZSUyME9keXNzZXklMjAlN0MlMjBUaGUlMjBTRlglMjBnZW5pdXMlMjBiZWhpbmQlMjAyMDAxIiB0aXRsZT0iRW1haWwiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9kZCBhZGR0b2FueV9zaGFyZV9zYXZlIGFkZHRvYW55X3NoYXJlIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vc2hhcmUiPjwvYT48L2Rpdj48L2Rpdj4=