MIL OSI Translation. Government of the Republic of France statements from English to French – Published September 24, 2018439857bcb594987096659898ef8326e62c02d2d44c6a88c9f1f6ad1a92d4eb5e.eyJibG9ja05hbWUiOm51bGwsImF0dHJzIjp7ImRpc2FibGVDYWNoZSI6ZmFsc2V9LCJpbm5lckJsb2NrcyI6W10sImlubmVySFRNTCI6Ik1JTCBPU0kgVHJhbnNsYXRpb24uIEdvdmVybm1lbnQgb2YgdGhlIFJlcHVibGljIG9mIEZyYW5jZSBzdGF0ZW1lbnRzIGZyb20gRW5nbGlzaCB0byBGcmVuY2ggLSBQdWJsaXNoZWQgU2VwdGVtYmVyIDI0LCAyMDE4PHAgY2xhc3M9XCJjM1wiPkxBVyBQUk9KRUNUPFwvcD5cbjxwIGNsYXNzPVwiYzNcIj5GSU5BTkNFIEFDVCBGT1IgMjAxOTxcL3A+XG48cCBjbGFzcz1cImM0XCI+VGhlIE1pbmlzdGVyIG9mIEVjb25vbXkgYW5kIEZpbmFuY2UgYW5kIHRoZSBNaW5pc3RlciBvZiBBY3Rpb24gYW5kIFB1YmxpYyBBY2NvdW50cyBwcmVzZW50ZWQgdGhlIGRyYWZ0IGJ1ZGdldCBsYXcgZm9yIDIwMTkuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5UaGlzIDIwMTkgYnVkZ2V0IGlzIHRoYXQgb2YgdGhlIGNvbW1pdG1lbnRzIG1hZGUgd2l0aCByZWdhcmQgdG8gdGhlIHJlY292ZXJ5IG9mIHRoZSBwdWJsaWMgYWNjb3VudHMsIHdpdGggYSBwdWJsaWMgZGVmaWNpdCBvZiAxLjklIGluIDIwMTkgLSB3aGljaCByZWFjaGVzIDIuOCUgZHVlIHRvIHRoZSB0cmFuc2Zvcm1hdGlvbiBvZiAyMCBiaWxsaW9uIGV1cm9zIG9mIHRheCBjcmVkaXQgY29tcGV0aXRpdmVuZXNzIGFuZCBlbXBsb3ltZW50IChDSUNFKSwgd2l0aCBhIGRyb3AgaW4gc29jaWFsIHNlY3VyaXR5IGNvbnRyaWJ1dGlvbnMgLSBhbmQgYSBzdGFibGUgY2hhbmdlIGluIHB1YmxpYyBzcGVuZGluZyBpbiAyMDE4LCB3aGljaCBoYXMgYmVlbiBicm91Z2h0IHVuZGVyIGNvbnRyb2wgYXQgMC42JSBpbiB2b2x1bWUgdGVybXMgaW4gMjAxOSAtIGNvbXBhcmVkIHRvIDEuNCUgaW4gMjAxNy4gVGhlIEdvdmVybm1lbnQgdGh1cyByZXNwZWN0cyB0aGUgY291cnNlIGZpeGVkIGJ5IHRoZSBQcmVzaWRlbnQgb2YgdGhlIFJlcHVibGljIGFuZCB2b3RlZCBieSB0aGUgUGFybGlhbWVudCBpbiB0aGUgbGF3IG4gXHUwMGIwIDIwMTgtMzIgb2YgSmFudWFyeSAyMiwgMjAxOCBwdWJsaWMgZmluYW5jZSBwcm9ncmFtbWluZyBmb3IgdGhlIHllYXJzIDIwMTggdG8gMjAyMjogcmVkdWNlLCBieSAyMDIyLCB0aGUgZGVidCBvZiBmaXZlIHBvaW50cyBncm9zcyBkb21lc3RpYyBwcm9kdWN0IChHRFApLCBwdWJsaWMgZXhwZW5kaXR1cmUgYnkgdGhyZWUgcG9pbnRzIGFuZCBvbmUtcG9pbnQgdGF4LjxcL3A+XG48cCBjbGFzcz1cImM0XCI+VGhpcyAyMDE5IGJ1ZGdldCBhZmZpcm1zIHRoZSBjbGVhciBjaG9pY2VzIG9mIHRoZSBHb3Zlcm5tZW50OjxcL3A+XG48cCBjbGFzcz1cImM0XCI+MS4gTG93ZXIgY29tcHVsc29yeSBsZXZpZXMgZm9yIGFsbCBGcmVuY2ggcGVvcGxlLiBNb3JlIHRoYW4gNiBiaWxsaW9uIGV1cm9zIHdpbGwgYmUgcmV0dXJuZWQgdG8gaG91c2Vob2xkcyBuZXh0IHllYXIsIGluY2x1ZGluZyB0aGUgZWxpbWluYXRpb24gb2YgdGhlIHNlY29uZCBpbnN0YWxsbWVudCBvZiB0aGUgaG91c2luZyB0YXggZm9yIDgwJSBvZiB0YXhwYXllcnMsIHRoZSBmdWxsIGVmZmVjdCBvZiB0aGUgcmVkdWN0aW9uIG9mIHVuZW1wbG95bWVudCBhbmQgc2lja25lc3MgY29udHJpYnV0aW9ucyBhbmQgdGhlIEV4ZW1wdGlvbiBmcm9tIG92ZXJ0aW1lIG9mIHNvY2lhbCBzZWN1cml0eSBjb250cmlidXRpb25zIGZyb20gU2VwdGVtYmVyIDIwMTkuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj4yLiBQcm9tb3RlIHRoZSB3b3JrIGFuZCBlbmhhbmNlIHRoZSBhdHRyYWN0aXZlbmVzcyBvZiBvdXIgYnVzaW5lc3Nlcy4gSW4gMjAxOSwgMi41IGJpbGxpb24gZXVyb3Mgd2lsbCBiZSBpbnZlc3RlZCBpbiBza2lsbHMgdG8gZGVhbCBpbiBkZXB0aCB3aXRoIHRoZSBjYXVzZXMgb2YgdW5lbXBsb3ltZW50LiBUaGUgd29yayB3aWxsIGJlIHVwZ3JhZGVkIGJ5IHRoZSBpbmNyZWFzZSBvZiB0aGUgYWN0aXZpdHkgYm9udXMgb2YgMjAgZXVyb3MgYXQgdGhlIFNNSUMgbGV2ZWwuIENvbXBhbmllcyB3aWxsIGJlbmVmaXQgZnJvbSB0aGUgdHJhbnNmb3JtYXRpb24gb2YgdGhlIENJQ0UgaW50byBwZXJtYW5lbnQgcmVkdWN0aW9ucyBpbiBjaGFyZ2VzLCB0aGUgZnVydGhlciByZWR1Y3Rpb24gb2YgY29ycG9yYXRlIHRheCwgYW5kIGEgc2ltcGxpZmllZCB0YXggc3lzdGVtIGJ5IGVsaW1pbmF0aW5nIHNvbWUgMjAgc21hbGwgdGF4ZXMuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj4zLiBQcm90ZWN0IHRoZSBGcmVuY2guIFRoaXMgaXMgdG8gcHJvdGVjdCB0aGVtIHNvY2lhbGx5OiBmb3IgdGhlIG1vc3QgbW9kZXN0LCB0aGUgbWluaW11bSBvbGQgYWdlIGFuZCB0aGUgYWxsb3dhbmNlIGFkdWx0cyB3aXRoIGRpc2FiaWxpdGllcyB3aWxsIGFnYWluIGJlIHN0cm9uZ2x5IHVwZ3JhZGVkLCBhbmQgdGhlIG1lYXN1cmVzIGFubm91bmNlZCBieSB0aGUgUHJlc2lkZW50IG9mIHRoZSBSZXB1YmxpYyBhcyBwYXJ0IG9mIHRoZSBzdHJhdGVneSBvZiBwcmV2ZW50aW9uIGFuZCBmaWdodCBhZ2FpbnN0IHBvdmVydHkgd2lsbCBiZSBmaW5hbmNlZC4gSXQgYWxzbyBjb25zaXN0cyBvZiBwaHlzaWNhbGx5IHByb3RlY3RpbmcgdGhlbTogdGhlIHJlc291cmNlcyBhbGxvY2F0ZWQgdG8gdGhlIG1pbmlzdHJpZXMgb2YgdGhlIGFybWVkIGZvcmNlcywganVzdGljZSBhbmQgdGhlIGludGVyaW9yIHdpbGwgYmUgc3Ryb25nbHkgcmVpbmZvcmNlZC48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPjQuIFByZXBhcmUgdGhlIGZ1dHVyZS4gQSBtYWpvciBidWRnZXRhcnkgZWZmb3J0IHdpbGwgYmUgbWFkZSBvbiBlZHVjYXRpb24sIHJlc2VhcmNoLCBlY29sb2dpY2FsIHRyYW5zaXRpb24gYW5kIHRocm91Z2ggdGhlIEdvdmVybm1lbnQmIzM5O3MgTWFqb3IgSW52ZXN0bWVudCBQbGFuLiBUaGUgcHJvZm91bmQgdHJhbnNmb3JtYXRpb24gb2YgcHVibGljIGFjdGlvbiB3aWxsIGFjY2VsZXJhdGUgaW4gMjAxOSB3aXRoIHRoZSByZWZvcm0gb2YgcHVibGljIGJyb2FkY2FzdGluZywgYSBuZXcgcHVibGljIGVtcGxveW1lbnQgc2VydmljZSBhbmQgdGhlIHN0cmF0ZWdpYyByZW9yZ2FuaXphdGlvbiBvZiBzdGF0ZSBzZXJ2aWNlcyBhbmQgaXRzIG9wZXJhdG9ycyBhYnJvYWQuIFRoZSAmcXVvdDtQdWJsaWMgQWN0aW9uIDIwMjImcXVvdDsgcHJvZ3JhbSB3aWxsIG1ha2UgaXQgcG9zc2libGUgdG8gaW1wbGVtZW50IHRoZSBjb21taXRtZW50IHRvIHJlZHVjZSA1MCwwMDAgam9icyBpbiB0aGUgc3RhdGUgYnkgMjAyMiB3aGlsZSBpbXByb3ZpbmcgdGhlIHF1YWxpdHkgb2YgcHVibGljIHNlcnZpY2UgcmVuZGVyZWQgdG8gdXNlcnMgYW5kIHRoZSB3b3JraW5nIGNvbmRpdGlvbnMgb2YgcHVibGljIGVtcGxveWVlcy48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoaXMgMjAxOSBidWRnZXQgY29uZmlybXMgdGhlIGNoYW5nZSBvZiBtZXRob2QgaW5pdGlhdGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpdmUteWVhciBwZXJpb2QgYnkgdGhlIEdvdmVybm1lbnQuIEhlIGZhdm9ycyB0aGUgc2luY2VyaXR5IG9mIHRoZSBmaW5hbmNpYWwgcHJvZ3JhbW1pbmcgb2YgdGhlIFN0YXRlLCBlbWJvZGllZCBieSB0aGUgcmVmdXNhbCBvZiBhbnkgYWR2YW5jZSBkZWNyZWUgYW5kIHRoZSBpbnRlZ3JhdGlvbiBieSB0aGUgbmF0aW9uYWwgYWNjb3VudGFudCBvZiB0aGUgZGVidCBvZiBTTkNGIFJcdTAwZTlzZWF1IGluIGl0cyBhY2NvdW50cy4gSXQgY2hvb3NlcyBjb25maWRlbmNlIHZpcy1cdTAwZTAtdmlzIGxvY2FsIGF1dGhvcml0aWVzIGluIHRoZSBjb250ZXh0IG9mIGZpbmFuY2lhbCBjb250cmFjdGluZyBzZWFsZWQgYXJvdW5kIGEgZ29hbCBvZiBjb250cm9sbGluZyBsb2NhbCBwdWJsaWMgZXhwZW5kaXR1cmUuIEl0IGNvbW1pdHMgdGhlIEV1cm9wZWFuIGNvbnZlcmdlbmNlIG9mIEZyZW5jaCB0YXhhdGlvbiBhbmQgaW4gcGFydGljdWxhciB0aGUgY29ycG9yYXRlIHRheC4gSXQgaXMgdGhlIGNvbnNpc3RlbmN5IG9mIHRoaXMgbWV0aG9kIHRoYXQgd2lsbCBoZWxwIGJ1aWxkIHRoZSBjcmVkaWJpbGl0eSBvZiBvdXIgY291bnRyeSBhbmQgY29uc29saWRhdGUgaXRzIHNvdmVyZWlnbnR5LjxcL3A+XG48cCBjbGFzcz1cImM0XCI+XHUwMGEwPFwvcD5cbjxwIGNsYXNzPVwiYzNcIj5DT01NVU5JQ0FUSU9OPFwvcD5cbjxwIGNsYXNzPVwiYzNcIj5DSVZJTCBTRUNVUklUWTxcL3A+XG48cCBjbGFzcz1cImM0XCI+VGhlIE1pbmlzdGVyIG9mIFN0YXRlLCBNaW5pc3RlciBvZiB0aGUgSW50ZXJpb3IsIHByZXNlbnRlZCBhIGNvbW11bmljYXRpb24gb24gY2l2aWwgc2VjdXJpdHkuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5UaGUgY2l2aWwgc2VjdXJpdHkgc3lzdGVtIGhhcyBtYWRlIGl0IHBvc3NpYmxlIHRvIHJlc3BvbmQgdG8gYW5kIGNvcGUgd2l0aCBhIHZlcnkgaW1wb3J0YW50IG9wZXJhdGlvbmFsIGFjdGl2aXR5IHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHllYXIsIHdoZXRoZXIgaW4gbWV0cm9wb2xpdGFuIEZyYW5jZSBvciBvdmVyc2Vhcy4gVG9kYXksIHRoaXMgc3lzdGVtIGlzIGV2b2x2aW5nIGFuZCBhZGFwdGluZywgaW4gdGhlIGFyZWFzIG9mIGRpZ2l0YWwgbW9kZXJuaXphdGlvbiwgY2l0aXplbiBlbmdhZ2VtZW50IGFuZCB2b2x1bnRlZXJpbmcsIHRyYWluaW5nIGluIGZpcnN0IGFpZCwgYXMgd2VsbCBhcyBFdXJvcGVhbiBjb29wZXJhdGlvbi48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkR1ZSB0byBmYXZvcmFibGUgd2VhdGhlciBjb25kaXRpb25zLCB0aGUgY2FtcGFpZ24gYWdhaW5zdCBmb3Jlc3QgZmlyZXMgd2FzIG11Y2ggbGVzcyBpbnRlbnNlIHRoYW4gaW4gMjAxNyBhbmQgZW5hYmxlZCBGcmFuY2UgdG8gcHJvdmlkZSBhc3Npc3RhbmNlIHRvIFN3ZWRlbiwgZmFjZWQgd2l0aCBleGNlcHRpb25hbCBmb3Jlc3QgZmlyZXMuIHB1dHRpbmcgYXQgdGhlIGRpc3Bvc2FsIG9mIHRoaXMgY291bnRyeSBpbXBvcnRhbnQgbWVhbnMgb2YgZmlnaHQsIGFpciBhbmQgdGVycmVzdHJpYWwuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5DaXZpbCBzZWN1cml0eSBoYXMgYWxzbyBlbnN1cmVkIHRoZSBtb25pdG9yaW5nIG9mIG1hbnkgbWV0ZW9yb2xvZ2ljYWwgcGhlbm9tZW5hLCBpbiBtYWlubGFuZCBGcmFuY2UgYW5kIG92ZXJzZWFzLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+SW4gdGhpcyBzZW5zZSwgYWZ0ZXIgdGhlIGV4Y2VwdGlvbmFsIDIwMTcgaHVycmljYW5lIHNlYXNvbiwgdGhlIEdvdmVybm1lbnQgaGFzIGFudGljaXBhdGVkIHRoZSAyMDE4IHNlYXNvbiwgd2hpY2ggd2lsbCBlbmQgaW4gbGF0ZSBOb3ZlbWJlciBpbiB0aGUgQXRsYW50aWMgQmFzaW4uPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5TZXZlcmFsIG1pc3Npb25zIG9mIHN1cHBvcnQgb2YgdGhlIGNpdmlsIHNlY3VyaXR5IHJlbGF5ZWQgd2l0aCB0aGUgcHJlZmVjdHMgb2YgdGhlIHpvbmUgQW50aWxsZXMsIHRvIGF0IHRoZSBzYW1lIHRpbWUgcHJvdmlkZSBzdXBwb3J0IHRvIHRoZSBwbGFubmluZyBhZ2FpbnN0IHRoZSBjeWNsb25lcyBhbmQgdG8gZmFjaWxpdGF0ZSB0aGUgb3JnYW5pemF0aW9uIG9mIHRoZSBvcGVyYXRpb25zIG9mIGNvbGxlY3Rpb24gb2YgU2FyZ2Fzc3VtIGFsZ2FlLiBUaGVzZSBtaXNzaW9ucyBhcmUgY29udGludWluZy48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkR1ZSB0byB0aGUgbXVsdGlwbGljYXRpb24gb2YgbGFyZ2Utc2NhbGUgbmF0dXJhbCBldmVudHMgZHVyaW5nIHRoZSBmaXJzdCBoYWxmIG9mIDIwMTgsIGluIG1ldHJvcG9saXRhbiBGcmFuY2UgYXMgd2VsbCBhcyBvdmVyc2VhcywgdGhlIEdvdmVybm1lbnQgbWV0IG9uIG51bWVyb3VzIG9jY2FzaW9ucyB3aXRoIHRoZSBJbnRlcm1pbmlzdGVyaWFsIENvbW1pc3Npb24gZm9yIHRoZSBSZWNvZ25pdGlvbiBvZiB0aGUgU3RhdGUgb2YgTmF0dXJhbCBEaXNhc3Rlciwgc2VpemVkIG9mIDYsNTgwIG11bmljaXBhbCByZXF1ZXN0cyAodm9sdW1lIHVwIDE0MyUpIGFuZCBtYWRlIHN1cmUgdG8gcHJvdmlkZSBxdWljayByZXNwb25zZXMgdG8gb3VyIGZlbGxvdyB2aWN0aW1zIG9mIGRpc2FzdGVycywgaW5jbHVkaW5nIHRoZSBkZXBsb3ltZW50IG9mIHRoZSBJQ2F0TmF0IGFwcGxpY2F0aW9uIHRoYXQgYWxsb3dzIGltbWVkaWF0ZSB0cmFuc21pc3Npb24gb2YgcmVjb3Jkcy48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoZSBhbWJpdGlvbiB0byBpbXByb3ZlIHRoZSBvcGVyYXRpb25hbCByZXNwb25zZSBpbiB0aGUgaW50ZXJlc3Qgb2YgdGhlIGNpdGl6ZW4gaXMgYWxzbyByZWZsZWN0ZWQgaW4gdGhlIGRldmVsb3BtZW50IG9mIGEgY2FsbCBtYW5hZ2VtZW50IGFuZCBvcGVyYXRpb25hbCBtYW5hZ2VtZW50IGluZm9ybWF0aW9uIHN5c3RlbSBjb21tb24gdG8gYWxsIGRlcGFydG1lbnRhbCBmaXJlIGFuZCByZXNjdWUgc2VydmljZXMuICwgTmV4U0lTIDE4XC8xMTIuIEl0IHdpbGwgY29tZSB0byBmcnVpdGlvbiBpbiAyMDIwIHdpdGggdGhlIGltcGxlbWVudGF0aW9uIG9mIGFuIGludGVyb3BlcmFibGUgYW5kIHNoYXJlZCBzb2x1dGlvbi4gV2l0aCByZWdhcmQgdG8gdGhlIGlzc3VlIG9mIHRoZSBzaW5nbGUgbnVtYmVyIG9mIGVtZXJnZW5jeSBhcHBlYWxzLCBhIGRlY2lzaW9uIHdpbGwgYmUgdGFrZW4gb24gdGhpcyBzdWJqZWN0IGJ5IHRoZSBlbmQgb2YgdGhlIHllYXIsIG9uIHRoZSBiYXNpcyBvZiBqb2ludCBwcm9wb3NhbHMgYnkgdGhlIE1pbmlzdGVycyBvZiB0aGUgSW50ZXJpb3IgYW5kIFNvbGlkYXJpdHkgYW5kIHRoZSBoZWFsdGguPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5UbyBmYWNlIHRoZXNlIGV2ZW50cyB0b2dldGhlciwgYW5kIG9uZSB5ZWFyIGFmdGVyIHRoZSBTb3Jib25uZSYjMzk7cyBzcGVlY2gsIHRoZSBnb2FsIG9mIGEgRXVyb3BlYW4gY2l2aWwgcHJvdGVjdGlvbiBmb3JjZSBpcyBhdCBoYW5kIGFuZCB3aWxsIGJlIGEgbmV3IGV4YW1wbGUgb2YgYSBFdXJvcGUgdGhhdCBwcm90ZWN0cy4gTmVnb3RpYXRpb25zIGFpbWVkIGF0IGRldmVsb3BpbmcgaW50ZXJ2ZW50aW9uIGNhcGFiaWxpdGllcyBhbmQgZmFjaWxpdGF0aW5nIHRoZSB1c2Ugb2YgcmVzb3VyY2VzIGFyZSBiZWluZyBmaW5hbGl6ZWQgaW4gdGhlIEV1cm9wZWFuIFBhcmxpYW1lbnQuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5GaW5hbGx5LCBmb3Igb3VyIHNvY2lldHkgdG8gYmUgZXZlciBtb3JlIHJlc2lsaWVudCwgdGhlIGdvYWwgb2YgdHJhaW5pbmcgODAlIG9mIHRoZSBwb3B1bGF0aW9uIGluIGZpcnN0IGFpZCBpcyBhY2hpZXZlZCB0aHJvdWdoIHRoZSBtb2JpbGl6YXRpb24gb2YgcHVibGljIGFjdG9ycyBhbmQgdGhlIGludml0YXRpb24gb2YgdGhlIGJ1c2luZXNzIGNvbW11bml0eSBhbmQgdGhlIGdlbmVyYWwgcHVibGljIHRvIGRldmVsb3AgdGhlIGxlYXJuaW5nIHRoZXNlIGJhc2ljIGdlc3R1cmVzLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+QWxsIGVuZXJnaWVzIGFyZSBhbHNvIG1vYmlsaXplZCBmb3IgdGhlIGRldmVsb3BtZW50IG9mIHZvbHVudGVlciBmaXJlZmlnaHRlcnMgd2hvc2UgY2l2aWMgY29tbWl0bWVudCBoYXMgcmVtYWluZWQgYXQgdGhlIGhlYXJ0IG9mIHRoZSBtaXNzaW9uJiMzOTtzIHdvcmsgbGF1bmNoZWQgaW4gbGF0ZSAyMDE3LjxcL3A+XG48cCBjbGFzcz1cImM0XCI+QW4gYW1iaXRpb3VzIGFuZCBwcmFnbWF0aWMgYWN0aW9uIHBsYW4gd2lsbCBiZSBwcmVzZW50ZWQgYXQgdGhlIGVuZCBvZiB0aGUgd2VlayBhdCB0aGUgbmF0aW9uYWwgZmlyZWZpZ2h0ZXJzIGNvbmZlcmVuY2UuIEl0IGlzIGJhc2VkIG9uIHRoZSBkZXNpcmUgdG8gY3JlYXRlIHZvY2F0aW9ucywgdG8gZGl2ZXJzaWZ5IHRoZSBjb21taXRtZW50cyBvZiB2b2x1bnRlZXIgZmlyZWZpZ2h0ZXJzIGFuZCB0byBwZXJwZXR1YXRlIHRoZSBGcmVuY2ggbW9kZWwgb2Ygdm9sdW50ZWVyaW5nLCB3aGljaCBpcyB0aGUgYmFja2JvbmUgb2Ygb3VyIGNpdmlsIHNlY3VyaXR5LjxcL3A+XG5cbjxwIGNsYXNzPVwiYzNcIj5DT01NVU5JQ0FUSU9OPFwvcD5cbjxwIGNsYXNzPVwiYzNcIj5FVVJPUEU8XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoZSBNaW5pc3RlciBmb3IgRXVyb3BlIGFuZCBGb3JlaWduIEFmZmFpcnMsIGluIGNoYXJnZSBvZiBFdXJvcGVhbiBBZmZhaXJzLCBwcmVzZW50ZWQgYSBwYXBlciBvbiBFdXJvcGUuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5UaGUgUHJlc2lkZW50IG9mIHRoZSBSZXB1YmxpYyBwcmVzZW50ZWQgYXQgdGhlIFNvcmJvbm5lIG9uIFNlcHRlbWJlciAyNiwgMjAxNyBhIHByb2plY3Qgb2YgRXVyb3BlYW4gcmVmb3VuZGF0aW9uIGZvciB0aGUgY29taW5nIHllYXJzLiBPdmVyIHRoZSBwYXN0IHllYXIsIHRoZXNlIHByb3Bvc2FscyBoYXZlIG1hZGUgbWFqb3IgcHJvZ3Jlc3MgaW4gYWxsIHRoZSBlc3NlbnRpYWwgYXJlYXMgb2YgRXVyb3BlYW4gc292ZXJlaWdudHkgLSBzZWN1cml0eSBhbmQgZGVmZW5zZSwgbWlncmF0aW9uLCBkZXZlbG9wbWVudCwgZGlnaXRhbCwgZWNvbG9naWNhbCB0cmFuc2l0aW9uLCBzdHJlbmd0aGVuaW5nIG9mIHRoZSBldXJvIHpvbmUuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5PZiB0aGUgNDkgbWVhc3VyZXMgcHJvcG9zZWQgYnkgdGhlIFByZXNpZGVudCBvZiB0aGUgUmVwdWJsaWMgYXQgdGhlIFNvcmJvbm5lLCBhIG1ham9yaXR5IGJlZ2FuIHRvIGZpbmQgYSBjb25jcmV0ZSB0cmFuc2xhdGlvbi48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlNpZ25pZmljYW50IHByb2dyZXNzIGhhcyBhbHJlYWR5IGJlZW4gbWFkZSBmb3IgRXVyb3BlIHRvIGJldHRlciBwcm90ZWN0IGl0cyBjaXRpemVucy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgdGhlIGNhc2UgaW4gdGhlIGZpZWxkIG9mIGRlZmVuc2UsIHdpdGggdGhlIHJhZGljYWxseSBuZXcgdG9vbHMgb2YgcGVybWFuZW50IHN0cnVjdHVyZWQgY29vcGVyYXRpb24sIHRoZSBFdXJvcGVhbiBkZWZlbnNlIGZ1bmQgb3IgdGhlIEV1cm9wZWFuIGludGVydmVudGlvbiBpbml0aWF0aXZlLiBLZXkgc2VjdXJpdHkgcHJvcG9zYWxzLCBmb3IgZXhhbXBsZSB0byBtYWtlIHRoZSBvbmUtaG91ciB3aXRoZHJhd2FsIG9mIGFudGktbW9uZXktbGF1bmRlcmluZyBtZXNzYWdlcyBtYW5kYXRvcnkgYW5kIHRvIGNvbWJhdCBtb25leSBsYXVuZGVyaW5nLCBhcmUgbm93IGJlaW5nIHRha2VuIHVwIGJ5IHRoZSBFdXJvcGVhbiBVbmlvbiBhbmQgd2lsbCBiZSBjb21wbGV0ZWQgaW4gdGhlIGNvbWluZyBtb250aHMuIE9uIHRoZSBjb21tZXJjaWFsIGZyb250LCBFdXJvcGUgaGFzIGFjcXVpcmVkLCBhcyB0aGUgR292ZXJubWVudCB3YW50ZWQsIG5ldyBkZWZlbnNlIG1lY2hhbmlzbXMgYW5kIGhhcyByZWFjdGVkIGluIGEgdW5pdGVkIGFuZCBkZXRlcm1pbmVkIHdheSB0byB0aGUgaW1wb3NpdGlvbiBvZiBVUyB0YXhlcyBvbiBhbHVtaW51bSBhbmQgc3RlZWwuIERpc2N1c3Npb25zIG9uIHRoZSBjb250cm9sIG9mIGZvcmVpZ24gaW52ZXN0bWVudCBpbiBzdHJhdGVnaWMgc2VjdG9ycyBhcmUgcHJvZ3Jlc3NpbmcgcmFwaWRseS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkV1cm9wZSBub3cgaGFzIGFuIGluY3JlYXNlZCBzb2NpYWwgYW5kIGVudmlyb25tZW50YWwgYW1iaXRpb24uIFRoaXMgaXMgdGhlIG1lYW5pbmcgb2YgdGhlIHJldmlzaW9uIG9mIHRoZSBkaXJlY3RpdmUgb24gdGhlIHBvc3Rpbmcgb2Ygd29ya2VycyB0aGF0IEZyYW5jZSB3YW50cyB0byBlZmZlY3RpdmVseSBjb250cmlidXRlIHRvIHRoZSBmaWdodCBhZ2FpbnN0IHNvY2lhbCBkdW1waW5nLCBvciB0aGUgcmVzb2x1dGUgYWN0aW9uIG9mIHRoZSBVbmlvbiB0byByZXNwZWN0IHRoZSBQYXJpcyBBZ3JlZW1lbnQgaW4gdGhlIGNsaW1hdGUgZG9tYWluLiBFdXJvcGUgaXMgY2hhbmdpbmcgaXRzIGZvY3VzIG9uIGdseXBob3NhdGUgYW5kIG5lb25pY290aW5vaWRzIGFuZCBpcyBmaW5hbGx5IGJlY29taW5nIG1vcmUgZGVtYW5kaW5nOyBpdCBpcyByZWZvcm1pbmcgaXRzIGhlYWx0aCBhc3Nlc3NtZW50IGZyYW1ld29yayB0byBtYWtlIGl0IG1vcmUgaW5kZXBlbmRlbnQgYW5kIHRyYW5zcGFyZW50LjxcL3A+XG48cCBjbGFzcz1cImM0XCI+RXZlbiBvbiB0b3BpY3Mgd2hlcmUgRXVyb3BlYW4gdW5pdHkgaXMgbW9yZSBkaWZmaWN1bHQsIG91ciBpZGVhcyBhcmUgcHJvZ3Jlc3NpbmcuIEluIEp1bmUsIHVuZGVyIHRoZSBsZWFkZXJzaGlwIG9mIHRoZSBQcmVzaWRlbnQgb2YgdGhlIFJlcHVibGljLCB0aGUgRXVyb3BlYW4gQ291bmNpbCBzZXQgb3V0IGEgY29tcHJlaGVuc2l2ZSBmcmFtZXdvcmsgZm9yIGFuIGVmZmVjdGl2ZSBhbmQgaHVtYW5lIEV1cm9wZWFuIG1pZ3JhdGlvbiBwb2xpY3kgdGhhdCBpcyBiZWluZyBpbXBsZW1lbnRlZC4gSW4gZWNvbm9taWMgbWF0dGVycywgdGhlIGFncmVlbWVudCBiZXR3ZWVuIEZyYW5jZSBhbmQgR2VybWFueSBvbiB0aGUgY3JlYXRpb24gb2YgYSBldXJvIGFyZWEgYnVkZ2V0LCB0aGUgZmluYWxpemF0aW9uIG9mIHRoZSBiYW5raW5nIHVuaW9uIG9yIHRoZSBoYXJtb25pemF0aW9uIG9mIHRoZSB0YXggYmFzZSBvbiBjb21wYW5pZXMsIG9wZW5zIHRoZSBoaXN0b3JpYyBwcm9ncmVzcyB3aXRoIGFsbCB0aGUgTWVtYmVyIFN0YXRlcyBjb25jZXJuZWQuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5JbiBtYW55IG90aGVyIGZpZWxkcywgdGhlIFVuaW9uIGlzIHdvcmtpbmcgdG8gYWNxdWlyZSB0aGUgbmV3IHRvb2xzIHdlIGhhdmUgcHJvcG9zZWQ6IEV1cm9wZWFuIHVuaXZlcnNpdGllcyB3aGVyZSB0b21vcnJvdyB3aWxsIGJlIGZvcm1lZCB0b2dldGhlciBzdHVkZW50cyB3aXRoIGNvbW1vbiBjdXJyaWN1bGEsIGFtYml0aW91cyBleGNoYW5nZSBwcm9ncmFtcyBmb3IgYXBwcmVudGljZXMsIGEgY29tbW9uIGZvcmNlIGNpdmlsIHByb3RlY3Rpb24sIG9yIGEgRXVyb3BlYW4gYWdlbmN5IGZvciBkaXNydXB0aXZlIGlubm92YXRpb24sIHRoZSBmb3VuZGF0aW9ucyBvZiB3aGljaCB3aWxsIGJlIGxhaWQgaW4gMjAxOS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoZSBwb2xpdGljYWwgZGViYXRlIGlzIGxhdW5jaGVkIG9uIGhvdyB0byByZWNvbmNpbGUgYSBVbmlvbiBidWlsdCBvbiBhIHJvYnVzdCBiYXNlIG9mIHZhbHVlcywgZW5zdXJpbmcgdGhlIHNtb290aCBmdW5jdGlvbmluZyBvZiB0aGUgc2luZ2xlIG1hcmtldCwgYW5kIGF0IHRoZSBzYW1lIHRpbWUgbW9yZSBkaWZmZXJlbnRpYXRlZCwgaW4gb3JkZXIgdG8gYWxsb3cgdGhlIE1lbWJlciBTdGF0ZXMgdGhhdCB3YW50IHRvIGNhcnJ5IG91dCBtb3JlIGFtYml0aW91cyBwcm9qZWN0cyBvZiBwb3dlci4gZG8gaXQgd2l0aG91dCBiZWluZyBibG9ja2VkIGJ5IHRob3NlIHdobyBkbyBub3Qgd2lzaCB0byBhZHZhbmNlLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+QnV0IHRoZXJlIGlzIHN0aWxsIGEgbG90IG1vcmUgdG8gZG8uPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5FdXJvcGUgaXMgYWJsZSB0byBhY3QgYnkgdXBob2xkaW5nIGl0cyB2YWx1ZXMgXHUyMDBiXHUyMDBiYW5kIGl0cyBtb2RlbC4gVGhpcyB3YXMgZGVtb25zdHJhdGVkIGJ5IHRoZSBFdXJvcGVhbiBQYXJsaWFtZW50IG9uIDEydGggU2VwdGVtYmVyLCBjb25kZW1uaW5nIHRoZSByaXNrIG9mIHZpb2xhdGlvbnMgb2YgdGhlIHJ1bGUgb2YgbGF3IGluIEh1bmdhcnkgYW5kIGV4cHJlc3Npbmcgb3Vyc2VsdmVzIGFzIHdlIHdpc2hlZCB0byBwcm90ZWN0IGNvcHlyaWdodCBpbiB0aGUgZGlnaXRhbCB3b3JsZC48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkl0IGlzIGluIHRoaXMgc3Bpcml0IHRoYXQgdGhlIEdvdmVybm1lbnQgd2lsbCBjb250aW51ZSwgd2l0aCBkZXRlcm1pbmF0aW9uLCBpdHMgd29yayBvZiBjb252aWN0aW9uIGZvciBhIGZ1bGwgaW1wbGVtZW50YXRpb24gb2YgdGhlIGFnZW5kYSBvZiB0aGUgU29yYm9ubmUuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5JdCB3aWxsIGRvIHNvIGJ5IGludm9sdmluZyB0aGUgY2l0aXplbnMgYmVjYXVzZSBFdXJvcGUgY2FuIG5vdCBiZSBidWlsdCB1bmRlciB0aGUgcHJvdGVjdGlvbiBvZiBwZW9wbGVzLiBUaGlzIGlzIHRoZSBtZWFuaW5nIG9mIHRoZSBjaXRpemVuIGNvbnN1bHRhdGlvbnMgb24gRXVyb3BlIHByb3Bvc2VkIGJ5IEZyYW5jZSBhbmQgaW1wbGVtZW50ZWQgdGhyb3VnaG91dCB0aGUgRXVyb3BlYW4gVW5pb24sIGFsbG93aW5nIGFsbCBjaXRpemVucyB0byBleHByZXNzLCBmb3IgdGhlIGZpcnN0IHRpbWUsIGF0IHRoZSBzYW1lIHRpbWUgYW5kIGluIGRldGFpbCB3aGF0IHRoZXkgdGhpbmsgYW5kIHdoYXQgdGhleSBleHBlY3QgZnJvbSBFdXJvcGUuIEluIEZyYW5jZSwgbW9yZSB0aGFuIDgwMCBjb25zdWx0YXRpb25zIGFyZSBhbHJlYWR5IG9yZ2FuaXplZC48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoaXMgdmlzaW9uIG9mIGEgc292ZXJlaWduLCB1bml0ZWQgYW5kIGRlbW9jcmF0aWMgRXVyb3BlIG11c3QgZ3VpZGUgdGhlIEV1cm9wZWFuIFVuaW9uIGluIHRoZSBpbXBvcnRhbnQgbmVnb3RpYXRpb25zIHVuZGVyIHdheSwgd2hldGhlciBpbiB0aGUgc2hvcnQgdGVybSB0aGUgVUsgd2l0aGRyYXdhbCBhZ3JlZW1lbnQgZnJvbSB0aGUgVW5pb24sIHRoZSBmdWxsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBKdW5lIEV1cm9wZWFuIENvdW5jaWwgY29uY2x1c2lvbnMgb24gbWlncmF0aW9uIG9yIHRoZSBkZXRlcm1pbmF0aW9uIG9mIEV1cm9wZWFuIGJ1ZGdldGFyeSBwcmlvcml0aWVzIGZvciB0aGUgeWVhcnMgMjAyMSAtIDIwMjcuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5UaGlzIEV1cm9wZWFuIGNvbW1pdG1lbnQgaXMgdGhlIGZ1dHVyZSBvZiBvdXIgY291bnRyeSBhbmQgb3VyIGJlc3QgY2hhbmNlIHRvIHN1Y2NlZWQgaW4gYSBzaGFrZW4gd29ybGQgb3JkZXIuIFdpdGhvdXQgYSBzdHJvbmcgRXVyb3BlLCB0aGVyZSBjYW4gYmUgbm8gc3Ryb25nIEZyYW5jZS4gSXQgaXMgYSBmaWdodCBldmVyeSBkYXkgdGhhdCB0aGUgUHJlc2lkZW50IG9mIHRoZSBSZXB1YmxpYyBhbmQgdGhlIEdvdmVybm1lbnQgd2lsbCBjb250aW51ZSB0byB3ZWFyIHRpcmVsZXNzbHkuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5cdTAwYTA8XC9wPlxuPHAgY2xhc3M9XCJjM1wiPklORElWSURVQUwgT1JERVIgTUVBU1VSRTxcL3A+XG48cD5UaGUgQ291bmNpbCBvZiBNaW5pc3RlcnMgYWRvcHRlZCB0aGUgZm9sbG93aW5nIGluZGl2aWR1YWwgbWVhc3VyZXM6PFwvcD5cbjxwPk9uIHRoZSBwcm9wb3NhbCBvZiB0aGUgUHJpbWUgTWluaXN0ZXI6PFwvcD5cbjxwPi0gTXMgTmF0aGFsaWUgQ2FzYXMsIFNlbmlvciBBZHZpc29yIHRvIHRoZSBDb3VydCBvZiBBdWRpdG9ycywgaXMgYXBwb2ludGVkIHRpdHVsYXIgbWVtYmVyIG9mIHRoZSBDb3VydCBvZiBidWRnZXRhcnkgYW5kIGZpbmFuY2lhbCBkaXNjaXBsaW5lOzxcL3A+XG48cD4tIE1yIEdpbGxlcyBNSUxMRVIsIFNlbmlvciBBZHZpc29yIHRvIHRoZSBDb3VydCBvZiBBdWRpdG9ycywgaXMgYXBwb2ludGVkIHN1YnN0aXR1dGUgbWVtYmVyIG9mIHRoZSBDb3VydCBvZiBidWRnZXRhcnkgYW5kIGZpbmFuY2lhbCBkaXNjaXBsaW5lOzxcL3A+XG48cD4tIE1ham9yLUdlbmVyYWwgUmljaGFyZCBBTkRSRSwgaXMgYXBwb2ludGVkIGFkdmlzb3IgdG8gdGhlIEdvdmVybm1lbnQgZm9yIERlZmVuc2UgYW5kIHJhaXNlZCB0byB0aGUgcmFuayBhbmQgZGVzaWduYXRpb24gb2YgTGlldXRlbmFudCBHZW5lcmFsLCBhcyBvZiAxIE9jdG9iZXIgMjAxODs8XC9wPlxuPHA+LSBSZWFyLUFkbWlyYWwgUGhpbGlwcGUgRFVUUklFVVgsIGlzIGFwcG9pbnRlZCBDb21tYW5kZXIgb2YgdGhlIENoYW5uZWwgYW5kIE5vcnRoIFNlYSBtYXJpdGltZSBhcmVhLCBDb21tYW5kZXIgb2YgdGhlIE5vcnRoIFNlYS1NYW5jaGUgTWFyaXRpbWUgRGlzdHJpY3QgYW5kIFNlYSBDb21taXNzaW9uZXIgb2YgdGhlIEVuZ2xpc2ggQ2hhbm5lbCBhbmQgTm9ydGggU2VhLCBhcyBmcm9tIFNlcHRlbWJlciAyOCwgMjAxOC48XC9wPlxuPHA+SW4gYWRkaXRpb24sIHZhcmlvdXMgaW5kaXZpZHVhbCBtZWFzdXJlcyBjb25jZXJuaW5nIGdlbmVyYWwgb2ZmaWNlcnMgb2YgdGhlIEFybXksIHRoZSBOYXZ5IGFuZCB0aGUgTmF0aW9uYWwgR2VuZGFybWVyaWUgaGF2ZSBiZWVuIGFkb3B0ZWQuPFwvcD5cbjxwPk9uIHRoZSBwcm9wb3NhbCBvZiB0aGUgTWluaXN0ZXIgb2YgU3RhdGUsIE1pbmlzdGVyIG9mIHRoZSBJbnRlcmlvcjo8XC9wPlxuPHA+LSBNci4gSm9lbCBNQVRIVVJJTiwgcHJlZmVjdCBvZiBOaVx1MDBlOHZyZSwgaXMgYXBwb2ludGVkIHByZWZlY3Qgb2YgRG91YnMuPFwvcD5cbjxwPk9uIHRoZSBwcm9wb3NhbCBvZiB0aGUgTWluaXN0ZXIgb2YgSnVzdGljZSwgTWluaXN0ZXIgb2YgSnVzdGljZTo8XC9wPlxuPHA+LSBWXHUwMGU5cm9uaXF1ZSBNQUxCRUMsIG1hZ2lzdHJhdGUsIGlzIGFwcG9pbnRlZCBTZWNyZXRhcnkgR2VuZXJhbCBvZiB0aGUgTWluaXN0cnkgb2YgSnVzdGljZS48XC9wPlxuPHA+RURJVE9SJiMzOTtTIE5PVEU6IFRoaXMgYXJ0aWNsZSBpcyBhIHRyYW5zbGF0aW9uLiBQbGVhc2UgYWNjZXB0IG91ciBhcG9sb2dpZXMgc2hvdWxkIHRoZSBncmFtbWFyIGFuZCBcLyBvciBzZW50ZW5jZSBzdHJ1Y3R1cmUgbm90IGJlIHBlcmZlY3QuPFwvcD4iLCJpbm5lckNvbnRlbnQiOlsiTUlMIE9TSSBUcmFuc2xhdGlvbi4gR292ZXJubWVudCBvZiB0aGUgUmVwdWJsaWMgb2YgRnJhbmNlIHN0YXRlbWVudHMgZnJvbSBFbmdsaXNoIHRvIEZyZW5jaCAtIFB1Ymxpc2hlZCBTZXB0ZW1iZXIgMjQsIDIwMTg8cCBjbGFzcz1cImMzXCI+TEFXIFBST0pFQ1Q8XC9wPlxuPHAgY2xhc3M9XCJjM1wiPkZJTkFOQ0UgQUNUIEZPUiAyMDE5PFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5UaGUgTWluaXN0ZXIgb2YgRWNvbm9teSBhbmQgRmluYW5jZSBhbmQgdGhlIE1pbmlzdGVyIG9mIEFjdGlvbiBhbmQgUHVibGljIEFjY291bnRzIHByZXNlbnRlZCB0aGUgZHJhZnQgYnVkZ2V0IGxhdyBmb3IgMjAxOS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoaXMgMjAxOSBidWRnZXQgaXMgdGhhdCBvZiB0aGUgY29tbWl0bWVudHMgbWFkZSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVjb3Zlcnkgb2YgdGhlIHB1YmxpYyBhY2NvdW50cywgd2l0aCBhIHB1YmxpYyBkZWZpY2l0IG9mIDEuOSUgaW4gMjAxOSAtIHdoaWNoIHJlYWNoZXMgMi44JSBkdWUgdG8gdGhlIHRyYW5zZm9ybWF0aW9uIG9mIDIwIGJpbGxpb24gZXVyb3Mgb2YgdGF4IGNyZWRpdCBjb21wZXRpdGl2ZW5lc3MgYW5kIGVtcGxveW1lbnQgKENJQ0UpLCB3aXRoIGEgZHJvcCBpbiBzb2NpYWwgc2VjdXJpdHkgY29udHJpYnV0aW9ucyAtIGFuZCBhIHN0YWJsZSBjaGFuZ2UgaW4gcHVibGljIHNwZW5kaW5nIGluIDIwMTgsIHdoaWNoIGhhcyBiZWVuIGJyb3VnaHQgdW5kZXIgY29udHJvbCBhdCAwLjYlIGluIHZvbHVtZSB0ZXJtcyBpbiAyMDE5IC0gY29tcGFyZWQgdG8gMS40JSBpbiAyMDE3LiBUaGUgR292ZXJubWVudCB0aHVzIHJlc3BlY3RzIHRoZSBjb3Vyc2UgZml4ZWQgYnkgdGhlIFByZXNpZGVudCBvZiB0aGUgUmVwdWJsaWMgYW5kIHZvdGVkIGJ5IHRoZSBQYXJsaWFtZW50IGluIHRoZSBsYXcgbiBcdTAwYjAgMjAxOC0zMiBvZiBKYW51YXJ5IDIyLCAyMDE4IHB1YmxpYyBmaW5hbmNlIHByb2dyYW1taW5nIGZvciB0aGUgeWVhcnMgMjAxOCB0byAyMDIyOiByZWR1Y2UsIGJ5IDIwMjIsIHRoZSBkZWJ0IG9mIGZpdmUgcG9pbnRzIGdyb3NzIGRvbWVzdGljIHByb2R1Y3QgKEdEUCksIHB1YmxpYyBleHBlbmRpdHVyZSBieSB0aHJlZSBwb2ludHMgYW5kIG9uZS1wb2ludCB0YXguPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5UaGlzIDIwMTkgYnVkZ2V0IGFmZmlybXMgdGhlIGNsZWFyIGNob2ljZXMgb2YgdGhlIEdvdmVybm1lbnQ6PFwvcD5cbjxwIGNsYXNzPVwiYzRcIj4xLiBMb3dlciBjb21wdWxzb3J5IGxldmllcyBmb3IgYWxsIEZyZW5jaCBwZW9wbGUuIE1vcmUgdGhhbiA2IGJpbGxpb24gZXVyb3Mgd2lsbCBiZSByZXR1cm5lZCB0byBob3VzZWhvbGRzIG5leHQgeWVhciwgaW5jbHVkaW5nIHRoZSBlbGltaW5hdGlvbiBvZiB0aGUgc2Vjb25kIGluc3RhbGxtZW50IG9mIHRoZSBob3VzaW5nIHRheCBmb3IgODAlIG9mIHRheHBheWVycywgdGhlIGZ1bGwgZWZmZWN0IG9mIHRoZSByZWR1Y3Rpb24gb2YgdW5lbXBsb3ltZW50IGFuZCBzaWNrbmVzcyBjb250cmlidXRpb25zIGFuZCB0aGUgRXhlbXB0aW9uIGZyb20gb3ZlcnRpbWUgb2Ygc29jaWFsIHNlY3VyaXR5IGNvbnRyaWJ1dGlvbnMgZnJvbSBTZXB0ZW1iZXIgMjAxOS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPjIuIFByb21vdGUgdGhlIHdvcmsgYW5kIGVuaGFuY2UgdGhlIGF0dHJhY3RpdmVuZXNzIG9mIG91ciBidXNpbmVzc2VzLiBJbiAyMDE5LCAyLjUgYmlsbGlvbiBldXJvcyB3aWxsIGJlIGludmVzdGVkIGluIHNraWxscyB0byBkZWFsIGluIGRlcHRoIHdpdGggdGhlIGNhdXNlcyBvZiB1bmVtcGxveW1lbnQuIFRoZSB3b3JrIHdpbGwgYmUgdXBncmFkZWQgYnkgdGhlIGluY3JlYXNlIG9mIHRoZSBhY3Rpdml0eSBib251cyBvZiAyMCBldXJvcyBhdCB0aGUgU01JQyBsZXZlbC4gQ29tcGFuaWVzIHdpbGwgYmVuZWZpdCBmcm9tIHRoZSB0cmFuc2Zvcm1hdGlvbiBvZiB0aGUgQ0lDRSBpbnRvIHBlcm1hbmVudCByZWR1Y3Rpb25zIGluIGNoYXJnZXMsIHRoZSBmdXJ0aGVyIHJlZHVjdGlvbiBvZiBjb3Jwb3JhdGUgdGF4LCBhbmQgYSBzaW1wbGlmaWVkIHRheCBzeXN0ZW0gYnkgZWxpbWluYXRpbmcgc29tZSAyMCBzbWFsbCB0YXhlcy48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPjMuIFByb3RlY3QgdGhlIEZyZW5jaC4gVGhpcyBpcyB0byBwcm90ZWN0IHRoZW0gc29jaWFsbHk6IGZvciB0aGUgbW9zdCBtb2Rlc3QsIHRoZSBtaW5pbXVtIG9sZCBhZ2UgYW5kIHRoZSBhbGxvd2FuY2UgYWR1bHRzIHdpdGggZGlzYWJpbGl0aWVzIHdpbGwgYWdhaW4gYmUgc3Ryb25nbHkgdXBncmFkZWQsIGFuZCB0aGUgbWVhc3VyZXMgYW5ub3VuY2VkIGJ5IHRoZSBQcmVzaWRlbnQgb2YgdGhlIFJlcHVibGljIGFzIHBhcnQgb2YgdGhlIHN0cmF0ZWd5IG9mIHByZXZlbnRpb24gYW5kIGZpZ2h0IGFnYWluc3QgcG92ZXJ0eSB3aWxsIGJlIGZpbmFuY2VkLiBJdCBhbHNvIGNvbnNpc3RzIG9mIHBoeXNpY2FsbHkgcHJvdGVjdGluZyB0aGVtOiB0aGUgcmVzb3VyY2VzIGFsbG9jYXRlZCB0byB0aGUgbWluaXN0cmllcyBvZiB0aGUgYXJtZWQgZm9yY2VzLCBqdXN0aWNlIGFuZCB0aGUgaW50ZXJpb3Igd2lsbCBiZSBzdHJvbmdseSByZWluZm9yY2VkLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+NC4gUHJlcGFyZSB0aGUgZnV0dXJlLiBBIG1ham9yIGJ1ZGdldGFyeSBlZmZvcnQgd2lsbCBiZSBtYWRlIG9uIGVkdWNhdGlvbiwgcmVzZWFyY2gsIGVjb2xvZ2ljYWwgdHJhbnNpdGlvbiBhbmQgdGhyb3VnaCB0aGUgR292ZXJubWVudCYjMzk7cyBNYWpvciBJbnZlc3RtZW50IFBsYW4uIFRoZSBwcm9mb3VuZCB0cmFuc2Zvcm1hdGlvbiBvZiBwdWJsaWMgYWN0aW9uIHdpbGwgYWNjZWxlcmF0ZSBpbiAyMDE5IHdpdGggdGhlIHJlZm9ybSBvZiBwdWJsaWMgYnJvYWRjYXN0aW5nLCBhIG5ldyBwdWJsaWMgZW1wbG95bWVudCBzZXJ2aWNlIGFuZCB0aGUgc3RyYXRlZ2ljIHJlb3JnYW5pemF0aW9uIG9mIHN0YXRlIHNlcnZpY2VzIGFuZCBpdHMgb3BlcmF0b3JzIGFicm9hZC4gVGhlICZxdW90O1B1YmxpYyBBY3Rpb24gMjAyMiZxdW90OyBwcm9ncmFtIHdpbGwgbWFrZSBpdCBwb3NzaWJsZSB0byBpbXBsZW1lbnQgdGhlIGNvbW1pdG1lbnQgdG8gcmVkdWNlIDUwLDAwMCBqb2JzIGluIHRoZSBzdGF0ZSBieSAyMDIyIHdoaWxlIGltcHJvdmluZyB0aGUgcXVhbGl0eSBvZiBwdWJsaWMgc2VydmljZSByZW5kZXJlZCB0byB1c2VycyBhbmQgdGhlIHdvcmtpbmcgY29uZGl0aW9ucyBvZiBwdWJsaWMgZW1wbG95ZWVzLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+VGhpcyAyMDE5IGJ1ZGdldCBjb25maXJtcyB0aGUgY2hhbmdlIG9mIG1ldGhvZCBpbml0aWF0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZml2ZS15ZWFyIHBlcmlvZCBieSB0aGUgR292ZXJubWVudC4gSGUgZmF2b3JzIHRoZSBzaW5jZXJpdHkgb2YgdGhlIGZpbmFuY2lhbCBwcm9ncmFtbWluZyBvZiB0aGUgU3RhdGUsIGVtYm9kaWVkIGJ5IHRoZSByZWZ1c2FsIG9mIGFueSBhZHZhbmNlIGRlY3JlZSBhbmQgdGhlIGludGVncmF0aW9uIGJ5IHRoZSBuYXRpb25hbCBhY2NvdW50YW50IG9mIHRoZSBkZWJ0IG9mIFNOQ0YgUlx1MDBlOXNlYXUgaW4gaXRzIGFjY291bnRzLiBJdCBjaG9vc2VzIGNvbmZpZGVuY2UgdmlzLVx1MDBlMC12aXMgbG9jYWwgYXV0aG9yaXRpZXMgaW4gdGhlIGNvbnRleHQgb2YgZmluYW5jaWFsIGNvbnRyYWN0aW5nIHNlYWxlZCBhcm91bmQgYSBnb2FsIG9mIGNvbnRyb2xsaW5nIGxvY2FsIHB1YmxpYyBleHBlbmRpdHVyZS4gSXQgY29tbWl0cyB0aGUgRXVyb3BlYW4gY29udmVyZ2VuY2Ugb2YgRnJlbmNoIHRheGF0aW9uIGFuZCBpbiBwYXJ0aWN1bGFyIHRoZSBjb3Jwb3JhdGUgdGF4LiBJdCBpcyB0aGUgY29uc2lzdGVuY3kgb2YgdGhpcyBtZXRob2QgdGhhdCB3aWxsIGhlbHAgYnVpbGQgdGhlIGNyZWRpYmlsaXR5IG9mIG91ciBjb3VudHJ5IGFuZCBjb25zb2xpZGF0ZSBpdHMgc292ZXJlaWdudHkuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5cdTAwYTA8XC9wPlxuPHAgY2xhc3M9XCJjM1wiPkNPTU1VTklDQVRJT048XC9wPlxuPHAgY2xhc3M9XCJjM1wiPkNJVklMIFNFQ1VSSVRZPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5UaGUgTWluaXN0ZXIgb2YgU3RhdGUsIE1pbmlzdGVyIG9mIHRoZSBJbnRlcmlvciwgcHJlc2VudGVkIGEgY29tbXVuaWNhdGlvbiBvbiBjaXZpbCBzZWN1cml0eS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoZSBjaXZpbCBzZWN1cml0eSBzeXN0ZW0gaGFzIG1hZGUgaXQgcG9zc2libGUgdG8gcmVzcG9uZCB0byBhbmQgY29wZSB3aXRoIGEgdmVyeSBpbXBvcnRhbnQgb3BlcmF0aW9uYWwgYWN0aXZpdHkgc2luY2UgdGhlIGJlZ2lubmluZyBvZiB0aGUgeWVhciwgd2hldGhlciBpbiBtZXRyb3BvbGl0YW4gRnJhbmNlIG9yIG92ZXJzZWFzLiBUb2RheSwgdGhpcyBzeXN0ZW0gaXMgZXZvbHZpbmcgYW5kIGFkYXB0aW5nLCBpbiB0aGUgYXJlYXMgb2YgZGlnaXRhbCBtb2Rlcm5pemF0aW9uLCBjaXRpemVuIGVuZ2FnZW1lbnQgYW5kIHZvbHVudGVlcmluZywgdHJhaW5pbmcgaW4gZmlyc3QgYWlkLCBhcyB3ZWxsIGFzIEV1cm9wZWFuIGNvb3BlcmF0aW9uLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+RHVlIHRvIGZhdm9yYWJsZSB3ZWF0aGVyIGNvbmRpdGlvbnMsIHRoZSBjYW1wYWlnbiBhZ2FpbnN0IGZvcmVzdCBmaXJlcyB3YXMgbXVjaCBsZXNzIGludGVuc2UgdGhhbiBpbiAyMDE3IGFuZCBlbmFibGVkIEZyYW5jZSB0byBwcm92aWRlIGFzc2lzdGFuY2UgdG8gU3dlZGVuLCBmYWNlZCB3aXRoIGV4Y2VwdGlvbmFsIGZvcmVzdCBmaXJlcy4gcHV0dGluZyBhdCB0aGUgZGlzcG9zYWwgb2YgdGhpcyBjb3VudHJ5IGltcG9ydGFudCBtZWFucyBvZiBmaWdodCwgYWlyIGFuZCB0ZXJyZXN0cmlhbC48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkNpdmlsIHNlY3VyaXR5IGhhcyBhbHNvIGVuc3VyZWQgdGhlIG1vbml0b3Jpbmcgb2YgbWFueSBtZXRlb3JvbG9naWNhbCBwaGVub21lbmEsIGluIG1haW5sYW5kIEZyYW5jZSBhbmQgb3ZlcnNlYXMuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5JbiB0aGlzIHNlbnNlLCBhZnRlciB0aGUgZXhjZXB0aW9uYWwgMjAxNyBodXJyaWNhbmUgc2Vhc29uLCB0aGUgR292ZXJubWVudCBoYXMgYW50aWNpcGF0ZWQgdGhlIDIwMTggc2Vhc29uLCB3aGljaCB3aWxsIGVuZCBpbiBsYXRlIE5vdmVtYmVyIGluIHRoZSBBdGxhbnRpYyBCYXNpbi48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlNldmVyYWwgbWlzc2lvbnMgb2Ygc3VwcG9ydCBvZiB0aGUgY2l2aWwgc2VjdXJpdHkgcmVsYXllZCB3aXRoIHRoZSBwcmVmZWN0cyBvZiB0aGUgem9uZSBBbnRpbGxlcywgdG8gYXQgdGhlIHNhbWUgdGltZSBwcm92aWRlIHN1cHBvcnQgdG8gdGhlIHBsYW5uaW5nIGFnYWluc3QgdGhlIGN5Y2xvbmVzIGFuZCB0byBmYWNpbGl0YXRlIHRoZSBvcmdhbml6YXRpb24gb2YgdGhlIG9wZXJhdGlvbnMgb2YgY29sbGVjdGlvbiBvZiBTYXJnYXNzdW0gYWxnYWUuIFRoZXNlIG1pc3Npb25zIGFyZSBjb250aW51aW5nLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+RHVlIHRvIHRoZSBtdWx0aXBsaWNhdGlvbiBvZiBsYXJnZS1zY2FsZSBuYXR1cmFsIGV2ZW50cyBkdXJpbmcgdGhlIGZpcnN0IGhhbGYgb2YgMjAxOCwgaW4gbWV0cm9wb2xpdGFuIEZyYW5jZSBhcyB3ZWxsIGFzIG92ZXJzZWFzLCB0aGUgR292ZXJubWVudCBtZXQgb24gbnVtZXJvdXMgb2NjYXNpb25zIHdpdGggdGhlIEludGVybWluaXN0ZXJpYWwgQ29tbWlzc2lvbiBmb3IgdGhlIFJlY29nbml0aW9uIG9mIHRoZSBTdGF0ZSBvZiBOYXR1cmFsIERpc2FzdGVyLCBzZWl6ZWQgb2YgNiw1ODAgbXVuaWNpcGFsIHJlcXVlc3RzICh2b2x1bWUgdXAgMTQzJSkgYW5kIG1hZGUgc3VyZSB0byBwcm92aWRlIHF1aWNrIHJlc3BvbnNlcyB0byBvdXIgZmVsbG93IHZpY3RpbXMgb2YgZGlzYXN0ZXJzLCBpbmNsdWRpbmcgdGhlIGRlcGxveW1lbnQgb2YgdGhlIElDYXROYXQgYXBwbGljYXRpb24gdGhhdCBhbGxvd3MgaW1tZWRpYXRlIHRyYW5zbWlzc2lvbiBvZiByZWNvcmRzLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+VGhlIGFtYml0aW9uIHRvIGltcHJvdmUgdGhlIG9wZXJhdGlvbmFsIHJlc3BvbnNlIGluIHRoZSBpbnRlcmVzdCBvZiB0aGUgY2l0aXplbiBpcyBhbHNvIHJlZmxlY3RlZCBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgYSBjYWxsIG1hbmFnZW1lbnQgYW5kIG9wZXJhdGlvbmFsIG1hbmFnZW1lbnQgaW5mb3JtYXRpb24gc3lzdGVtIGNvbW1vbiB0byBhbGwgZGVwYXJ0bWVudGFsIGZpcmUgYW5kIHJlc2N1ZSBzZXJ2aWNlcy4gLCBOZXhTSVMgMThcLzExMi4gSXQgd2lsbCBjb21lIHRvIGZydWl0aW9uIGluIDIwMjAgd2l0aCB0aGUgaW1wbGVtZW50YXRpb24gb2YgYW4gaW50ZXJvcGVyYWJsZSBhbmQgc2hhcmVkIHNvbHV0aW9uLiBXaXRoIHJlZ2FyZCB0byB0aGUgaXNzdWUgb2YgdGhlIHNpbmdsZSBudW1iZXIgb2YgZW1lcmdlbmN5IGFwcGVhbHMsIGEgZGVjaXNpb24gd2lsbCBiZSB0YWtlbiBvbiB0aGlzIHN1YmplY3QgYnkgdGhlIGVuZCBvZiB0aGUgeWVhciwgb24gdGhlIGJhc2lzIG9mIGpvaW50IHByb3Bvc2FscyBieSB0aGUgTWluaXN0ZXJzIG9mIHRoZSBJbnRlcmlvciBhbmQgU29saWRhcml0eSBhbmQgdGhlIGhlYWx0aC48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRvIGZhY2UgdGhlc2UgZXZlbnRzIHRvZ2V0aGVyLCBhbmQgb25lIHllYXIgYWZ0ZXIgdGhlIFNvcmJvbm5lJiMzOTtzIHNwZWVjaCwgdGhlIGdvYWwgb2YgYSBFdXJvcGVhbiBjaXZpbCBwcm90ZWN0aW9uIGZvcmNlIGlzIGF0IGhhbmQgYW5kIHdpbGwgYmUgYSBuZXcgZXhhbXBsZSBvZiBhIEV1cm9wZSB0aGF0IHByb3RlY3RzLiBOZWdvdGlhdGlvbnMgYWltZWQgYXQgZGV2ZWxvcGluZyBpbnRlcnZlbnRpb24gY2FwYWJpbGl0aWVzIGFuZCBmYWNpbGl0YXRpbmcgdGhlIHVzZSBvZiByZXNvdXJjZXMgYXJlIGJlaW5nIGZpbmFsaXplZCBpbiB0aGUgRXVyb3BlYW4gUGFybGlhbWVudC48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkZpbmFsbHksIGZvciBvdXIgc29jaWV0eSB0byBiZSBldmVyIG1vcmUgcmVzaWxpZW50LCB0aGUgZ29hbCBvZiB0cmFpbmluZyA4MCUgb2YgdGhlIHBvcHVsYXRpb24gaW4gZmlyc3QgYWlkIGlzIGFjaGlldmVkIHRocm91Z2ggdGhlIG1vYmlsaXphdGlvbiBvZiBwdWJsaWMgYWN0b3JzIGFuZCB0aGUgaW52aXRhdGlvbiBvZiB0aGUgYnVzaW5lc3MgY29tbXVuaXR5IGFuZCB0aGUgZ2VuZXJhbCBwdWJsaWMgdG8gZGV2ZWxvcCB0aGUgbGVhcm5pbmcgdGhlc2UgYmFzaWMgZ2VzdHVyZXMuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5BbGwgZW5lcmdpZXMgYXJlIGFsc28gbW9iaWxpemVkIGZvciB0aGUgZGV2ZWxvcG1lbnQgb2Ygdm9sdW50ZWVyIGZpcmVmaWdodGVycyB3aG9zZSBjaXZpYyBjb21taXRtZW50IGhhcyByZW1haW5lZCBhdCB0aGUgaGVhcnQgb2YgdGhlIG1pc3Npb24mIzM5O3Mgd29yayBsYXVuY2hlZCBpbiBsYXRlIDIwMTcuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5BbiBhbWJpdGlvdXMgYW5kIHByYWdtYXRpYyBhY3Rpb24gcGxhbiB3aWxsIGJlIHByZXNlbnRlZCBhdCB0aGUgZW5kIG9mIHRoZSB3ZWVrIGF0IHRoZSBuYXRpb25hbCBmaXJlZmlnaHRlcnMgY29uZmVyZW5jZS4gSXQgaXMgYmFzZWQgb24gdGhlIGRlc2lyZSB0byBjcmVhdGUgdm9jYXRpb25zLCB0byBkaXZlcnNpZnkgdGhlIGNvbW1pdG1lbnRzIG9mIHZvbHVudGVlciBmaXJlZmlnaHRlcnMgYW5kIHRvIHBlcnBldHVhdGUgdGhlIEZyZW5jaCBtb2RlbCBvZiB2b2x1bnRlZXJpbmcsIHdoaWNoIGlzIHRoZSBiYWNrYm9uZSBvZiBvdXIgY2l2aWwgc2VjdXJpdHkuPFwvcD5cblxuPHAgY2xhc3M9XCJjM1wiPkNPTU1VTklDQVRJT048XC9wPlxuPHAgY2xhc3M9XCJjM1wiPkVVUk9QRTxcL3A+XG48cCBjbGFzcz1cImM0XCI+VGhlIE1pbmlzdGVyIGZvciBFdXJvcGUgYW5kIEZvcmVpZ24gQWZmYWlycywgaW4gY2hhcmdlIG9mIEV1cm9wZWFuIEFmZmFpcnMsIHByZXNlbnRlZCBhIHBhcGVyIG9uIEV1cm9wZS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoZSBQcmVzaWRlbnQgb2YgdGhlIFJlcHVibGljIHByZXNlbnRlZCBhdCB0aGUgU29yYm9ubmUgb24gU2VwdGVtYmVyIDI2LCAyMDE3IGEgcHJvamVjdCBvZiBFdXJvcGVhbiByZWZvdW5kYXRpb24gZm9yIHRoZSBjb21pbmcgeWVhcnMuIE92ZXIgdGhlIHBhc3QgeWVhciwgdGhlc2UgcHJvcG9zYWxzIGhhdmUgbWFkZSBtYWpvciBwcm9ncmVzcyBpbiBhbGwgdGhlIGVzc2VudGlhbCBhcmVhcyBvZiBFdXJvcGVhbiBzb3ZlcmVpZ250eSAtIHNlY3VyaXR5IGFuZCBkZWZlbnNlLCBtaWdyYXRpb24sIGRldmVsb3BtZW50LCBkaWdpdGFsLCBlY29sb2dpY2FsIHRyYW5zaXRpb24sIHN0cmVuZ3RoZW5pbmcgb2YgdGhlIGV1cm8gem9uZS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPk9mIHRoZSA0OSBtZWFzdXJlcyBwcm9wb3NlZCBieSB0aGUgUHJlc2lkZW50IG9mIHRoZSBSZXB1YmxpYyBhdCB0aGUgU29yYm9ubmUsIGEgbWFqb3JpdHkgYmVnYW4gdG8gZmluZCBhIGNvbmNyZXRlIHRyYW5zbGF0aW9uLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+U2lnbmlmaWNhbnQgcHJvZ3Jlc3MgaGFzIGFscmVhZHkgYmVlbiBtYWRlIGZvciBFdXJvcGUgdG8gYmV0dGVyIHByb3RlY3QgaXRzIGNpdGl6ZW5zLiBUaGlzIGlzIHBhcnRpY3VsYXJseSB0aGUgY2FzZSBpbiB0aGUgZmllbGQgb2YgZGVmZW5zZSwgd2l0aCB0aGUgcmFkaWNhbGx5IG5ldyB0b29scyBvZiBwZXJtYW5lbnQgc3RydWN0dXJlZCBjb29wZXJhdGlvbiwgdGhlIEV1cm9wZWFuIGRlZmVuc2UgZnVuZCBvciB0aGUgRXVyb3BlYW4gaW50ZXJ2ZW50aW9uIGluaXRpYXRpdmUuIEtleSBzZWN1cml0eSBwcm9wb3NhbHMsIGZvciBleGFtcGxlIHRvIG1ha2UgdGhlIG9uZS1ob3VyIHdpdGhkcmF3YWwgb2YgYW50aS1tb25leS1sYXVuZGVyaW5nIG1lc3NhZ2VzIG1hbmRhdG9yeSBhbmQgdG8gY29tYmF0IG1vbmV5IGxhdW5kZXJpbmcsIGFyZSBub3cgYmVpbmcgdGFrZW4gdXAgYnkgdGhlIEV1cm9wZWFuIFVuaW9uIGFuZCB3aWxsIGJlIGNvbXBsZXRlZCBpbiB0aGUgY29taW5nIG1vbnRocy4gT24gdGhlIGNvbW1lcmNpYWwgZnJvbnQsIEV1cm9wZSBoYXMgYWNxdWlyZWQsIGFzIHRoZSBHb3Zlcm5tZW50IHdhbnRlZCwgbmV3IGRlZmVuc2UgbWVjaGFuaXNtcyBhbmQgaGFzIHJlYWN0ZWQgaW4gYSB1bml0ZWQgYW5kIGRldGVybWluZWQgd2F5IHRvIHRoZSBpbXBvc2l0aW9uIG9mIFVTIHRheGVzIG9uIGFsdW1pbnVtIGFuZCBzdGVlbC4gRGlzY3Vzc2lvbnMgb24gdGhlIGNvbnRyb2wgb2YgZm9yZWlnbiBpbnZlc3RtZW50IGluIHN0cmF0ZWdpYyBzZWN0b3JzIGFyZSBwcm9ncmVzc2luZyByYXBpZGx5LjxcL3A+XG48cCBjbGFzcz1cImM0XCI+RXVyb3BlIG5vdyBoYXMgYW4gaW5jcmVhc2VkIHNvY2lhbCBhbmQgZW52aXJvbm1lbnRhbCBhbWJpdGlvbi4gVGhpcyBpcyB0aGUgbWVhbmluZyBvZiB0aGUgcmV2aXNpb24gb2YgdGhlIGRpcmVjdGl2ZSBvbiB0aGUgcG9zdGluZyBvZiB3b3JrZXJzIHRoYXQgRnJhbmNlIHdhbnRzIHRvIGVmZmVjdGl2ZWx5IGNvbnRyaWJ1dGUgdG8gdGhlIGZpZ2h0IGFnYWluc3Qgc29jaWFsIGR1bXBpbmcsIG9yIHRoZSByZXNvbHV0ZSBhY3Rpb24gb2YgdGhlIFVuaW9uIHRvIHJlc3BlY3QgdGhlIFBhcmlzIEFncmVlbWVudCBpbiB0aGUgY2xpbWF0ZSBkb21haW4uIEV1cm9wZSBpcyBjaGFuZ2luZyBpdHMgZm9jdXMgb24gZ2x5cGhvc2F0ZSBhbmQgbmVvbmljb3Rpbm9pZHMgYW5kIGlzIGZpbmFsbHkgYmVjb21pbmcgbW9yZSBkZW1hbmRpbmc7IGl0IGlzIHJlZm9ybWluZyBpdHMgaGVhbHRoIGFzc2Vzc21lbnQgZnJhbWV3b3JrIHRvIG1ha2UgaXQgbW9yZSBpbmRlcGVuZGVudCBhbmQgdHJhbnNwYXJlbnQuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5FdmVuIG9uIHRvcGljcyB3aGVyZSBFdXJvcGVhbiB1bml0eSBpcyBtb3JlIGRpZmZpY3VsdCwgb3VyIGlkZWFzIGFyZSBwcm9ncmVzc2luZy4gSW4gSnVuZSwgdW5kZXIgdGhlIGxlYWRlcnNoaXAgb2YgdGhlIFByZXNpZGVudCBvZiB0aGUgUmVwdWJsaWMsIHRoZSBFdXJvcGVhbiBDb3VuY2lsIHNldCBvdXQgYSBjb21wcmVoZW5zaXZlIGZyYW1ld29yayBmb3IgYW4gZWZmZWN0aXZlIGFuZCBodW1hbmUgRXVyb3BlYW4gbWlncmF0aW9uIHBvbGljeSB0aGF0IGlzIGJlaW5nIGltcGxlbWVudGVkLiBJbiBlY29ub21pYyBtYXR0ZXJzLCB0aGUgYWdyZWVtZW50IGJldHdlZW4gRnJhbmNlIGFuZCBHZXJtYW55IG9uIHRoZSBjcmVhdGlvbiBvZiBhIGV1cm8gYXJlYSBidWRnZXQsIHRoZSBmaW5hbGl6YXRpb24gb2YgdGhlIGJhbmtpbmcgdW5pb24gb3IgdGhlIGhhcm1vbml6YXRpb24gb2YgdGhlIHRheCBiYXNlIG9uIGNvbXBhbmllcywgb3BlbnMgdGhlIGhpc3RvcmljIHByb2dyZXNzIHdpdGggYWxsIHRoZSBNZW1iZXIgU3RhdGVzIGNvbmNlcm5lZC48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkluIG1hbnkgb3RoZXIgZmllbGRzLCB0aGUgVW5pb24gaXMgd29ya2luZyB0byBhY3F1aXJlIHRoZSBuZXcgdG9vbHMgd2UgaGF2ZSBwcm9wb3NlZDogRXVyb3BlYW4gdW5pdmVyc2l0aWVzIHdoZXJlIHRvbW9ycm93IHdpbGwgYmUgZm9ybWVkIHRvZ2V0aGVyIHN0dWRlbnRzIHdpdGggY29tbW9uIGN1cnJpY3VsYSwgYW1iaXRpb3VzIGV4Y2hhbmdlIHByb2dyYW1zIGZvciBhcHByZW50aWNlcywgYSBjb21tb24gZm9yY2UgY2l2aWwgcHJvdGVjdGlvbiwgb3IgYSBFdXJvcGVhbiBhZ2VuY3kgZm9yIGRpc3J1cHRpdmUgaW5ub3ZhdGlvbiwgdGhlIGZvdW5kYXRpb25zIG9mIHdoaWNoIHdpbGwgYmUgbGFpZCBpbiAyMDE5LjxcL3A+XG48cCBjbGFzcz1cImM0XCI+VGhlIHBvbGl0aWNhbCBkZWJhdGUgaXMgbGF1bmNoZWQgb24gaG93IHRvIHJlY29uY2lsZSBhIFVuaW9uIGJ1aWx0IG9uIGEgcm9idXN0IGJhc2Ugb2YgdmFsdWVzLCBlbnN1cmluZyB0aGUgc21vb3RoIGZ1bmN0aW9uaW5nIG9mIHRoZSBzaW5nbGUgbWFya2V0LCBhbmQgYXQgdGhlIHNhbWUgdGltZSBtb3JlIGRpZmZlcmVudGlhdGVkLCBpbiBvcmRlciB0byBhbGxvdyB0aGUgTWVtYmVyIFN0YXRlcyB0aGF0IHdhbnQgdG8gY2Fycnkgb3V0IG1vcmUgYW1iaXRpb3VzIHByb2plY3RzIG9mIHBvd2VyLiBkbyBpdCB3aXRob3V0IGJlaW5nIGJsb2NrZWQgYnkgdGhvc2Ugd2hvIGRvIG5vdCB3aXNoIHRvIGFkdmFuY2UuPFwvcD5cbjxwIGNsYXNzPVwiYzRcIj5CdXQgdGhlcmUgaXMgc3RpbGwgYSBsb3QgbW9yZSB0byBkby48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkV1cm9wZSBpcyBhYmxlIHRvIGFjdCBieSB1cGhvbGRpbmcgaXRzIHZhbHVlcyBcdTIwMGJcdTIwMGJhbmQgaXRzIG1vZGVsLiBUaGlzIHdhcyBkZW1vbnN0cmF0ZWQgYnkgdGhlIEV1cm9wZWFuIFBhcmxpYW1lbnQgb24gMTJ0aCBTZXB0ZW1iZXIsIGNvbmRlbW5pbmcgdGhlIHJpc2sgb2YgdmlvbGF0aW9ucyBvZiB0aGUgcnVsZSBvZiBsYXcgaW4gSHVuZ2FyeSBhbmQgZXhwcmVzc2luZyBvdXJzZWx2ZXMgYXMgd2Ugd2lzaGVkIHRvIHByb3RlY3QgY29weXJpZ2h0IGluIHRoZSBkaWdpdGFsIHdvcmxkLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+SXQgaXMgaW4gdGhpcyBzcGlyaXQgdGhhdCB0aGUgR292ZXJubWVudCB3aWxsIGNvbnRpbnVlLCB3aXRoIGRldGVybWluYXRpb24sIGl0cyB3b3JrIG9mIGNvbnZpY3Rpb24gZm9yIGEgZnVsbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYWdlbmRhIG9mIHRoZSBTb3Jib25uZS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPkl0IHdpbGwgZG8gc28gYnkgaW52b2x2aW5nIHRoZSBjaXRpemVucyBiZWNhdXNlIEV1cm9wZSBjYW4gbm90IGJlIGJ1aWx0IHVuZGVyIHRoZSBwcm90ZWN0aW9uIG9mIHBlb3BsZXMuIFRoaXMgaXMgdGhlIG1lYW5pbmcgb2YgdGhlIGNpdGl6ZW4gY29uc3VsdGF0aW9ucyBvbiBFdXJvcGUgcHJvcG9zZWQgYnkgRnJhbmNlIGFuZCBpbXBsZW1lbnRlZCB0aHJvdWdob3V0IHRoZSBFdXJvcGVhbiBVbmlvbiwgYWxsb3dpbmcgYWxsIGNpdGl6ZW5zIHRvIGV4cHJlc3MsIGZvciB0aGUgZmlyc3QgdGltZSwgYXQgdGhlIHNhbWUgdGltZSBhbmQgaW4gZGV0YWlsIHdoYXQgdGhleSB0aGluayBhbmQgd2hhdCB0aGV5IGV4cGVjdCBmcm9tIEV1cm9wZS4gSW4gRnJhbmNlLCBtb3JlIHRoYW4gODAwIGNvbnN1bHRhdGlvbnMgYXJlIGFscmVhZHkgb3JnYW5pemVkLjxcL3A+XG48cCBjbGFzcz1cImM0XCI+VGhpcyB2aXNpb24gb2YgYSBzb3ZlcmVpZ24sIHVuaXRlZCBhbmQgZGVtb2NyYXRpYyBFdXJvcGUgbXVzdCBndWlkZSB0aGUgRXVyb3BlYW4gVW5pb24gaW4gdGhlIGltcG9ydGFudCBuZWdvdGlhdGlvbnMgdW5kZXIgd2F5LCB3aGV0aGVyIGluIHRoZSBzaG9ydCB0ZXJtIHRoZSBVSyB3aXRoZHJhd2FsIGFncmVlbWVudCBmcm9tIHRoZSBVbmlvbiwgdGhlIGZ1bGwgaW1wbGVtZW50YXRpb24gb2YgdGhlIEp1bmUgRXVyb3BlYW4gQ291bmNpbCBjb25jbHVzaW9ucyBvbiBtaWdyYXRpb24gb3IgdGhlIGRldGVybWluYXRpb24gb2YgRXVyb3BlYW4gYnVkZ2V0YXJ5IHByaW9yaXRpZXMgZm9yIHRoZSB5ZWFycyAyMDIxIC0gMjAyNy48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlRoaXMgRXVyb3BlYW4gY29tbWl0bWVudCBpcyB0aGUgZnV0dXJlIG9mIG91ciBjb3VudHJ5IGFuZCBvdXIgYmVzdCBjaGFuY2UgdG8gc3VjY2VlZCBpbiBhIHNoYWtlbiB3b3JsZCBvcmRlci4gV2l0aG91dCBhIHN0cm9uZyBFdXJvcGUsIHRoZXJlIGNhbiBiZSBubyBzdHJvbmcgRnJhbmNlLiBJdCBpcyBhIGZpZ2h0IGV2ZXJ5IGRheSB0aGF0IHRoZSBQcmVzaWRlbnQgb2YgdGhlIFJlcHVibGljIGFuZCB0aGUgR292ZXJubWVudCB3aWxsIGNvbnRpbnVlIHRvIHdlYXIgdGlyZWxlc3NseS48XC9wPlxuPHAgY2xhc3M9XCJjNFwiPlx1MDBhMDxcL3A+XG48cCBjbGFzcz1cImMzXCI+SU5ESVZJRFVBTCBPUkRFUiBNRUFTVVJFPFwvcD5cbjxwPlRoZSBDb3VuY2lsIG9mIE1pbmlzdGVycyBhZG9wdGVkIHRoZSBmb2xsb3dpbmcgaW5kaXZpZHVhbCBtZWFzdXJlczo8XC9wPlxuPHA+T24gdGhlIHByb3Bvc2FsIG9mIHRoZSBQcmltZSBNaW5pc3Rlcjo8XC9wPlxuPHA+LSBNcyBOYXRoYWxpZSBDYXNhcywgU2VuaW9yIEFkdmlzb3IgdG8gdGhlIENvdXJ0IG9mIEF1ZGl0b3JzLCBpcyBhcHBvaW50ZWQgdGl0dWxhciBtZW1iZXIgb2YgdGhlIENvdXJ0IG9mIGJ1ZGdldGFyeSBhbmQgZmluYW5jaWFsIGRpc2NpcGxpbmU7PFwvcD5cbjxwPi0gTXIgR2lsbGVzIE1JTExFUiwgU2VuaW9yIEFkdmlzb3IgdG8gdGhlIENvdXJ0IG9mIEF1ZGl0b3JzLCBpcyBhcHBvaW50ZWQgc3Vic3RpdHV0ZSBtZW1iZXIgb2YgdGhlIENvdXJ0IG9mIGJ1ZGdldGFyeSBhbmQgZmluYW5jaWFsIGRpc2NpcGxpbmU7PFwvcD5cbjxwPi0gTWFqb3ItR2VuZXJhbCBSaWNoYXJkIEFORFJFLCBpcyBhcHBvaW50ZWQgYWR2aXNvciB0byB0aGUgR292ZXJubWVudCBmb3IgRGVmZW5zZSBhbmQgcmFpc2VkIHRvIHRoZSByYW5rIGFuZCBkZXNpZ25hdGlvbiBvZiBMaWV1dGVuYW50IEdlbmVyYWwsIGFzIG9mIDEgT2N0b2JlciAyMDE4OzxcL3A+XG48cD4tIFJlYXItQWRtaXJhbCBQaGlsaXBwZSBEVVRSSUVVWCwgaXMgYXBwb2ludGVkIENvbW1hbmRlciBvZiB0aGUgQ2hhbm5lbCBhbmQgTm9ydGggU2VhIG1hcml0aW1lIGFyZWEsIENvbW1hbmRlciBvZiB0aGUgTm9ydGggU2VhLU1hbmNoZSBNYXJpdGltZSBEaXN0cmljdCBhbmQgU2VhIENvbW1pc3Npb25lciBvZiB0aGUgRW5nbGlzaCBDaGFubmVsIGFuZCBOb3J0aCBTZWEsIGFzIGZyb20gU2VwdGVtYmVyIDI4LCAyMDE4LjxcL3A+XG48cD5JbiBhZGRpdGlvbiwgdmFyaW91cyBpbmRpdmlkdWFsIG1lYXN1cmVzIGNvbmNlcm5pbmcgZ2VuZXJhbCBvZmZpY2VycyBvZiB0aGUgQXJteSwgdGhlIE5hdnkgYW5kIHRoZSBOYXRpb25hbCBHZW5kYXJtZXJpZSBoYXZlIGJlZW4gYWRvcHRlZC48XC9wPlxuPHA+T24gdGhlIHByb3Bvc2FsIG9mIHRoZSBNaW5pc3RlciBvZiBTdGF0ZSwgTWluaXN0ZXIgb2YgdGhlIEludGVyaW9yOjxcL3A+XG48cD4tIE1yLiBKb2VsIE1BVEhVUklOLCBwcmVmZWN0IG9mIE5pXHUwMGU4dnJlLCBpcyBhcHBvaW50ZWQgcHJlZmVjdCBvZiBEb3Vicy48XC9wPlxuPHA+T24gdGhlIHByb3Bvc2FsIG9mIHRoZSBNaW5pc3RlciBvZiBKdXN0aWNlLCBNaW5pc3RlciBvZiBKdXN0aWNlOjxcL3A+XG48cD4tIFZcdTAwZTlyb25pcXVlIE1BTEJFQywgbWFnaXN0cmF0ZSwgaXMgYXBwb2ludGVkIFNlY3JldGFyeSBHZW5lcmFsIG9mIHRoZSBNaW5pc3RyeSBvZiBKdXN0aWNlLjxcL3A+XG48cD5FRElUT1ImIzM5O1MgTk9URTogVGhpcyBhcnRpY2xlIGlzIGEgdHJhbnNsYXRpb24uIFBsZWFzZSBhY2NlcHQgb3VyIGFwb2xvZ2llcyBzaG91bGQgdGhlIGdyYW1tYXIgYW5kIFwvIG9yIHNlbnRlbmNlIHN0cnVjdHVyZSBub3QgYmUgcGVyZmVjdC48XC9wPiJdLCJjb250ZXh0X3R5cGUiOiJvdGhlciJ9