Voennich> Aaz, предложил посмотреть что с финансами с 1952 до момента продаж 707. Будем сводить финансы в табличку?
В общем отвечаю сам себе.
С 707ым проектом товарищ Коллинз и корпоративный миф Боинга про "страшные риски" - содержат правды менее 10%.
Перелопатил отчётность с 1946 до 1960 года (кроме 1955 - репорта нет, цифры взял из последующих годов)
Единственные риски которые вижу по цифрам и текстам - иметь потенциальные проблемы уже в период после разработки 707ого
В т.ч.:
1. после 1957го когда Sales и Backlog Order от US AF упали существенно (существенно это с уровня 1,7B$ до 0,6B$, что составило менее 40% от sales Boeing в 1960)
2. от постоянного до 1959 года роста персонала(3x раза за 10 лет) и Salaries(быстре чем рост персонала)
3. от постоянного увеличения выплат дивидентов до 1956го года включительно (30% от Net earnings)
4. от постоянного %% на "General and Administrative" (после 1958 в отчётах не показывают)
С 1952 до 1957 в текстах годовой отчётности фокус только на military
C 1958 - начинаются активные рассказы про commerce причём 720 появляется раньше
Т.е. вывод:
Вовремя диверсифицировали бизнес и отъели кусок Дугласа.
На судьбу фирмы решение повлияло, на жизнь (вероятность банкротства) - маловероятно
В последующих интервью, предположу, они виртуально оценивали "что бы делали в 1960 без коммерческого рынка"
Во вложении Excel с финансами 1946-1960, замах был до 1975 (что бы программу 747 посмотреть), но силы и время уже кончились.
Под катом выдержка из репортов по программе KC-135/707/и коммерческому авиастроению.
[показать]PHN0cm9uZz4xOTUyLWFubm91bmNlPC9zdHJvbmc+PGJyIC8+CkpldCBUcmFuc3BvcnQtVGFua2VyIEJlZ3VuPGJyIC8+ClRoZSBkZWNpc2lvbiB0byBkZXNpZ24gYW5kIGJ1aWxkIGEgcHJvdG90eXBlIGpldCB0cmFuc3BvcnQgd2FzLCB3ZSBmZWVsLCBvbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IEJvZWluZyBkZWNpc2lvbnMgaW4gMTk1Mi4gQmFzZWQgdXBvbiB0aGUgcmVjb21tZW5kYXRpb25zIG9mIG1hbmFnZW1lbnQsIHlvdXIgQm9hcmQgb2YgRGlyZWN0b3JzIGF1dGhvcml6ZWQgdGhlIHByb2plY3QgaW4gdGhlIHNwcmluZyBvZiAxOTUyLjxiciAvPgpGb3Igc2V2ZXJhbCB5ZWFycyBCb2VpbmcgaGFzIGFkdm9jYXRlZCB0aGUgZGV2ZWxvcG1lbnQgb2YgYSBjb21iaW5hdGlvbiBtaWxpdGFyeSBqZXQgdHJhbnNwb3J0IGFuZCB0YW5rZXIgZm9yIGFlcmlhbCByZWZ1ZWxpbmcgb2YgdG9kYXkncyBoaWdoLXNwZWVkIGpldCBib21iZXJzIGFuZCBmaWdodGVycy4gV2UgaGF2ZSBsaWtld2lzZSByZWNvZ25pemVkIHRoYXQgbG9uZy1yYW5nZSBhaXIgdHJhdmVsIHdvdWxkIGV2ZW50dWFsbHkgYmUgY2FycmllZCBvbiBieSBqZXQgYWlybGluZXJzLiBIb3dldmVyLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdWJzdGFudGlhbCBjb3N0cyBpbnZvbHZlZCBhbmQgdGhlIHN0YXRlIG9mIGpldC1wb3dlciBkZXZlbG9wbWVudCwgaXQgd2FzIG5vdCB1bnRpbCB0aGUgZWFybHkgcGFydCBvZiAxOTUyIHRoYXQgdGhlIG1hbmFnZW1lbnQgZmVsdCB0aGUgY29tcGFueSBzaG91bGQgdW5kZXJ0YWtlIHN1Y2ggYSBwcm9qZWN0LiA8YnIgLz4KV2UgYXJlIG9mIHRoZSBvcGluaW9uIHRoYXQgdGhlIGNvbXBhbnkgY2FuIGJ1aWxkIGEgcHJvdG90eXBlIHRyYW5zcG9ydCB3aGljaCB3aWxsIGVuYWJsZSBpdCB0byBkZW1vbnN0dGF0ZSB0byB0aGUgbWlodGFyeSB0aGUgcHJpbmNpcGFsIGNoYXJhY3RlcmlzdGljcyBvZiBhIGNvbWJpbmF0aW9uIHRhbmtlciBhbmQgamV0IHRyYW5zcG9ydCwgYW5kIGF0IHRoZSBzYW1lIHRpbWUgZGVtb25zdHJhdGUgdG8gdGhlIGNvbW1lcmNpYWwgYWlybGluZXMgdGhlIHByaW5jaXBhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgYSBwcm9kdWN0aW9uIGpldCBhaXJsaW5lci4gRnJvbSB0aGUgc3RhbmRwb2ludCBvZiBtaWxpdGFyeSBzZWN1cml0eSwgd2UgZmVlbCB0aGF0IHRoZSBkZXZlbG9wbWVudCBvZiBhIGpldCB0YW5rZXIgYW5kIHRyYW5zcG9ydCBpcyBlc3NlbnRpYWwuIEZ1cnRoZXJtb3JlLCBpdCBsb25nIGhhcyBiZWVuIG91ciB2aWV3IHRoYXQgQW1lcmljYW4gbWFudWZhY3R1cmVycyBzaG91bGQgZGV2ZWxvcCBjb21tZXJjaWFsIGpldCB0cmFuc3BvcnRzIGFzIHNvb24gYXMgaXQgd2FzIGVjb25vbWljYWxseSBmZWFzaWJsZSB0byBkbyBzby4gPGJyIC8+CkJ5IHJlYXNvbiBvZiBpdHMgc3VjY2Vzc2Z1bCBCLTQ3IGFuZCBCLTUyIHByb2dyYW1zLCB0aGUgQm9laW5nIGNvbXBhbnkgaGFzIHRoZSBhZHZhbnRhZ2Ugb2YgYSBncmVhdGVyIHZvbHVtZSBvZiBleHBlcmllbmNlIHdpdGggbGFyZ2UgamV0IGFpcmNyYWZ0IHRoYW4gYW55IG90aGV0IGNvbXBhbnkuIEZvciBleGFtcGxlLCBtb3JlIHRoYW4gNTAwMCBob3VycyBvZiBtdWx0aS1qZXQgZmxpZ2h0IHRlc3QgZXhwZXJpZW5jZSBoYXZlIGJlZW4gZ2FpbmVkIGluIHRoZSBjb21iaW5lZCBCLTQ3IGFuZCBCLTUyIHByb2dyYW1zLiBGbGlnaHQgdGVzZWFyY2ggd2l0aCB0aGUgQi00NyBoYXMgYmVlbiBjb250aW51ZWQgdGhyb3VnaCB0aGUgcGFzdCBmaXZlIHllYXRzLjxiciAvPgpUaGUgZGVzaWduLCBkZXZlbG9wbWVudCBhbmQgbWFudWZhY3R1cmUgb2YgdGhlIHByb3RvdHlwZSB3aWxsIHJlcXVpcmUgZXhwZW5kaXR1cmVzIGVzdGltYXRlZCB0byBleGNlZWQgJDE1LDAwMCwwMDAuIFRoZXNlIGV4cGVuZGl0dXJlcyBhcmUgYmVpbmcgY2hhcmdlZCB0byBwcm9maXQgYW5kIGxvc3MgYXMgaW5jdXJyZWQsIGFuZCBhcmUgYWxzbyBjdXJyZW50bHkgZGVkdWN0aWJsZSBmb3IgaW5jb21lIHRheCBwdXJwb3Nlcy4gVGhlIHByb3RvdHlwZSBhaXJwbGFuZSBpcyBzY2hlZHVsZWQgdG8gYmUgZmx5aW5nIGluIDE5NTQuPGJyIC8+CjxiciAvPgo8c3Ryb25nPjE5NTM8L3N0cm9uZz48YnIgLz4KWW91ciBjb21wYW55J3MgcHJvdG90eXBlIGpldCB0YW5rZXItdHJhbnNwb3J0IHdpbGwgZmx5IGluIHRoZSBmYWxsIG9mIDE5NTQuIFRoaXMgNTUwLW1pbGUtYW4taG91ciBhaXJwbGFuZSBpcyBvZiBlbnRpcmVseSBuZXcgZGVzaWduLCBhbHRob3VnaCBieSByZWFzb24gb2YgdGhlIGtub3dsZWRnZSBhY3F1aXJlZCBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhlIEItNDcgYW5kIEItNTIgaXQgaGFzIGluaGVyaXRlZCBhbnkgb2YgdGhlaXIgY2hhcmFjdGVyaXN0aWNzLiBJdCB3aWxsIGJlIHBvd2VyZWQgYnkgZm91ciBQcmF0dCAmYW1wOyBXaGl0bmV5IHR1cmJvamV0IGVuZ2luZXMgb2YgMTAsMDAwIGxicy4gdGhydXN0IGVhY2guIEZ1bGx5IGxvYWRlZCwgaXQgd2lsbCB3ZWlnaCAxOTAsMDAwIGxicy48YnIgLz4KQXMgQW1lcmljYSdzIGZpcnN0IGpldCB0cmFuc3BvcnQgdGhlIEJvZWluZyBwcm90b3R5cGUgd2lsbCBzZXJ2ZSBhcyBhIHRlc3QgYW5kIGRlbW9uc3RyYXRvciBtb2RlbC4gSW4gdGhlIG1pbGl0YXJ5IGZpZWxkLCB0aGUgbW9kZWwgd2lsbCBiZSB1c2VkIHRvIGRlbW9uc3RyYXRlIHRoZSBhZHZhbnRhZ2VzIG9mIGEgaGlnaHNwZWVkIG11bHRpLXB1cnBvc2UgYWl0cGxhbmUgZm9yIGFlcmlhbCByZWZ1ZWxpbmcgb2YgamV0IGJvbWJlcnMgYW5kIGZpZ2h0ZXRzLCBhbmQgZm9yIHRoZSB0dGFuc3BvcnRhdGlvbiBvZiBjYXJnbyBhbmQgcGVyc29ubmVsIGFuZCBhaXIgZXZhY3VhdGlvbiBvZiBzaWNrIGFuZCBpbmp1cmVkIHRyb29wcy4gVGhlIHNhbWUgYmFzaWMgZGVzaWduIGlzIGFkYXB0YWJsZSB0byBhIGNvbW1lcmNpYWwgYWlybGluZXIgaW4gdGhlIDgwLSB0byAxMzAtcGFzc2VuZ2VyIHJhbmdlLCBhbmQgdGhlIHB0b3RvdHlwZSB3aWxsIGVuYWJsZSB1cyB0byBkZW1vbnN0cmF0ZSB0byBhaXJsaW5lcyB0aGUgcG90ZW50aWFsaXRpZXMgb2Ygc3VjaCBlcXVpcG1lbnQuIDxiciAvPgpUaGUgbmV3IGFpcnBsYW5lIGlzIHRoZSB0ZXN1bHQgb2YgcHJlbGltaW5hcnkgc3R1ZGllcyBzdGFydGVkIGJ5IHlvdXIgY29tcGFueSBhcyBlYXJseSBhcyAxOTQ2LiBJdCB3YXMgZ2l2ZW4gcHJvamVjdCBzdGF0dXMgaW4gdGhlIHNwcmluZyBvZiAxOTUyLCBhbmQgaXMgZW50aXJlbHkgY29tcGFueSBmaW5hbmNlZC4gT3VyIHdvcmsgd2l0aCB0aGUgQi00NyBhbmQgQi01MiBnaXZlcyB1cyBkZXNpZ24sIG1hbnVmYWN0dXRpbmcgYW5kIGZsaWdodCB0ZXN0IGV4cGVyaWVuY2Ugb24gbXVsdGktamV0IGFpcmNyYWZ0IGV4Y2VlZGluZywgd2UgYmVsaWV2ZSwgdGhhdCBvZiBhbnkgb3RoZXIgY29tcGFueSBpbiB0aGUgd29ybGQuIENvbnNpZGVyYWJsZSBpbnRlcmVzdCBoYXMgYmVlbiBleHByZXNzZWQgaW4gdGhlIGFpcnBsYW5lIGJvdGggYnkgdGhlIG1pbGl0YXJ5IGFuZCBieSB0aGUgYWlybGluZXMsIGFuZCBudW1lcm91cyBvZmZpY2lhbHMgZnJvbSBib3RoIGdyb3VwcyBoYXZlIGNvbWUgdG8gU2VhdHRsZSB0byBpbnNwZWN0IGl0LiA8YnIgLz4KRXhwZW5kaXR1cmVzIG9uIHRoaXMgcHJvamVjdCB0b3RhbGVkICQxMiwzOTgsNDkzIGJ5IERlY2VtYmVyIDMxLCAxOTUzLCBhbmQgYXJlIGV4cGVjdGVkIHRvIGFwcHJveGltYXRlICQxNSwyNjAsMDAwIGF0IHRoZSB0aW1lIG9mIGZpcnN0IGZsaWdodC4gVGhlc2UgZXhwZW5kaXR1cmVzIGFyZSBiZWluZyBjaGFyZ2VkIHRvIHByb2ZpdCBhbmQgbG9zcyBhcyBpbmN1cnJlZCwgYW5kIGFyZSBkZWR1Y3RpYmxlIGN1cnJlbnRseSBmb3IgaW5jb21lIHRheCBwdXJwb3Nlcy48YnIgLz4K4oCDPGJyIC8+CjxzdHJvbmc+MTk1NDwvc3Ryb25nPjxiciAvPgpLQy0xMzUgV29yayBCZWdpbnMgVGhlIGNvbXBhbnkncyBkZWNpc2lvbiBpbiAxOTUyIHRvIHByb2R1Y2Ugd2l0aCBpdHMgb3duIGZ1bmRzIGEgcHJvdG90eXBlIGpldCB0YW5rZXItdHJhbnNwb3J0IHByb3ZlZCBmcnVpdGZ1bCB3aGVuIHRoZSBBaXIgRm9yY2UsIGluIEF1Z3VzdCwgb3JkZXJlZCBhIExpbWl0ZWQgcXVhbnRpdHkgb2YgdGhlIGZvdXJqZXQsIHN3ZXB0LXdpbmcgYWlycGxhbmUuIFRoaXMgaW5pdGlhbCBvcmRlciB3YXMgZm9sbG93ZWQgaW4gTWFyY2gsIDE5NTUsIHdpdGggYW5ub3VuY2VtZW50IGJ5IFNlY3JldGFyeSBvZiB0aGUgQWlyIEZvcmNlIEhhcm9sZCBFLiBUYWxib3R0IHRoYXQgdGhlIHNlcnZpY2Ugd291bGQgc3RhbmRhcmRpemUgb24gdGhlIEtDLTEzNSB0YW5rZXIgd2l0aCBwbGFjZW1lbnQgb2Ygc3Vic3RhbnRpYWwgYWRkaXRpb25hbCBvcmRlcnMuPGJyIC8+ClRoZSBuZXcgbWlsaXRhcnkgYWlycGxhbmUsIHRvIGJlIGtub3duIGFzIHRoZSBLQy0xMzUgSmV0IFN0cmF0b3Rhbmtlciwgd2lsbCBiZSBhbiBhZHZhbmNlZCB2ZXJzaW9uIG9mIHRoZSBwcm90b3R5cGUuIEFzc2lzdGFudCBBaXIgRm9yY2UgU2VjcmV0YXJ5IFJvZ2VyIExld2lzIGluIERlY2VtYmVyIGRlc2NyaWJlZCB0aGUgcHJvamVjdCBhcyAib25lIG9mIGhpZ2hlc3QgcHJpb3JpdHkgZm9yIHRoZSBBaXIgRm9yY2UgYW5kIHRoZSBuYXRpb24uIiBUb29saW5nLCBlbmdpbmVlcmluZywgYW5kIG90aGVyIGVhcmx5LXN0YWdlIHByb2R1Y3Rpb24gd29yayBpcyBtb3ZpbmcgYWhlYWQgYXQgdGhlIFJlbnRvbiAoV2FzaGluZ3RvbikgcGxhbnQuIFRoZSBjb21wYW55J3MgbWFudWZhY3R1cmluZyBhbmQgZmxpZ2h0IGV4cGVyaWVuY2Ugd2l0aCB0aGUgcHJvdG90eXBlIHdpbGwgbWFrZSBpdCBwb3NzaWJsZSB0byBoYXZlIG9wZXJhdGlvbmFsIEtDLTEzNSdzIGZseWluZyBtYW55IG1vbnRocyBzb29uZXIgdGhhbiBvdGhlcndpc2Ugd291bGQgaGF2ZSBiZWVuIHRoZSBjYXNlLjxiciAvPgpUaGUgcHJvdG90eXBlIGJ5IHllYXIgZW5kIGhhZCBsb2dnZWQgOTIgaG91cnMgYW5kIDMwIG1pbnV0ZXMgb2YgZmxpZ2h0IHRlc3QgdGltZSwgYXZlcmFnaW5nIDE4IGhvdXJzIHBlciBtb250aC4gVGhpcyBleGNlZWRlZCB0aGUgdXRpbGl6YXRpb24gb2YgYW55IG90aGVyIEJvZWluZyBwcm90b3R5cGUgaW4gYSBsaWtlIHBlcmlvZC48YnIgLz4KPGJyIC8+ClByb3RvdHlwZSBPdXRzdGFuZGluZzxiciAvPgpJbiBhbG1vc3QgZXZlcnkgY2F0ZWdvcnkgdGhlIHByb3RvdHlwZSBqZXQgdGFua2VyLXRyYW5zcG9ydCBleGNlZWRlZCBlc3RpbWF0ZWQgcGVyZm9ybWFuY2UuIEFsdGhvdWdoIG5vIGV4YWN0IGZpZ3VyZXMgd2VyZSByZWxlYXNlZCwgdGhlIGZvdXJqZXQsIHN3ZXB0LXdpbmcgY3JhZnQgaGFzIGJlZW4gZmxvd24gdG8gaGlnaGVyIGFsdGl0dWRlcyBhbmQgYXQgZ3JlYXRlciBzcGVlZHMgdGhhbiBhbnkgb3RoZXIgdHJhbnNwb3J0IGFpcnBsYW5lLiBUaGUgbmV3IGFpcnBsYW5lIHdhcyBkZXNpZ25lZCBmb3Igc2FmZXR5LCBlY29ub215LCBjb21mb3J0LCBhbmQgZWFzZSBvZiBtYWludGVuYW5jZSBpbiBhZGRpdGlvbiB0byBoaWdoIHBlcmZvcm1hbmNlLiBJdCBiZW5lZml0cyBmcm9tIG1vcmUgdGhhbiAyMiwwMDAgaG91cnMgb2YgQm9laW5nIHdpbmQgdHVubmVsIHRlc3Rpbmcgb24gbXVsdGktamV0IHBvd2VyZWQgYWlycGxhbmUgdHlwZXMgYW5kIHRoZWlyIGNvbXBvbmVudHMuIFRoZSBleHBlcmllbmNlIGdhaW5lZCB0aHJvdWdoIG1vcmUgdGhhbiAxMSwwMDAgaG91cnMgb2YgZXhwZXJpbWVudGFsIGFuZCBwcm9kdWN0aW9uIHRlc3QgZmx5aW5nIG9mIHN1Y2ggYWlycGxhbmVzIGJ5IEJvZWluZyBjcmV3cyBoYXMgZ29uZSBpbnRvIHRoZSBwbGFuZSwgaW4gYWRkaXRpb24gdG8gdGhhdCBnYWluZWQgaW4gbWFudWZhY3R1cmluZyBtb3JlIHRoYW4gYSB0aG91c2FuZCBtdWx0aS1qZXQgYWlycGxhbmVzLiBBbHNvIGluY29ycG9yYXRlZCBhcmUgdGhlIHJlc3VsdHMgb2YgYSBwcmUtZGVzaWduIHN1cnZleSB3aGljaCBzb3VnaHQgcmVjb21tZW5kYXRpb25zIG9mIG1pbGl0YXJ5IGFnZW5jaWVzLCBhaXJsaW5lcywgcGlsb3RzLCBhbmQgdGhlIEFpciBUcmFuc3BvcnQgQXNzb2NpYXRpb24uPGJyIC8+ClRoZSBjb21wYW55IGlzIGhvcGVmdWwgb2YgZW50ZXJpbmcgdGhlIGNvbW1lcmNpYWwgZmllbGQsIGJ1dCB0aGUgZGVjaXNpb24gaXMgZGVwZW5kZW50IG9uIG1pbGl0YXJ5IHJlcXVpcmVtZW50cyBhbmQgdGhlIGZpbmFuY2lhbCBmZWFzaWJpbGl0eSBvZiBzdWNoIGFuIHVuZGVydGFraW5nLjxiciAvPgo8YnIgLz4KPHN0cm9uZz4xOTU2PC9zdHJvbmc+PGJyIC8+ClRoZSBjb21wYW55J3MgcHJvZ3Jlc3MgaW4gaXRzIGVuZGVhdm9yIHRvIGZpcm1seSBlc3RhYmxpc2ggaXRzZWxmIGluIHRoZSBjb21tZXJjaWFsIGZpZWxkIGhhcyBiZWVuIHZlcnkgc2F0aXNmYWN0b3J5LiBBcyBvZiB0aGUgeWVhciBlbmQgQm9laW5nIGhhZCBmaXJtIG9yZGVycyBvciBsZXR0ZXJzIG9mIGludGVudCBmb3IgYSB0b3RhbCBvZiAxMzQgY29tbWVyY2lhbCBqZXQgdHJhbnNwb3J0cyBmcm9tIGVsZXZlbiBtYWpvciBhaXJsaW5lcy4gVGhlc2UgYWlybGluZXMgaW5jbHVkZSBmaXZlIGRvbWVzdGljIGFuZCBzaXggZm9yZWlnbiBvcGVyYXRvcnMgd2l0aCBhIHdvcmxkLXdpZGUgbmV0d29yayBvZiBhaXIgcm91dGVzIHNlcnZpbmcgc2l4IGNvbnRpbmVudHMuIEFuIGludGVuc2Ugc2FsZXMgcHJvZ3JhbSBpcyBiZWluZyBjYXJyaWVkIG9uIHRocm91Z2hvdXQgdGhlIHdvcmxkLCBhbmQgdGhlIHByb3NwZWN0cyBmb3IgYWRkaXRpb25hbCBzYWxlcyBhcmUgZ29vZC4gPGJyIC8+ClRvIGJlc3QgbWVldCB0aGUgbmVlZHMgb2YgcHJlc2VudCBhbmQgcG90ZW50aWFsIGN1c3RvbWVycywgdGhlIGNvbXBhbnkgaGFzIGRldmVsb3BlZCBhIGZhbWlseSBvZiBqZXQgdHJhbnNwb3J0cy4gSW5jbHVkZWQgYXJlIGZvdXIgdmVyc2lvbnMgb2YgdGhlIDcwNyBzZXJpZXMgYW5kIGEgbGlnaHRlci13ZWlnaHQsIG1lZGl1bS1yYW5nZSB0cmFuc3BvcnQgZGVzaWduYXRlZCB0aGUgNzE3LiBUaGUgY29tcGFueSBpcyBjb250aW51aW5nIHRvIHN0dWR5IHRoZSBuZWVkcyBvZiB0aGUgYWlybGluZXMgYW5kIG1heSBkZXZlbG9wIGZ1cnRoZXIgbW9kZWxzIGZvciBvdGhlciByZXF1aXJlbWVudHMuPGJyIC8+ClByb2R1Y3Rpb24gaXMgcHJvY2VlZGluZyBvbiB0aGUgZm91ciB2ZXJzaW9ucyBvZiB0aGUgNzA3IG9uIG9yZGVyLiBUd28gb2YgdGhlc2UgdmVyc2lvbnMgYXJlIG9mIHRoZSBsYXJnZSA3MDcgSW50ZXJjb250aW5lbnRhbCwgZGVzaWduZWQgZm9yIGxvbmctIHRoZSA3MDcgc2VyaWVzIGFuZCBhIGxpZ2h0ZXItd2VpZ2h0LCBtZWRpdW0tcmFuZ2UgdHJhbnNwb3J0IGRlc2lnbmF0ZWQgdGhlIDcxNy4gVGhlIGNvbXBhbnkgaXMgY29udGludWluZyB0byBzdHVkeSB0aGUgbmVlZHMgb2YgdGhlIGFpcmxpbmVzIGFuZCBtYXkgZGV2ZWxvcCBmdXJ0aGVyIG1vZGVscyBmb3Igb3RoZXIgIGVxdWlyZW1lbnRzLiBQcm9kdWN0aW9uIGlzIHByb2NlZWRpbmcgb24gdGhlIGZvdXIgdmVyc2lvbnMgb2YgdGhlIDcwNyBvbiBvcmRlci4gVHdvIG9mIHRoZXNlIHZlcnNpb25zIGFyZSBvZiB0aGUgbGFyZ2UgNzA3IEludGVyY29udGluZW50YWwsIGRlc2lnbmVkIGZvciBsb25nam9pbnQgc3R1ZHkgYW5kIHRlc3QgcHJvZ3JhbSB1c2luZyB0aGUgY29tcGFueSdzIDcwNyBwcm90b3R5cGUsIHRvIHBhdmUgdGhlIHdheSBmb3IgdGhlIGFpcmxpbmVzJyB0cmFuc2l0aW9uIHRvIGpldCB0cmFuc3BvcnRhdGlvbi4gQWZ0ZXIgdGhlIGZpcnN0IHBoYXNlIG9mIHRoaXMgcHJvZ3JhbSwgQ0FBIGFkbWluaXN0cmF0b3IgSmFtZXMgVC4gUHlsZSBzYWlkOiA8YnIgLz4KIldlIGFyZSB0ZXJyaWZpY2FsbHkgaW1wcmVzc2VkIHdpdGggdGhpcyBhaXJjcmFmdC4gSWYgYWxsIGpldCBhaXJjcmFmdCBjb21lIHVwIHRvIGl0cyBzdGFuZGFyZCBvZiBvcGVyYXRpb24sIHdlIGhhdmUgbm8gcHJvYmxlbSBpbiB0aGUgb3BlcmF0aW9uIG9mIGpldCBhaXJwbGFuZXMuIiA8YnIgLz4KVGhlIDcwNyBwcm90b3R5cGUgY29udGludWVkIHRvIHByb3ZlIGl0cyB2YWx1ZSB0aHJvdWdob3V0IHRoZSB5ZWFyLiBVcG9uIGNvbXBsZXRpb24gb2YgaXRzIHRlc3QgcHJvZ3JhbSBmb3IgdGhlIFUuIFMuIEFpciBGb3JjZSwgdGhlIGFpcnBsYW5lIHdhcyB1c2VkIGluY3JlYXNpbmdseSBpbiBjb21tZXJjaWFsIHRlc3RzIGFuZCBkZW1vbnN0cmF0aW9ucy48YnIgLz4K4oCDPGJyIC8+CjxzdHJvbmc+MTk1Nzwvc3Ryb25nPjxiciAvPgpXaXRoIGl0cyBuZXcgZmFjaWxpdGllcyBpbiB1c2UgYW5kIGFuIGluY3JlYXNpbmcgZXhwZXJpZW5jZSBsZXZlbCBhbW9uZyBpdHMgcGVyc29ubmVsLCB0aGUgVHJhbnNwb3J0IERpdmlzaW9uIGlzICJvbiBzY2hlZHVsZSIgaW4gaXRzIHByb2R1Y3Rpb24gb2YgYm90aCBLQy0xMzUgbWlsaXRhcnkgdGFua2VyLXRyYW5zcG9ydHMgYW5kIDcwNyBjb21tZXJjaWFsIHRyYW5zcG9ydHMuPGJyIC8+CktDLTEzNSBwcm9kdWN0aW9uIGlzIHN0ZWFkaWx5IGluY3JlYXNpbmcgYW5kIHN1YnN0YW50aWFsIG51bWJlcnMgYXJlIG5vdyBpbiB1c2Ugd2l0aCBCLTUyIHdpbmdzIG9mIHRoZSBBaXIgRm9yY2UsIHdoZXJlIHRoZXkgYXJlIGRlbW9uc3RyYXRpbmcgdGhlaXIgY2FwYWJpbGl0aWVzIGluIGV4dGVuZGluZyB0aGUgcmFuZ2UgYW5kIG9wZXJhdGlvbmFsIHBlcmZvcm1hbmNlIG9mIHRoZSBCLTUycy4gPGJyIC8+ClR3byBzaWduaWZpY2FudCByZWNvcmRzIHdlcmUgc2V0IGJ5IGEgS0MtMTM1IG9uIGEgcm91bmQtdHJpcCBmbGlnaHQgdG8gQnVlbm9zIEFpcmVzLiBUaGUgZmlyc3QgbGVnLCBieSBhIGNpcmN1aXRvdXMgcm91dGUsIGNvdmVyZWQgNiwzNTAgbWlsZXMgaW4gMTMgaG91cnMsIDIgbWludXRlcy4gSXQgd2FzIHRoZSBsb25nZXN0IGRpc3RhbmNlIGV2ZXIgZmxvd24gYnkgYSBub24tcmVmdWVsZWQgamV0IGFpcmNyYWZ0LiBPbiB0aGUgcmV0dXJuIHRoZSBhaXJwbGFuZSBmbGV3IDUsMjA0IG1pbGVzIGZyb20gdGhlIEFyZ2VudGluZSBjYXBpdGFsIHRvIFdhc2hpbmd0b24sIEQuIEMuIGluIDExIGhvdXJzLCA1IG1pbnV0ZXMuPGJyIC8+CiBPbiBhIHJvdXRpbmUgZGVsaXZlcnkgZmxpZ2h0LCBhIEtDLTEzNSBjcm9zc2VkIHRoZSBVbml0ZWQgU3RhdGVzIGZyb20gTGFyc29uIEFpciBGb3JjZSBCYXNlLCBpbiB0aGUgU3RhdGUgb2YgV2FzaGluZ3RvbiwgdG8gV2VzdG92ZXIgQUZCLCBNYXNzYWNodXNldHRzLCBpbiB0aHJlZSBob3VycywgMzcgbWludXRlczsgYW4gYXZlcmFnZSBzcGVlZCBvZiA2NDkgbWlsZXMgcGVyIGhvdXIuIEFlcmlhbCByZWZ1ZWxpbmcgYXQgaGlnaCBhbHRpdHVkZSBhbmQgaGlnaCBzcGVlZCwgYnkgS0MtMTM1cywgYWxzbyBtYWRlIHBvc3NpYmxlIG5ldyBqZXQgZmlnaHRlciByZWNvcmRzIGZvciB0cmFuc2NvbnRpbmVudGFsIGZsaWdodHMgZnJvbSB0aGUgd2VzdCB0byB0aGUgZWFzdCBjb2FzdCBhbmQgcmV0dXJuLiA8YnIgLz4KU3VjaCBkZW1vbnN0cmF0ZWQgY2FwYWJpbGl0eSBpbiBzcGVlZCBhbmQgcmFuZ2Ugb2YgdGhlIEJvZWluZyBqZXQgdGFua2VyLXRyYW5zcG9ydCwgY291cGxlZCB3aXRoIGl0cyBoaWdoIGFsdGl0dWRlIHBlcmZvcm1hbmNlLCBoYXZlIGdpdmVuIGFkZGVkIGVtcGhhc2lzIHRvIGEgd2lkZSB2YXJpZXR5IG9mIHBvdGVudGlhbCB1c2VzIGZvciB0aGUgcGxhbmUuIE9uZSBLQy0xMzUgYWxyZWFkeSBoYXMgYmVlbiBvdXQtIDEyIGZpdHRlZCBhcyBhIGZseWluZyBjb21tYW5kIHBvc3QsIHdpdGggY29tbXVuaWNhdGlvbnMgZXF1aXBtZW50IHByb3ZpZGluZyBjb250YWN0IHdpdGggQWlyIEZvcmNlIG91dHBvc3RzIGFsbCBvdmVyIHRoZSB3b3JsZC4gPGJyIC8+Ck1vZGVybiBsb2dpc3RpYyByZXF1aXJlbWVudHMgb2YgdGhlIGFybWVkIGZvcmNlcyBjYWxsIGZvciBpbW1lZGlhdGUgYXZhaWxhYmlsaXR5IG9mIGhpZ2hzcGVlZCB0cmFuc3BvcnRhdGlvbiBvZiBtZW4gYW5kIG1hdGVyaWVsLiBUaGlzIG5lZWQgbWFrZXMgaXQgcmVhc29uYWJsZSB0byBwcmVkaWN0IGxvbmcgc2VydmljZSBsaWZlIGFuZCBpbmNyZWFzZWQgZGVtYW5kIGZvciB0aGUgbXVsdGktcHVycG9zZSBCb2VpbmcgamV0IHRhbmtlci10cmFuc3BvcnRzLiA8YnIgLz4KSGlnaCBhbHRpdHVkZSBlbGVjdHJvbmljIHJlY29ubmFpc3NhbmNlIGlzIGFub3RoZXIgcG90ZW50aWFsIHVzZSBmb3IgdGhlIGFpcnBsYW5lLiBTdWNoIHJhZGFyZXF1aXBwZWQgdGFua2VyLXRyYW5zcG9ydHMgd291bGQgYXVnbWVudCBhbmQgZXh0ZW5kIHByZXNlbnQgZ3JvdW5kLWJhc2VkIGVhcmx5IHdhcm5pbmcgbmV0d29ya3MuIFRoZSBsb25nLXJhbmdlIGpldHMgYWxzbyBvZmZlciBmYXN0ZXIsIGZhcnRoZXItIHJhbmdpbmcgd2VhdGhlciByZWNvbm5haXNzYW5jZSB0aGFuIGlzIHByZXNlbnRseSBwb3NzaWJsZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSBhaXJjcmFmdCBhcmUgY29taW5nIGdmZiB0aGUgcHJvZHVjdGlvbiBsaW5lIHRvZGF5IGluIHN1YnN0YW50aWFsIG51bWJlcnMgbWFrZXMgdGhlbSBhbiBhbnN3ZXIgaW4gYmVpbmcgdG8gbWFueSBvZiB0b2RheSdzIG1pbGl0YXJ5IHByb2JsZW1zLiA8YnIgLz4KUHJvZHVjdGlvbiByYXRlIG9mIEtDLTEzNXMgaXMgaW5jcmVhc2luZyBhcyBwcm9ncmFtbWVkIHRvd2FyZCBhIHByb2plY3RlZCBwZWFrIG9mIDE1IGEgbW9udGggdG8gYmUgYWNoaWV2ZWQgaW4gSnVseSwgMTk1OC4gVGhlIEtDLTEzNSBwcm9ncmFtIGlzIGFuIG91dGdyb3d0aCBvZiB0aGUgY29tcGFueSdzIGludmVzdG1lbnQgb2Ygc29tZSAkMTYsMDAwLDAwMCBpbiBidWlsZGluZyB0aGUgamV0IHRyYW5zcG9ydC10YW5rZXIgcHJvdG90eXBlLiBUaGlzIGFpcnBsYW5lIG1hZGUgaXRzIGZpcnN0IGZsaWdodCBvbiBKdWx5IDE1LDE5NTQuIERlbW9uc3RyYXRpb25zIG9mIHRoZSBwcm90b3R5cGUncyBjb21wYXRpYmlsaXR5IHdpdGggdGhlIEItNTIgYW5kIG90aGVyIG1pbGl0YXJ5IGpldCBhaXJjcmFmdCwgY29udmluY2VkIHRoZSBBaXIgRm9yY2Ugb2YgdGhlIGRlc2lyYWJpbGl0eSBvZiBhIGhpZ2hzcGVlZCwgaGlnaC1hbHRpdHVkZSByZWZ1ZWxpbmcgdGFua2VyLXRyYW5zcG9ydCwgYW5kIGxlZCB0byB0aGUgc3Vic3RhbnRpYWwgcHJvZHVjdGlvbiBwcm9ncmFtIGluIHdoaWNoIHRoZSBUcmFuc3BvcnQgRGl2aXNpb24gaXMgbm93IGVuZ2FnZWQuIDxiciAvPgpBYmlsaXRpZXMgb2YgdGhlIGRpdmlzaW9uIHRvIG1lZXQgc3BlY2lmaWMgcHJvYmxlbXMgb2YgdGhlIGFpcmxpbmVzIHdlcmUgZGVtb25zdHJhdGVkIGluIHRoZSBldm9sdmVtZW50IG9mIHRoZSBNb2RlbCA3MjAgc2hvcnQgdG8gbWVkaXVtIHJhbmdlIGpldCB0cmFuc3BvcnQuIFRoaXMgbW9kZWwgdGFrZXMgdGhlIHBsYWNlIG9mIHRoZSBlYXJsaWVyIGFubm91bmNlZCBNb2RlbCA3MTcuIEl0cyBhY2NlcHRhbmNlIGJ5IHRoZSBhaXJsaW5lcyB3YXMgYXBwYXJlbnQgd2hlbiBVbml0ZWQgQWlyIExpbmVzIHByb21wdGx5IHNpZ25lZCBmb3IgMTEgb2YgdGhlIHBsYW5lcy4gVW5pdGVkIG1hbmFnZW1lbnQgYWxzbyBzdGF0ZWQgaXQgd291bGQgb3JkZXIgNDAgbW9yZSA3MjBzIG92ZXIgdGhlIG5leHQgZmV3IHllYXJzLiBZb3VyIENvbXBhbnkgY29uZmlkZW50bHkgYW50aWNpcGF0ZXMgYSBoaWdoIHNhbGVzIHBvdGVudGlhbCBmb3IgdGhlIDcyMC4gSW50ZW5zaXZlIHNhbGVzIGVmZm9ydHMgb24gYm90aCB0aGUgNzA3IGFuZCB0aGUgNzIwIGFyZSBiZWluZyBwdXJzdWVkIGluIHRoZSBVbml0ZWQgU3RhdGVzIGFuZCBmb3JlaWduIGNvdW50cmllcy4gPGJyIC8+ClRvdGFsIG9yZGVycyBmb3IgYWxsIG1vZGVscyBvZiBCb2VpbmcgamV0IHRyYW5zcG9ydHMgc3Rvb2QgYXQgMTYxIGF0IHllYXItZW5kIGZvciBhIGNvbW1lcmNpYWwgYmFja2xvZyBvZiAkNzkyLDAwMCwwMDAgY29tcHJpc2luZyAzMi4zJSBvZiB0aGUgY29tcGFueSdzIHRvdGFsIGJhY2tsb2cuIEZvdXJ0ZWVuIEFtZXJpY2FuIGFuZCBmb3JlaWduIGFpcmxpbmVzIGhhZCBjaG9zZW4gQm9laW5nIGpldCB0cmFuc3BvcnRzIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSB5ZWFyLiA8YnIgLz4KTmV3bHkgcmVwcmVzZW50ZWQgb24gdGhlIGxpc3QgaW4gYWRkaXRpb24gdG8gVW5pdGVkIEFpciBMaW5lcyBhcmUgVmFyaWcsIEJyYXppbGlhbiBhaXJsaW5lIGFuZCBDdWJhbmEsIEN1YmFuIGFpcmxpbmUuIER1cmluZyB0aGUgeWVhci4gQWlyIEZyYW5jZSBhbHNvIGFkZGVkIHNldmVuIDcwNyBJbnRlcmNvbnRpbmVudGFscyB0byBpdHMgZWFybGllciBjb21taXRtZW50IGZvciAxMCwgYW5kIG90aGVyIGNvbmZpcm1lZCBidXQgc3RpbGwgdW5hbm5vdW5jZWQgb3JkZXJzIGJyb3VnaHQgdGhlIHllYXIncyBpbmNyZWFzZSB0byAyNy4gPGJyIC8+CkZpcnN0IEZsaWdodCA8YnIgLz4KUm9sbC1vdXQgYW5kIGZpcnN0IGZsaWdodCBvZiB0aGUgTm8uIDEgcHJvZHVjdGlvbiA3MDcgYWhlYWQgb2Ygc2NoZWR1bGUgd2FzIGEgaGlnaGxpZ2h0IG9mIHRoZSB5ZWFyLiBUaGlzIGFpcnBsYW5lIGlzIGVxdWlwcGVkIHdpdGggc291bmQgc3VwcHJlc3NvcnMgYW5kIHRocnVzdCByZXZlcnNlcnMsIHRlc3RzIG9mIHdoaWNoIGFyZSBwcm92aW5nIHNhdGlzZmFjdG9yeS4gVGhpcyBmaXJzdCBhaXJjcmFmdCwgdG9nZXRoZXIgd2l0aCB0aGUgbmV4dCB0d28gb2ZmIHRoZSBwcm9kdWN0aW9uIGxpbmUsIHdpbGwgZW50ZXIgZXh0ZW5zaXZlIENBQSB0ZXN0IHByb2dyYW1zIHRvIHNwZWVkIGNlcnRpZmljYXRpb24gb2YgdGhlIGFpcmNyYWZ0LiBQcm9kdWN0aW9uIG9mIHN1Y2NlZWRpbmcgYWlyY3JhZnQgaXMgcHJvY2VlZGluZyBhdCBpbmNyZWFzZWQgcGFjZSBhbmQgaXQgYXBwZWFycyB0aGF0IEJvZWluZy1idWlsdCBqZXQgdHJhbnNwb3J0cyB3aWxsIGJlIGluIHNlcnZpY2Ugc3Vic3RhbnRpYWxseSBpbiBhZHZhbmNlIG9mIGNvbXBldGluZyB0eXBlcyBiZWluZyBidWlsdCBieSBvdGhlciBBbWVyaWNhbiBjb21wYW5pZXMuIDxiciAvPgpBbm90aGVyIGhpZ2hsaWdodCBvZiB0aGUgeWVhciB3YXMgdGhlIHNldHRpbmcgb2YgYSBuZXcgdHJhbnNjb250aW5lbnRhbCBwYXNzZW5nZXIgdHJhbnNwb3J0IHJlY29yZCB3aGVuIHRoZSBwcm90b3R5cGUgNzA3LCB3aXRoIGxlYWRpbmcgYXZpYXRpb24gd3JpdGVycyBhYm9hcmQsIGZsZXcgZnJvbSBTZWF0dGxlIHRvIEJhbHRpbW9yZSBpbiB0aHJlZSBob3VycywgNDggbWludXRlcy4gVGhpcywgYW5kIHN1YnNlcXVlbnQgcHJlc3MgZmxpZ2h0cywgcmVjZWl2ZWQgdG9wIGNvdmVyYWdlIGluIG5ld3NwYXBlcnMsIHJhZGlvLCBUViBhbmQgbmV3c3JlZWxzIHRocm91Z2hvdXQgdGhlIHdvcmxkLjxiciAvPgrigIM8YnIgLz4KPHN0cm9uZz4xOTU4PC9zdHJvbmc+PGJyIC8+ClRoZSBCb2VpbmcgNzA3IHdlbnQgaW50byBjb21tZXJjaWFsIGFpcmxpbmUgc2VydmljZSBhY3Jvc3MgdGhlIEF0bGFudGljIG9uIE9jdG9iZXIgMjYsIDE5NTguIEl0IHdhcyB0aGUgbW9zdCB0aG9yb3VnaGx5IHRlc3RlZCBhaXJjcmFmdCBldmVyIHRvIGVudGVyIHB1YmxpYyBzZXJ2aWNlLiA8YnIgLz4KQWxyZWFkeSBtb3JlIHRoYW4gNDAsMDAwIHBhc3NlbmdlcnMgaGF2ZSBiZWVuIHRyYW5zcG9ydGVkIG9uIHRoZSBQYW4gQW1lcmljYW4gV29ybGQgQWlyd2F5cyBCb2VpbmcgNzA3IHMgYmV0d2VlbiBOZXcgWW9yaywgTG9uZG9uLCBQYXJpcyBhbmQgUm9tZS48YnIgLz4KRHVyaW5nIHRoZSB5ZWFyLCBwcm9kdWN0aW9uIGluIHRoZSBUcmFuc3BvcnQgRGl2aXNpb24gcGxhbnQgYXQgUmVudG9uLCBXYXNoaW5ndG9uLCBtb3ZlZCBhdCBhbiBpbmNyZWFzaW5nbHkgaGlnaCBwYWNlIG9uIGJvdGggdGhlIG1pbGl0YXJ5IEtDLTEzNSBqZXQgdGFua2VyLXRyYW5zcG9ydCBhbmQgdGhlIGNvbW1lcmNpYWwgYWlybGluZXIuPGJyIC8+CkJ5IHllYXIgZW5kLCAxOSBvZiB0aGUgMTg3IEJvZWluZyBjb21tZXJjaWFsIGpldGxpbmVycyBvbiBvcmRlciBoYWQgYmVlbiByb2xsZWQgb3V0LCBhbmQgZWlnaHQgaGFkIGJlZW4gZGVsaXZlcmVkIHRvIGN1c3RvbWVyIGFpcmxpbmVzLiBTbyBpbnRlbnNpdmUgd2FzIHRoZSBlZmZvcnQgdGhhdCB0aGUgc2l4IGFpcnBsYW5lcyBjb21wcmlzaW5nIFBhbiBBbWVyaWNhbidzIGluaXRpYWwgZ3JvdXAgd2VyZSBkZWxpdmVyZWQgdGhyZWUgbW9udGhzIGFoZWFkIG9mIHNjaGVkdWxlLCBicmluZ2luZyBhIHByZW1pdW0gcGF5bWVudCB1bmRlciB0aGUgY29udHJhY3QuIEFtZXJpY2FuIEFpcmxpbmVzIHJlY2VpdmVkIHRoZSBmaXJzdCB0d28gb2YgaXRzIGV4dGVuc2l2ZSBvcmRlciBiZWZvcmUgRGVjZW1iZXIgMzEsIGFsc28gYWhlYWQgb2Ygc2NoZWR1bGUsIGFuZCBzdGFydGVkIHRyYW5zY29udGluZW50YWwgamV0IHNlcnZpY2UgbGF0ZSBpbiBKYW51YXJ5LiA8YnIgLz4KQmVjYXVzZSBpdCBpcyB0aGUgbmF0aW9uJ3MgZmlyc3QgcHVyZSBqZXQgYWlybGluZXIgYW5kIGEgd2hvbGx5IG5ldyBjb21tZXJjaWFsIGFpcmNyYWZ0LCB0aGUgNzA3IHdhcyBzdWJqZWN0ZWQgdG8gYSBtb3N0IGV4dGVuc2l2ZSBhbmQgZGV0YWlsZWQgY2VydGlmaWNhdGlvbiBwcm9ncmFtIGJ5IHRoZSBDaXZpbCBBZXJvbmF1dGljcyBBdXRob3JpdHkuIFRoaXMgcHJvZ3JhbSwgd2hpY2ggYmVnYW4gbiBBcHJpbCwgcmVzdWx0ZWQgaW4gdGhlIGF3YXJkIG9mIHRoZSBDQUEgdHlwZSBjZXIgdGlmaWNhdGUgZm9yIHRoZSBNb2RlbCAxMjAgc2VyaWVzIG9mIHRoZSA3MDcgb24gU2VwdGVtYmVyIDIzLiBUaGUgZmlyc3QgdGhyZWUgNzA3cyB0b29rIHBhcnQgaW4gbW9yZSB0aGFuIDM2OCBob3VycyBvZiBDQUEgZmxpZ2h0IHRlc3QuPGJyIC8+CkR1cmluZyB0aGUgeWVhciwgYW5ub3VuY2VkIGFnZ3JlZ2F0ZSBvcmRlcnMgZm9yIHRoZSBLQy0xMzUgdGFua2VyLXRyYW5zcG9ydCBzaW5jZSB0aGUgcHJvZ3JhbSBiZWdhbiByZWFjaGVkIDQyNiBwbGFuZXMsIHdpdGggYWRkaXRpb25hbCBxdWFudGl0aWVzIHVuZGVyIG5lZ290aWF0aW9uLiBOZXcgb3JkZXJzIGZvciB0aGUgY29tbWVyY2lhbCBqZXQgdHJhbnNwb3J0IGJyb3VnaHQgdGhlIHRvdGFsIGZyb20gbCA2IGwgdG8gMTg3LiBUaHJlZSBvZiB0aGVzZSwgZGVzaWduYXRlZCBWQy0xMzdBLCB3ZXJlIG9yZGVyZWQgYnkgdGhlIFVuaXRlZCBTdGF0ZXMgQWlyIEZvcmNlIGZvciB1c2UgYXMgbG9uZy1yYW5nZSB0cmFuc3BvcnRzIGZvciB0aGUgZXhlY3V0aXZlIGJyYW5jaCBvZiB0aGUgZ292ZXJubWVudC4gQWlybGluZSBjb21taXRtZW50cyB3ZXJlIGluY3JlYXNlZCB3aGVuIEFtZXJpY2FuIEFpcmxpbmVzIGJyb3VnaHQgaXRzIHRvdGFsIHRvIDUwIEJvZWluZyBqZXQgdHJhbnNwb3J0cy4gU291dGggQWZyaWNhbiBBaXJ3YXlzIGJlY2FtZSBCb2VpbmcncyAxNSB0aCBjdXN0b21lciBhaXJsaW5lIHdoZW4gaXQgcGxhY2VkIGl0cyBvcmRlciBmb3IgdGhyZWUgNzA3cy4gPGJyIC8+CkZpcnN0IG9mIHRoZSB2ZXJ5IGxvbmcgcmFuZ2UgSW50ZXJjb250aW5lbnRhbHMgbW92ZWQgb3V0IG9mIGZpbmFsIGFzc2VtYmx5IGluIE5vdmVtYmVyIGFuZCBmaXJzdCBmbGV3IHRlbiBkYXlzIGFmdGVyIHllYXItZW5kLiBMYXJnZXN0LCBmYXN0ZXN0IGxvbmctcmFuZ2UgamV0IHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uLCB0aGUgSW50ZXJjb250aW5lbnRhbCBoYXMgYSByYW5nZSBvZiBtb3JlIHRoYW4gNSwwMDAgbWlsZXMuIDxiciAvPgpCb2VpbmcgY29tbWVyY2lhbCBhaXJsaW5lciBzYWxlcyB0ZWFtcyBjb250aW51ZWQgY29udGFjdHMgd2l0aCB0aGUgd29ybGQncyBsZWFkaW5nIGFpcmxpbmVzIGFuZCByZXBvcnRlZCBnb29kIHByb3NwZWN0cyBmb3IgYWRkaXRpb25hbCBzYWxlcyBpbiAxOTU5LiBBaXJsaW5lIGZpbmFuY2luZyBhbmQgZGlzcG9zaXRpb24gb2YgZGlzcGxhY2VkIHByb3BlbGxlci1kcml2ZW4gYWlyY3JhZnQgcHJvdmVkIHRvIGJlIHRoZSBncmVhdGVzdCBzYWxlcyBvYnN0YWNsZXMuIEEgc2Vjb25kIG92ZXJzZWFzIHNhbGVzIG9mZmljZSwgYXQgU3lkbmV5LCBBdXN0cmFsaWEsIHdhcyBvcGVuZWQgbGF0ZSBpbiAxOTU4IHRvIGFpZCBpbiB0aGUgY29udGludWluZyBzYWxlcyBkcml2ZS4gVGhpcyBvZmZpY2UgcHJvdmlkZXMgYSBiYXNlIGNvdmVyaW5nIGN1c3RvbWVycyBhbmQgcHJvc3BlY3RpdmUgY3VzdG9tZXJzIGluIEF1c3RyYWxpYSwgdGhlIFBoaWxpcHBpbmVzLCBKYXBhbiBhbmQgbmVpZ2hib3JpbmcgYXJlYXMuIFRoZSBUcmFuc3BvcnQgRGl2aXNpb24ncyBwcmluY2lwYWwgb3ZlcnNlYXMgc2FsZXMgb2ZmaWNlIGlzIGF0IEdlbmV2YSwgU3dpdHplcmxhbmQuPGJyIC8+CkEgY29tbWVyY2lhbCBkZWxpdmVyeSBjZW50ZXIgYXQgQm9laW5nIEZpZWxkIGluIFNlYXR0bGUgd2FzIGNvbXBsZXRlZCBhbmQgcHV0IGludG8gc2VydmljZSBBdWd1c3QgMTUsIHRoZSBkYXkgb24gd2hpY2ggUGFuIEFtZXJpY2FuIHJlY2VpdmVkIGl0cyBmaXJzdCA3MDcuIFNob3J0bHkgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHllYXIsIGNvbnN0cnVjdGlvbiB3YXMgc3RhcnRlZCBvbiBhIHR3by1zdG9yeSBlbmdpbmVlcmluZyBidWlsZGluZyBhdCBSZW50b24gd2hpY2ggd2lsbCBjb25zb2xpZGF0ZSBUcmFuc3BvcnQgZW5naW5lZXJpbmcgYWN0aXZpdGllcyBhdCBEaXZpc2lvbiBoZWFkcXVhcnRlcnMuIDxiciAvPgpBcyBhIHNlcnZpY2UgdG8gY3VzdG9tZXIgYWlybGluZXMsIGFub3RoZXIgbmV3IGZhY2lsaXR5IHdlbnQgaW50byB1c2UgaW4gSmFudWFyeSwgMTk1OSBhdCBOZXcgWW9yayBJbnRlcm5hdGlvbmFsIEFpcnBvcnQuIFRoZSBpbnN0YWxsYXRpb24gd2lsbCBwcm92aWRlIGFuIG92ZXItdGhlLWNvdW50ZXIgc3BhcmUgcGFydHMgc3VwcGx5IG9uIHRoZSBFYXN0ZXJuIHNlYWJvYXJkLjxiciAvPgpUaGUgY29tcGFueSdzIGxvbmctc3RhbmRpbmcgcmVwdXRhdGlvbiBmb3IgcHJvZHVjdGlvbiBvZiBvdXRzdGFuZGluZyBhaXJjcmFmdCBoYXMgYmVlbiBhdWdtZW50ZWQgYnkgcGVyZm9ybWFuY2UgcmVjb3JkcyBvZiB0aGUgNzA3IGpldGxpbmVycyBhbmQgdGhlIEtDLTEzNSBqZXQgdGFua2VyLXRyYW5zcG9ydHMgZHVyaW5nIDE5NTguIEluIHNlcnZpY2UgZmxpZ2h0cyB0byBhbGwgcGFydHMgb2YgdGhlIHdvcmxkLCB0aGUgS0MtMTM1cyBoYXZlIHNldCBuZXcgbWFya3MgZm9yIHVucmVmdWVsZWQgamV0IGZsaWdodCAoMTAsMjg4IG1pbGVzKSwgZm9yIHNwZWVkIChMb3MgQW5nZWxlcy1OZXcgWW9yaywgMyBob3VycywgMjcgbWludXRlcykgYW5kIGZvciBjYXJnbyBsaWZ0IHRvIHNwZWNpZmljIGFsdGl0dWRlLiBUcmFuc2F0bGFudGljIGNvbW1lcmNpYWwgYWlybGluZSByZWNvcmRzIHdlcmUgcmV3cml0dGVuIGJ5IHRoZSA3MDdzIGluIHRoZSB3ZWVrcyBmb2xsb3ctIGluZyB0aGVpciBpbnRyb2R1Y3Rpb24uIEFsdGhvdWdoIHRoZSA3MDdzIG5vdyBpbiBzZXJ2aWNlIGFyZSBhIG1vZGVsIG5vcm1hbGx5IGludGVuZGVkIGZvciB0cmFuc2NvbnRpbmVudGFsIHJ1bnMsIHRoZXkgaGF2ZSBtYWRlIHNvbWUgODAgcGVyIGNlbnQgb2YgZWFzdGJvdW5kIHRyaXBzIG5vbi1zdG9wIGFjcm9zcyB0aGUgQXRsYW50aWMsIGFuZCBtYW55IHdlc3Rib3VuZCBhZ2FpbnN0IHN0cm9uZyBwcmV2YWlsaW5nIHdpbmRzLiBGcm9tIE5ldyBZb3JrIEludGVybmF0aW9uYWwgQWlycG9ydCwgYSBCb2VpbmcgNzA3IFBhbiBBbWVyaWNhbiBDbGlwcGVyIGZsZXcgdG8gTG9uZG9uIGluIDUgaG91cnMsIDQxIG1pbnV0ZXMuIEEgbmV3IHJlY29yZCwgSWRsZXdpbGQgdG8gTGVCb3VyZ2V0IEFpcnBvcnQgaW4gUGFyaXMsIHdhcyBzZXQgaW4gNiBob3VycywgNCBtaW51dGVzLjxiciAvPgpXZXN0Ym91bmQgZnJvbSBQYXJpcywgYSA3MDcgZmxldyBhZ2FpbnN0IHByZXZhaWxpbmcgd2luZHMgbm9uLXN0b3AgdG8gTmV3IFlvcmsgaW4gOCBob3VycywgMTMgbWludXRlcyBhbmQsIGFsc28gbm9uLXN0b3AsIGFub3RoZXIgQm9laW5nIGpldCBzZXQgYSBuZXcgbWFyayBmcm9tIExvbmRvbiB0byBOZXcgWW9yayBpbiA3IGhvdXJzLCA0NiBtaW51dGVzLiA8YnIgLz4KSW4gYWRkaXRpb24gdG8gdGhlIGNvbW1lcmNpYWwgdHJhbnNwb3J0IHNhbGVzIGRyaXZlLCB0aGUgRGl2aXNpb24gaGFzIGJlZW4gYWN0aXZlIGluIHdvcmsgdG93YXJkIGRldmVsb3BtZW50IG9mIG90aGVyIG5ldyBidXNpbmVzcy4gQSBqb2ludCBCb2VpbmctQmVuZGl4IFBoYXNlIEkgY29udHJhY3QgaGFzIGJlZW4gYXdhcmRlZCBmb3IgYSBoaWdoIGFsdGl0dWRlIGFpci13ZWF0aGVyIHJlY29ubmFpc3NhbmNlIHN5c3RlbSB0byBiZSBkZXZlbG9wZWQgZm9yIHRoZSBBaXIgRm9yY2UuIERldmVsb3BtZW50YWwgdGVzdHMsIHRvZ2V0aGVyIHdpdGggZmxpZ2h0IHRlc3Qgb2YgZXF1aXBtZW50IG9uIHRoZSBwcm90b3R5cGUgNzA3LCB3ZXJlIHVuZGVyIHdheSBpbiAxOTU4LiA8YnIgLz4KQ29udGludWluZyBzdHVkaWVzIHdlcmUgYmVpbmcgbWFkZSBvbiBhIGpldCBsb2dpc3RpY3MgdHJhbnNwb3J0IGFuZCBhbiBBaXJib3JuZSBFYXJseSBXYXJuaW5nIGFuZCBDb250cm9sIGFpcmNyYWZ0LiA8YnIgLz4KRGVzaWduIHN0dWRpZXMgb2YgYSBzaG9ydC1yYW5nZSB0cmFuc3BvcnQsIHRoZSA3MjcsIHRvIHN1cHBsZW1lbnQgdGhlIHByZXNlbnQgQm9laW5nICJmYW1pbHkiIG9mIGpldHMgYXJlIGNvbnRpbnVpbmcuIEF0IHRoZSBzYW1lIHRpbWUsIG90aGVyIGVuZ2luZWVycyBhcmUgcHJvYmluZyB0aGUgZnV0dXJlIG9mIGFpciB0cmFuc3BvcnQgaW4gYW4gZXhwbG9yYXRpb24gb2YgdGhlIGZlYXNpYmlsaXR5IG9mIGEgc3VwZXJzb25pYyBjb21tZXJjaWFsIGFpcmNyYWZ0LiA8YnIgLz4KRm9sbG93aW5nIGxvbmctZXN0YWJsaXNoZWQgQm9laW5nIHBvbGljeSwgdGhlIERpdmlzaW9uIGNvbnRpbnVlZCB0byBwcm92aWRlIGJ1c2luZXNzIGZvciBzdWJjb250cmFjdG9ycyBhbmQgc3VwcGxpZXJzIGluIG5lYXJseSBldmVyeSBzdGF0ZQ==