A/MNCmL5IVRjAAAAAAAAAAAMAAAAQAAAAHP8AwAAZAAAWgAAZAEAZAIAZAMAZAQAZAUAZAYAZAcAZAgAZAkAZwkAWgEAZAoAZAsAbAIAWgIAZAoAZAsAbAMAWgMAZAoAZAsAbAQAWgQAZAoAZAsAbAUAWgUAZAoAZAsAbAYAWgYAeRAAZAoAZAsAbAcAWggAV24dAARlCQBrCgBykgABAQFkCgBkCwBsCgBaCABuAQBYZAoAZAsAbAsAWgsAZAoAZAwAbAwAbQ0AWg0AAWUOAFoPAGUQAGERAGQNAIQAAFoSAGUTAGULAGoUAIMBAFoVAGQOAFoWAGQPAIQAAFoXAGQQAFoYAGQRAIQAAFoZAGQSAGQTAGQUAGQVAGQWAGQXAGQYAGcHAFoaAGQZAGQaAGQbAGQcAGQdAGQeAGQfAGQgAGQhAGQiAGQjAGQkAGcMAFobAGcAAFocAHghAGUbAERdGQBaHQBlHABqHgBlHQBqHwCDAACDAQABcUMBV2UQAGQlAIQBAFogAGUQAGQmAIQBAFohAGkEAGUQAGQnADZlEABkKAA2ZRAAZCkANmUQAGQqADZaIgBlAgBqIwBkKwCDAQBaJABkLACEAABaJQBkLQCEAABaJgBlAgBqIwBkLgCDAQBaJwBlAgBqIwBkLwBlAgBqKACDAgBaKQBlAgBqIwBkMABlAgBqKgCDAgBaKwBkMQCEAABaLABlAgBqIwBkMgBlAgBqKgCDAgBaLQBkMwCEAABaLgBkNACEAABaLwBlAgBqIwBkNQCDAQBaMABlAgBqIwBkNgCDAQBaMQBlAgBqIwBkNwCDAQBaMgBlAgBqIwBkOACDAQBaMwBkOQCEAABaNABlAgBqIwBkOgCDAQBaNQBkOwCEAABaNgBkPACEAABaNwBkPQCEAABaOABlAgBqIwBkPgCDAQBaOQBkPwCEAABaOgBkQACEAABaOwBkQQCEAABaPABkQgCEAABaPQBlAgBqIwBkQwCDAQBaPgBkRACEAABaPwBkRQCEAABaQABkRgCEAABaQQBkRwCEAABaQgBkSABaQwBlAgBqIwBkSQCDAQBaRABkSgCEAABaRQBkSwCEAABaRgBkTACEAABaRwBkTQCEAABaSABkAQBmAABkTgCEAACDAABZWkkAZAMAZgAAZE8AhAAAgwAAWVpKAGQEAGVKAGYBAGRQAIQAAIMAAFlaSwBkUQCEAABaTABkUgCEAABaTQBkUwBmAABkVACEAACDAABZWk4AZAIAZgAAZFUAhAAAgwAAWVpPAGQIAGVQAGYBAGRWAIQAAIMAAFlaUQBkBQBlTwBmAQBkVwCEAACDAABZWlIAZAoAZFgAbFMAbVQAWlQAbVUAWlUAAWQKAGRZAGxWAG1XAFpXAAFkCwBTKFoAAABzqgMAAEhUVFAgY29va2llIGhhbmRsaW5nIGZvciB3ZWIgY2xpZW50cy4KClRoaXMgbW9kdWxlIGhhcyAobm93IGZhaXJseSBkaXN0YW50KSBvcmlnaW5zIGluIEdpc2xlIEFhcycgUGVybCBtb2R1bGUKSFRUUDo6Q29va2llcywgZnJvbSB0aGUgbGlid3d3LXBlcmwgbGlicmFyeS4KCkRvY3N0cmluZ3MsIGNvbW1lbnRzIGFuZCBkZWJ1ZyBzdHJpbmdzIGluIHRoaXMgY29kZSByZWZlciB0byB0aGUKYXR0cmlidXRlcyBvZiB0aGUgSFRUUCBjb29raWUgc3lzdGVtIGFzIGNvb2tpZS1hdHRyaWJ1dGVzLCB0byBkaXN0aW5ndWlzaAp0aGVtIGNsZWFybHkgZnJvbSBQeXRob24gYXR0cmlidXRlcy4KCkNsYXNzIGRpYWdyYW0gKG5vdGUgdGhhdCBCU0REQkNvb2tpZUphciBhbmQgdGhlIE1TSUUqIGNsYXNzZXMgYXJlIG5vdApkaXN0cmlidXRlZCB3aXRoIHRoZSBQeXRob24gc3RhbmRhcmQgbGlicmFyeSwgYnV0IGFyZSBhdmFpbGFibGUgZnJvbQpodHRwOi8vd3d3c2VhcmNoLnNmLm5ldC8pOgoKICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llSmFyX19fXwogICAgICAgICAgICAgICAgICAgICAgICAvICAgICBcICAgICAgXAogICAgICAgICAgICBGaWxlQ29va2llSmFyICAgICAgXCAgICAgIFwKICAgICAgICAgICAgIC8gICAgfCAgIFwgICAgICAgICBcICAgICAgXAogTW96aWxsYUNvb2tpZUphciB8IExXUENvb2tpZUphciBcICAgICAgXAogICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgfCAgICAg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bGwgYXMgcXVvdGVkCiAgICB2YWx1ZXMgYWZ0ZXIgIj0iLiAgQSBsaXN0IG9mIHNwYWNlIHNlcGFyYXRlZCB0b2tlbnMgYXJlIHBhcnNlZCBhcyBpZiB0aGV5CiAgICB3ZXJlIHNlcGFyYXRlZCBieSAiOyIuCgogICAgSWYgdGhlIGhlYWRlcl92YWx1ZXMgcGFzc2VkIGFzIGFyZ3VtZW50IGNvbnRhaW5zIG11bHRpcGxlIHZhbHVlcywgdGhlbiB0aGV5CiAgICBhcmUgdHJlYXRlZCBhcyBpZiB0aGV5IHdlcmUgYSBzaW5nbGUgdmFsdWUgc2VwYXJhdGVkIGJ5IGNvbW1hICIsIi4KCiAgICBUaGlzIG1lYW5zIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyB1c2VmdWwgZm9yIHBhcnNpbmcgaGVhZGVyIGZpZWxkcyB0aGF0CiAgICBmb2xsb3cgdGhpcyBzeW50YXggKEJORiBhcyBmcm9tIHRoZSBIVFRQLzEuMSBzcGVjaWZpY2F0aW9uLCBidXQgd2UgcmVsYXgKICAgIHRoZSByZXF1aXJlbWVudCBmb3IgdG9rZW5zKS4KCiAgICAgIGhlYWRlcnMgICAgICAgICAgID0gI2hlYWRlcgogICAgICBoZWFkZXIgICAgICAgICAgICA9ICh0b2tlbiB8IHBhcmFtZXRlcikgKiggWyI7Il0gKHRva2VuIHwgcGFyYW1ldGVyKSkKCiAgICAgIHRva2VuICAgICAgICAgICAgID0gMSo8YW55IENIQVIgZXhjZXB0IENUTHMgb3Igc2VwYXJhdG9ycz4KICAgICAgc2VwYXJhdG9ycyAgICAgICAgPSAiKCIgfCAiKSIgfCAiPCIgfCAiPiIgfCAiQCIKICAgICAgICAgICAgICAgICAgICAgICAgfCAiLCIgfCAiOyIgfCAiOiIgfCAiXCIgfCA8Ij4KICAgICAgICAgICAgICAgICAgICAgICAgfCAiLyIgfCAiWyIgfCAiXSIgfCAiPyIgfCAiPSIKICAgICAgICAgICAgICAgICAgICAgICAgfCAieyIgfCAifSIgfCBTUCB8IEhUCgogICAgICBxdW90ZWQtc3RyaW5nICAgICA9ICggPCI+ICoocWR0ZXh0IHwgcXVvdGVkLXBhaXIgKSA8Ij4gKQogICAgICBxZHRleHQgICAgICAgICAgICA9IDxhbnkgVEVYVCBleGNlcHQgPCI+PgogICAgICBxdW90ZWQtcGFpciAgICAgICA9ICJcIiBDSEFSCgogICAgICBwYXJhbWV0ZXIgICAgICAgICA9IGF0dHJpYnV0ZSAiPSIgdmFsdWUKICAgICAgYXR0cmlidXRlICAgICAgICAgPSB0b2tlbgogICAgICB2YWx1ZSAgICAgICAgICAgICA9IHRva2VuIHwgcXVvdGVkLXN0cmluZwoKICAgIEVhY2ggaGVhZGVyIGlzIHJlcHJlc2VudGVkIGJ5IGEgbGlzdCBvZiBrZXkvdmFsdWUgcGFpcnMuICBUaGUgdmFsdWUgZm9yIGEKICAgIHNpbXBsZSB0b2tlbiAobm90IHBhcnQgb2YgYSBwYXJhbWV0ZXIpIGlzIE5vbmUuICBTeW50YWN0aWNhbGx5IGluY29ycmVjdAogICAgaGVhZGVycyB3aWxsIG5vdCBuZWNlc3NhcmlseSBiZSBwYXJzZWQgYXMgeW91IHdvdWxkIHdhbnQuCgogICAgVGhpcyBpcyBlYXNpZXIgdG8gZGVzY3JpYmUgd2l0aCBzb21lIGV4YW1wbGVzOgoKICAgID4+PiBzcGxpdF9oZWFkZXJfd29yZHMoWydmb289ImJhciI7IHBvcnQ9IjgwLDgxIjsgZGlzY2FyZCwgYmFyPWJheiddKQogICAgW1soJ2ZvbycsICdiYXInKSwgKCdwb3J0JywgJzgwLDgxJyksICgnZGlzY2FyZCcsIE5vbmUpXSwgWygnYmFyJywgJ2JheicpXV0KICAgID4+PiBzcGxpdF9oZWFkZXJfd29yZHMoWyd0ZXh0L2h0bWw7IGNoYXJzZXQ9Imlzby04ODU5LTEiJ10pCiAgICBbWygndGV4dC9odG1sJywgTm9uZSksICgnY2hhcnNldCcsICdpc28tODg1OS0xJyldXQogICAgPj4+IHNwbGl0X2hlYWRlcl93b3JkcyhbcidCYXNpYyByZWFsbT0iXCJmb29cYmFyXCIiJ10pCiAgICBbWygnQmFzaWMnLCBOb25lKSwgKCdyZWFsbScsICciZm9vYmFyIicpXV0KCiAgICBpAQAAAHMCAAAAXDF0AQAAACxzCAAAAF5bPVxzO10qUl0AAABpAAAAAHMmAAAAc3BsaXRfaGVhZGVyX3dvcmRzIGJ1ZzogJyVzJywgJyVzJywgJXNOKBIAAAB0CgAAAGlzaW5zdGFuY2V0CgAAAGJhc2VzdHJpbmd0DgAAAEFzc2VydGlvbkVycm9ydA8AAABIRUFERVJfVE9LRU5fUkVSSAAAAFJwAAAAUkoAAAB0FgAAAEhFQURFUl9RVU9URURfVkFMVUVfUkV0EAAAAEhFQURFUl9FU0NBUEVfUkVSYwAAAHQPAAAASEVBREVSX1ZBTFVFX1JFdAYAAAByc3RyaXBSFgAAAHQGAAAAYXBwZW5kUmEAAAB0CgAAAHN0YXJ0c3dpdGh0AgAAAHJldAQAAABzdWJuKAoAAAB0DQAAAGhlYWRlcl92YWx1ZXN0BgAAAHJlc3VsdFJlAAAAdAkAAABvcmlnX3RleHR0BQAAAHBhaXJzUk0AAAB0BAAAAG5hbWV0BQAAAHZhbHVldAgAAABub25fanVua3QNAAAAbnJfanVua19jaGFycygAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29va2llbGliLnB5dBIAAABzcGxpdF9oZWFkZXJfd29yZHNGAQAAc0YAAAAALRYBBgENAQYBBgEJAQ8BBgEMAQ8BDwEGAQwBDwEVAg8BBgEMAQ8BDwMGARYBFQIQAQYAEAEJAxsBDwEDARMBCgEGABQBcwgAAAAoW1wiXFxdKWMBAAAABgAAAAUAAABDAAAAc70AAABnAAB9AQB4pwB8AABEXZ8AfQIAZwAAfQMAeHEAfAIARF1pAFwCAH0EAH0FAHwFAGQHAGsJAHJ8AHQBAGoCAGQBAHwFAIMCAHNpAHQDAGoEAGQCAHwFAIMCAH0FAGQDAHwFABZ9BQBuAABkBAB8BAB8BQBmAgAWfQQAbgAAfAMAagUAfAQAgwEAAXEgAFd8AwByDQB8AQBqBQBkBQBqBgB8AwCDAQCDAQABcQ0AcQ0AV2QGAGoGAHwBAIMBAFMoCAAAAHO7AQAARG8gdGhlIGludmVyc2UgKGFsbW9zdCkgb2YgdGhlIGNvbnZlcnNpb24gZG9uZSBieSBzcGxpdF9oZWFkZXJfd29yZHMuCgogICAgVGFrZXMgYSBsaXN0IG9mIGxpc3RzIG9mIChrZXksIHZhbHVlKSBwYWlycyBhbmQgcHJvZHVjZXMgYSBzaW5nbGUgaGVhZGVyCiAgICB2YWx1ZS4gIEF0dHJpYnV0ZSB2YWx1ZXMgYXJlIHF1b3RlZCBpZiBuZWVkZWQuCgogICAgPj4+IGpvaW5faGVhZGVyX3dvcmRzKFtbKCJ0ZXh0L3BsYWluIiwgTm9uZSksICgiY2hhcnNldCIsICJpc28tODg1OS8xIildXSkKICAgICd0ZXh0L3BsYWluOyBjaGFyc2V0PSJpc28tODg1OS8xIicKICAgID4+PiBqb2luX2hlYWRlcl93b3JkcyhbWygidGV4dC9wbGFpbiIsIE5vbmUpXSwgWygiY2hhcnNldCIsICJpc28tODg1OS8xIildXSkKICAgICd0ZXh0L3BsYWluLCBjaGFyc2V0PSJpc28tODg1OS8xIicKCiAgICBzBQAAAF5cdyskcwQAAABcXFwxcwQAAAAiJXMicwUAAAAlcz0lc3MCAAAAOyBzAgAAACwgTigHAAAAUhYAAABSfAAAAFJIAAAAdBUAAABIRUFERVJfSk9JTl9FU0NBUEVfUkVSYwAAAFJ6AAAAdAQAAABqb2luKAYAAAB0BQAAAGxpc3RzdAcAAABoZWFkZXJzUoEAAAB0BAAAAGF0dHJ0AQAAAGt0AQAAAHYoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2Nvb2tpZWxpYi5weXQRAAAAam9pbl9oZWFkZXJfd29yZHOcAQAAcxoAAAAADAYBDQEGARMBDAESARIBDQETAREBBgAdAWMBAAAAAQAAAAIAAABDAAAAczwAAAB8AABqAABkAQCDAQByHAB8AABkAgAffQAAbgAAfAAAagEAZAEAgwEAcjgAfAAAZAMAIH0AAG4AAHwAAFMoBAAAAE50AQAAACJpAQAAAGn/////KAIAAABSewAAAHQIAAAAZW5kc3dpdGgoAQAAAFJlAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHl0DQAAAF9zdHJpcF9xdW90ZXO1AQAAcwoAAAAAAQ8BDQEPAQ0BYwEAAAALAAAABwAAAEMAAABzaAEAAGQPAH0BAGcAAH0CAHhVAXwAAERdTQF9AwBnAAB9BAB0AAB9BQB4DAF0AQB0AgBqAwBkCAB8AwCDAgCDAQBEXfIAXAIAfQYAfQcAfAcAagQAgwAAfQcAfAcAZAkAawIAcmgAcT4AbgAAZAoAfAcAawcAcoQAfAcAZBAAAn0IAH0JAG4nAHQCAGoDAGQLAHwHAGQMAIMDAFwCAH0IAH0JAHwIAGoGAIMAAH0IAHwGAGQNAGsDAHIdAXwIAGoHAIMAAH0KAHwKAHwBAGsGAHLYAHwKAH0IAG4AAHwIAGQFAGsCAHL5AHQIAHwJAIMBAH0JAHQJAH0FAG4AAHwIAGQBAGsCAHIdAXQKAHQIAHwJAIMBAIMBAH0JAHEdAW4AAHwEAGoLAHwIAHwJAGYCAIMBAAFxPgBXfAQAchMAfAUAc1ABfAQAagsAZBEAgwEAAW4AAHwCAGoLAHwEAIMBAAFxEwBxEwBXfAIAUygSAAAAczUCAABBZC1ob2MgcGFyc2VyIGZvciBOZXRzY2FwZSBwcm90b2NvbCBjb29raWUtYXR0cmlidXRlcy4KCiAgICBUaGUgb2xkIE5ldHNjYXBlIGNvb2tpZSBmb3JtYXQgZm9yIFNldC1Db29raWUgY2FuIGZvciBpbnN0YW5jZSBjb250YWluCiAgICBhbiB1bnF1b3RlZCAiLCIgaW4gdGhlIGV4cGlyZXMgZmllbGQsIHNvIHdlIGhhdmUgdG8gdXNlIHRoaXMgYWQtaG9jCiAgICBwYXJzZXIgaW5zdGVhZCBvZiBzcGxpdF9oZWFkZXJfd29yZHMuCgogICAgWFhYIFRoaXMgbWF5IG5vdCBtYWtlIHRoZSBiZXN0IHBvc3NpYmxlIGVmZm9ydCB0byBwYXJzZSBhbGwgdGhlIGNyYXAKICAgIHRoYXQgTmV0c2NhcGUgQ29va2llIGhlYWRlcnMgY29udGFpbi4gIFJvbmFsZCBUc2NoYWxhcidzIEhUVFBDbGllbnQKICAgIHBhcnNlciBpcyBwcm9iYWJseSBiZXR0ZXIsIHNvIGNvdWxkIGRvIHdvcnNlIHRoYW4gZm9sbG93aW5nIHRoYXQgaWYKICAgIHRoaXMgZXZlciBnaXZlcyBhbnkgdHJvdWJsZS4KCiAgICBDdXJyZW50bHksIHRoaXMgaXMgYWxzbyB1c2VkIGZvciBwYXJzaW5nIFJGQyAyMTA5IGNvb2tpZXMuCgogICAgdAcAAABleHBpcmVzdAYAAABkb21haW50BAAAAHBhdGh0BgAAAHNlY3VyZXQHAAAAdmVyc2lvbnQEAAAAcG9ydHMHAAAAbWF4LWFnZXMEAAAAO1xzKlJdAAAAdAEAAAA9cwcAAABccyo9XHMqaQEAAABpAAAAAHQBAAAAMCgHAAAAcwcAAABleHBpcmVzcwYAAABkb21haW5zBAAAAHBhdGhzBgAAAHNlY3VyZXMHAAAAdmVyc2lvbnMEAAAAcG9ydHMHAAAAbWF4LWFnZU4oAgAAAHMHAAAAdmVyc2lvblKZAAAAKAwAAAB0BQAAAEZhbHNldAkAAABlbnVtZXJhdGVSfAAAAHQFAAAAc3BsaXRSeQAAAFIWAAAAUmEAAABSUQAAAFKRAAAAdAQAAABUcnVlUmcAAABSegAAACgLAAAAdAoAAABuc19oZWFkZXJzdAsAAABrbm93bl9hdHRyc1J/AAAAdAkAAABuc19oZWFkZXJSgQAAAHQLAAAAdmVyc2lvbl9zZXR0AgAAAGlpdAUAAABwYXJhbVKMAAAAUo0AAAB0AgAAAGxjKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHl0EAAAAHBhcnNlX25zX2hlYWRlcnO8AQAAczoAAAAADwACBgIGAQ0BBgEGASUBDAEMAAYBDAEQAhsBDAEMAQwBDAEJAQwCDAEJAQwCGAEXAgYBBgEQARQCcwYAAABcLlxkKyRjAQAAAAEAAAADAAAAQwAA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IHJlYWNoIFIgb2YgdGhlIHJlcXVlc3QtaG9zdCBPIGluIHRoZQogICAgICAgIG9yaWdpbiB0cmFuc2FjdGlvbi4KCiAgICBOKAYAAABSuQAAAFKtAAAAUtEAAAB0EwAAAGdldF9vcmlnaW5fcmVxX2hvc3RSnQAAAFKaAAAAKAIAAABStgAAAFK8AAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHl0DgAAAGlzX3RoaXJkX3BhcnR5sgIAAHMIAAAAAAoMARsBBAJjAAAAAAAAAAACAAAAQgAAAHNWAAAAZQAAWgEAZAAAWgIAZQMAZAEAhAEAWgQAZAIAhAAAWgUAZAgAZAMAhAEAWgcAZAQAhAAAWggAZAgAZAUAhAEAWgkAZAYAhAAAWgoAZAcAhAAAWgsAUlMoCQAAAHPQAgAASFRUUCBDb29raWUuCgogICAgVGhpcyBjbGFzcyByZXByZXNlbnRzIGJvdGggTmV0c2NhcGUgYW5kIFJGQyAyOTY1IGNvb2tpZXMuCgogICAgVGhpcyBpcyBkZWxpYmVyYXRlbHkgYSB2ZXJ5IHNpbXBsZSBjbGFzcy4gIEl0IGp1c3QgaG9sZHMgYXR0cmlidXRlcy4gIEl0J3MKICAgIHBvc3NpYmxlIHRvIGNvbnN0cnVjdCBDb29raWUgaW5zdGFuY2VzIHRoYXQgZG9uJ3QgY29tcGx5IHdpdGggdGhlIGNvb2tpZQogICAgc3RhbmRhcmRzLiAgQ29va2llSmFyLm1ha2VfY29va2llcyBpcyB0aGUgZmFjdG9yeSBmdW5jdGlvbiBmb3IgQ29va2llCiAgICBvYmplY3RzIC0tIGl0IGRlYWxzIHdpdGggY29va2llIHBhcnNpbmcsIHN1cHBseWluZyBkZWZhdWx0cywgYW5kCiAgICBub3JtYWxpc2luZyB0byB0aGUgcmVwcmVzZW50YXRpb24gdXNlZCBpbiB0aGlzIGNsYXNzLiAgQ29va2llUG9saWN5IGlzCiAgICByZXNwb25zaWJsZSBmb3IgY2hlY2tpbmcgdGhlbSB0byBzZWUgd2hldGhlciB0aGV5IHNob3VsZCBiZSBhY2NlcHRlZCBmcm9tCiAgICBhbmQgcmV0dXJuZWQgdG8gdGhlIHNlcnZlci4KCiAgICBOb3RlIHRoYXQgdGhlIHBvcnQgbWF5IGJlIHByZXNlbnQgaW4gdGhlIGhlYWRlcnMsIGJ1dCB1bnNwZWNpZmllZCAoIlBvcnQiCiAgICByYXRoZXIgdGhhbiJQb3J0PTgwIiwgZm9yIGV4YW1wbGUpOyBpZiB0aGlzIGlzIHRoZSBjYXNlLCBwb3J0IGlzIE5vbmUuCgogICAgYxIAAAASAAAAAwAAAEMAAABzCQEAAHwBAGQAAGsJAHIbAHQBAHwBAIMBAH0BAG4AAHwMAGQAAGsJAHI2AHQBAHwMAIMBAH0MAG4AAHwEAGQAAGsIAHJdAHwFAHQCAGsIAHJdAHQDAGQBAIMBAIIBAG4AAHwBAHwAAF8EAHwCAHwAAF8FAHwDAHwAAF8GAHwEAHwAAF8HAHwFAHwAAF8IAHwGAGoJAIMAAHwAAF8KAHwHAHwAAF8LAHwIAHwAAF8MAHwJAHwAAF8NAHwKAHwAAF8OAHwLAHwAAF8PAHwMAHwAAF8QAHwNAHwAAF8RAHwOAHwAAF8SAHwPAHwAAF8TAHwRAHwAAF8UAHQVAGoVAHwQAIMBAHwAAF8WAGQAAFMoAgAAAE5zLQAAAGlmIHBvcnQgaXMgTm9uZSwgcG9ydF9zcGVjaWZpZWQgbXVzdCBiZSBmYWxzZSgXAAAAUhYAAABSSQAAAFKdAAAAUlIAAABSlgAAAFKCAAAAUoMAAABSlwAAAHQOAAAAcG9ydF9zcGVjaWZpZWRSUQAAAFKTAAAAdBAAAABkb21haW5fc3BlY2lmaWVkdBIAAABkb21haW5faW5pdGlhbF9kb3RSlAAAAHQOAAAAcGF0aF9zcGVjaWZpZWRSlQAAAFKSAAAAdAcAAABkaXNjYXJkdAcAAABjb21tZW50dAsAAABjb21tZW50X3VybHQHAAAAcmZjMjEwOXQEAAAAY29weXQFAAAAX3Jlc3QoEgAAAHQEAAAAc2VsZlKWAAAAUoIAAABSgwAAAFKXAAAAUtQAAABSkwAAAFLVAAAAUtYAAABSlAAAAFLXAAAAUpUAAABSkgAAAFLYAAAAUtkAAABS2gAAAHQEAAAAcmVzdFLbAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHl0CAAAAF9faW5pdF9f1QIAAHMuAAAAAA0MAA8BDAAPARgBDwIJAQkBCQEJAQkCDwEJBQkBCQEJAQkBCQEJAQkBCQEJAmMCAAAAAgAAAAIAAABDAAAAcw0AAAB8AQB8AABqAABrBgBTKAEAAABOKAEAAABS3QAAACgCAAAAUt4AAABSggAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29va2llbGliLnB5dBQAAABoYXNfbm9uc3RhbmRhcmRfYXR0cv8CAABzAgAAAAABYwMAAAADAAAAAwAAAEMAAABzEwAAAHwAAGoAAGoBAHwBAHwCAIMCAFMoAQAAAE4oAgAAAFLdAAAAdAMAAABnZXQoAwAAAFLeAAAAUoIAAAB0BwAAAGRlZmF1bHQoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2Nvb2tpZWxpYi5weXQUAAAAZ2V0X25vbnN0YW5kYXJkX2F0dHIBAwAAcwIAAAAAAWMDAAAAAwAAAAMAAABDAAAAcxEAAAB8AgB8AABqAAB8AQA8ZAAAUygBAAAATigBAAAAUt0AAAAoAwAAAFLeAAAAUoIAAABSgwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcv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AAAAAAAAAAABAAAAQgAAAHMyAAAAZQAAWgEAZAAAWgIAZAEAhAAAWgMAZAIAhAAAWgQAZAMAhAAAWgUAZAQAhAAAWgYAUlMoBQAAAHMgAQAARGVmaW5lcyB3aGljaCBjb29raWVzIGdldCBhY2NlcHRlZCBmcm9tIGFuZCByZXR1cm5lZCB0byBzZXJ2ZXIuCgogICAgTWF5IGFsc28gbW9kaWZ5IGNvb2tpZXMsIHRob3VnaCB0aGlzIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuCgogICAgVGhlIHN1YmNsYXNzIERlZmF1bHRDb29raWVQb2xpY3kgZGVmaW5lcyB0aGUgc3RhbmRhcmQgcnVsZXMgZm9yIE5ldHNjYXBlCiAgICBhbmQgUkZDIDI5NjUgY29va2llcyAtLSBvdmVycmlkZSB0aGF0IGlmIHlvdSB3YW50IGEgY3VzdG9taXNlZCBwb2xpY3kuCgogICAgYwMAAAADAAAAAQAAAEMAAABzDQAAAHQAAIMAAIIBAGQBAFMoAgAAAHPEAAAAUmV0dXJuIHRydWUgaWYgKGFuZCBvbmx5IGlmKSBjb29raWUgc2hvdWxkIGJlIGFjY2VwdGVkIGZyb20gc2VydmVyLgoKICAgICAgICBDdXJyZW50bHksIHByZS1leHBpcmVkIGNvb2tpZXMgbmV2ZXIgZ2V0IHRoaXMgZmFyIC0tIHRoZSBDb29raWVKYXIKICAgICAgICBjbGFzcyBkZWxldGVzIHN1Y2ggY29va2llcyBpdHNlbGYuCgogICAgICAgIE4oAQAAAHQTAAAATm90SW1wbGVtZW50ZWRFcnJvcigDAAAAUt4AAAB0BgAAAGNvb2tpZVK2AAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHl0BgAAAHNldF9vay4DAABzAgAAAAAHYwMAAAADAAAAAQAAAEMAAABzDQAAAHQAAIMAAIIBAGQBAFMoAgAAAHNBAAAAUmV0dXJuIHRydWUgaWYgKGFuZCBvbmx5IGlmKSBjb29raWUgc2hvdWxkIGJlIHJldHVybmVkIHRvIHNlcnZlci5OKAEAAABS8gAAACgDAAAAUt4AAABS8wAAAFK2AAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHl0CQAAAHJldHVybl9vazcDAABzAgAAAAACYwMAAAADAAAAAQAAAEMAAABzBAAAAHQAAFMoAQAAAHNNAAAAUmV0dXJuIGZhbHNlIGlmIGNvb2tpZXMgc2hvdWxkIG5vdCBiZSByZXR1cm5lZCwgZ2l2ZW4gY29va2llIGRvbWFpbi4KICAgICAgICAoAQAAAFKdAAAAKAMAAABS3gAAAFKTAAAAUrYAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2Nvb2tpZWxpYi5weXQQAAAAZG9tYWluX3JldHVybl9vazsDAABzAgAAAAADYwMAAAADAAAAAQAAAEMAAABzBAAAAHQAAFMoAQAAAHNLAAAAUmV0dXJuIGZhbHNlIGlmIGNvb2tpZXMgc2hvdWxkIG5vdCBiZSByZXR1cm5lZCwgZ2l2ZW4gY29va2llIHBhdGguCiAgICAgICAgKAEAAABSnQAAACgDAAAAUt4AAABSlAAAAFK2AAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHl0DgAAAHBhdGhfcmV0dXJuX29rQAMAAHMCAAAAAAMoBwAAAFLvAAAAUvAAAABS8QAAAFL0AAAAUvUAAABS9gAAAFL3AAAAKAAAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2Nvb2tpZWxpYi5weVICAAAAJQMAAHMKAAAABggGAQkJCQQJBWMAAAAAAAAAAA0AAABCAAAAcyMBAABlAABaAQBkAABaAgBkAQBaAwBkAgBaBABkAwBaBQBkBABaBgBlAwBlBABCWgcAZBwAZBwAZQkAZQoAZBwAZQoAZQoAZQkAZQoAZQYAZQoAZQoAZAUAhAwAWgsAZAYAhAAAWgwAZAcAhAAAWg0AZAgAhAAAWg4AZAkAhAAAWg8AZAoAhAAAWhAAZAsAhAAAWhEAZAwAhAAAWhIAZA0AhAAAWhMAZA4AhAAAWhQAZA8AhAAAWhUAZBAAhAAAWhYAZBEAhAAAWhcAZBIAhAAAWhgAZBMAhAAAWhkAZBQAhAAAWhoAZBUAhAAAWhsAZBYAhAAAWhwAZBcAhAAAWh0AZBgAhAAAWh4AZBkAhAAAWh8AZBoAhAAAWiAAZBsAhAAAWiEAUlMoHQAAAHNCAAAASW1wbGVtZW50cyB0aGUgc3RhbmRhcmQgcnVsZXMgZm9yIGFjY2VwdGluZyBhbmQgcmV0dXJuaW5nIGNvb2tpZXMuaQEAAABpAgAAAGkEAAAAaQAAAABjDQAAAA0AAAACAAAAQwAAAHOpAAAAfAMAfAAAXwAAfAQAfAAAXwEAfAUAfAAAXwIAfAYAfAAAXwMAfAcAfAAAXwQAfAgAfAAAXwUAfAkAfAAAXwYAfAoAfAAAXwcAfAsAfAAAXwgAfAwAfAAAXwkAfAEAZAEAawkAcngAdAsAfAEAgwEAfAAAXwwAbgkAZAIAfAAAXwwAfAIAZAEAawkAcpwAdAsAfAIAgwEAfQIAbgAAfAIAfAAAXw0AZAEAUygDAAAAc0EAAABDb25zdHJ1Y3RvciBhcmd1bWVudHMgc2hvdWxkIGJlIHBhc3NlZCBhcyBrZXl3b3JkIGFyZ3VtZW50cyBvbmx5Lk4oAAAAACgOAAAAdAgAAABuZXRzY2FwZXQHAAAAcmZjMjk2NXQTAAAAcmZjMjEwOV9hc19uZXRzY2FwZXQMAAAAaGlkZV9jb29raWUydA0AAABzdHJpY3RfZG9tYWludBsAAABzdHJpY3RfcmZjMjk2NV91bnZlcmlmaWFibGV0FgAAAHN0cmljdF9uc191bnZlcmlmaWFibGV0EAAAAHN0cmljdF9uc19kb21haW50HAAAAHN0cmljdF9uc19zZXRfaW5pdGlhbF9kb2xsYXJ0EgAAAHN0cmljdF9uc19zZXRfcGF0aFIWAAAAdAUAAAB0dXBsZXQQAAAAX2Jsb2NrZWRfZG9tYWluc3QQAAAAX2FsbG93ZWRfZG9tYWlucygNAAAAUt4AAAB0DwAAAGJsb2NrZWRfZG9tYWluc3QPAAAAYWxsb3dlZF9kb21haW5zUvgAAABS+QAAAFL6AAAAUvsAAABS/AAAAFL9AAAAUv4AAABS/wAAAFIAAQAAUgEBAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2Nvb2tpZWxpYi5weVLgAAAAUAMAAHMgAAAAAA0JAQkBCQEJAQkBCQEJAQkBCQEJAgwBEgIJAgwBDwFjAQAAAAEAAAABAAAAQwAAAHMHAAAAfAAAagAAUygBAAAAczQAAABSZXR1cm4gdGhlIHNlcXVlbmNlIG9mIGJsb2NrZWQgZG9tYWlucyAoYXMgYSB0dXBsZSkuKAEAAABSAwEAACgBAAAAUt4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2Nvb2tpZWxpYi5weVIFAQAAcQMAAHMCAAAAAAJjAgAAAAIAAAACAAAAQwAAAHMTAAAAdAAAfAEAgwEAfAAAXwEAZAEAUygCAAAAcyQAAABTZXQgdGhlIHNlcXVlbmNlIG9mIGJsb2NrZWQgZG9tYWlucy5OKAIAAABSAgEAAFIDAQAAKAIAAABS3gAAAFIFAQAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHl0EwAAAHNldF9ibG9ja2VkX2RvbWFpbnN0AwAAcwIAAAAAAmMCAAAAAwAAAAQAAABDAAAAcysAAAB4JAB8AABqAABEXRkAfQIAdAEAfAEAfAIAgwIAcgoAdAIAU3EKAFd0AwBTKAEAAABOKAQAAABSAwEAAFKwAAAAUp0AAABSmgAAACgDAAAAUt4AAABSkwAAAHQOAAAAYmxvY2tlZF9kb21haW4oAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2Nvb2tpZWxpYi5weXQKAAAAaXNfYmxvY2tlZHgDAABzCAAAAAABEAEPAQgBYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAHM9AAAAUmV0dXJuIE5vbmUsIG9yIHRoZSBzZXF1ZW5jZSBvZiBhbGxvd2VkIGRvbWFpbnMgKGFzIGEgdHVwbGUpLigBAAAAUgQBAAAoAQAAAFLeAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb29raWVsaWIucHlSBgEAAH4DAABzAgAAAAACYwIAAAACAAAAAgAAAEMAAABzKAAAAHwBAGQBAGsJAHIbAHQBAHwBAIMBAH0BAG4AAHwBAHwAAF8CAGQBAFMoAgAAAHMtAAAAU2V0IHRoZSBzZXF1ZW5jZSBvZiBhbGxvd2VkIGRvbWFpbnMsIG9yIE5vbmUuTigDAAAAUhYAAABSAgEAAFIEAQAAKAIAAABS3gAAAFIGAQAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2Nj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kwAAAFKUAAAAUpcAAABS2QAAAHQKAAAAY29tbWVudHVybGkAAAAAaQEAAABzJQAAACAgIG1pc3NpbmcgdmFsdWUgZm9yIGRvbWFpbiBhdHRyaWJ1dGVzTQAAACAgIG1pc3Npbmcgb3IgaW52YWxpZCB2YWx1ZSBmb3IgZXhwaXJlcyBhdHRyaWJ1dGU6IHRyZWF0aW5nIGFzIHNlc3Npb24gY29va2llcz8AAAAgICBtaXNzaW5nIG9yIGludmFsaWQgKG5vbi1udW1lcmljKSB2YWx1ZSBmb3IgbWF4LWFnZSBhdHRyaWJ1dGVzIQAAACAgIG1pc3NpbmcgdmFsdWUgZm9yICVzIGF0dHJpYnV0ZSgCAAAAcwcAAABkaXNjYXJkcwYAAABzZWN1cmUoCAAAAHMHAAAAdmVyc2lvbnMHAAAAZXhwaXJlc3MHAAAAbWF4LWFnZXMGAAAAZG9tYWlucwQAAABwYXRocwQAAABwb3J0cwcAAABjb21tZW50UnEBAABOKAMAAABzBAAAAHBvcnRzBwAAAGNvbW1lbnRScQEAACgJAAAAUpoAAABSUQAAAFIWAAAAUp0AAABSEAAAAFJJAAAAUlIAAABSQQEAAFJ6AAAAKA8AAABS3gAAAHQJAAAAYXR0cnNfc2V0dA0AAABjb29raWVfdHVwbGVzdA0AAABib29sZWFuX2F0dHJzdAsAAAB2YWx1ZV9hdHRyc3QMAAAAY29va2llX2F0dHJzUoIAAABSgwAAAHQLAAAAbWF4X2FnZV9zZXR0CgAAAGJhZF9jb29raWV0CAAAAHN0YW5kYXJkUt8AAABSjAAAAFKNAAAAUqQAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2Nvb2tpZWxpYi5weXQZAAAAX25vcm1hbGl6ZWRfY29va2llX3R1cGxlc0EFAABzbAAAAAANBgIGAQABAAEAAQYCDQEQCgYCBgIGAQYBFwEMAhgBCQEYAwkBDAIGAQwBDAEKAQYBBAIPAQwBBgIGAQwBCgIJAQwBBgEDARABDQEKAgYBBQUGARABGAEMAQwB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LiAgSWYgZ2l2ZW4gdHdvIGFyZ3VtZW50cywgY29va2llcyBiZWxvbmdpbmcgdG8gdGhlIHNwZWNpZmllZAogICAgICAgIHBhdGggd2l0aGluIHRoYXQgZG9tYWluIGFyZSByZW1vdmVkLiAgSWYgZ2l2ZW4gdGhyZWUgYXJndW1lbnRzLCB0aGVuCiAgICAgICAgdGhlIGNvb2tpZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSwgcGF0aCBhbmQgZG9tYWluIGlzIHJlbW92ZWQuCgogICAgICAgIFJhaXNlcyBLZXlFcnJvciBpZiBubyBtYXRjaGluZyBjb29raWUgZXhpc3RzLgoKICAgICAgICBzOAAAAGRvbWFpbiBhbmQgcGF0aCBtdXN0IGJlIGdpdmVuIHRvIHJlbW92ZSBhIGNvb2tpZSBieSBuYW1lcy4AAABkb21haW4gbXVzdCBiZSBnaXZlbiB0byByZW1vdmUgY29va2llcyBieSBwYXRoTigDAAAAUhYAAABSUgAAAFJZAQAAKAQAAABS3gAAAFKTAAAAUpQAAABSggAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29va2llbGliLnB5UnwBAABxBgAAcxoAAAAADAwBGAEDAQwBFQEMAQwBAwEMAREBDAENAmMBAAAAAgAAAAUAAABDAAAAc18AAAB8AABqAABqAQCDAAABej0AeDYAfAAARF0uAH0BAHwBAGoCAHIXAHwAAGoDAHwBAGoEAHwBAGoFAHwBAGoGAIMDAAFxFwBxFwBXV2QBAHwAAGoAAGoHAIMAAAFYZAEAUygCAAAAc7sAAABEaXNjYXJkIGFsbCBzZXNzaW9uIGNvb2tpZXMuCgogICAgICAgIE5vdGUgdGhhdCB0aGUgLnNhdmUoKSBtZXRob2Qgd29uJ3Qgc2F2ZSBzZXNzaW9uIGNvb2tpZXMgYW55d2F5LCB1bmxlc3MKICAgICAgICB5b3UgYXNrIG90aGVyd2lzZSBieSBwYXNzaW5nIGEgdHJ1ZSBpZ25vcmVfZGlzY2FyZCBhcmd1bWVudC4KCiAgICAgICAgTigIAAAAUlgBAABSbAEAAFLYAAAAUnwBAABSkwAAAFKUAAAAUoIAAABSbwEAACgCAAAAUt4AAABS8wAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29va2llbGliLnB5dBUAAABjbGVhcl9zZXNzaW9uX2Nvb2tpZXOMBgAAcwwAAAAABw0BAwENAQkBJwJjAQAAAAMAAAAFAAAAQwAAAHNxAAAAfAAAagAAagEAgwAAAXpPAHQCAGoCAIMAAH0BAHg8AHwAAERdNAB9AgB8AgBqAwB8AQCDAQByIwB8AABqBAB8AgBqBQB8AgBqBgB8AgBqBwCDAwABcSMAcSMAV1dkAQB8AABqAABqCACDAAABWGQBAFMoAgAAAHOUAQAARGlzY2FyZCBhbGwgZXhwaXJlZCBjb29raWVzLgoKICAgICAgICBZb3UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0byBjYWxsIHRoaXMgbWV0aG9kOiBleHBpcmVkIGNvb2tpZXMgYXJlIG5ldmVyCiAgICAgICAgc2VudCBiYWNrIHRvIHRoZSBzZXJ2ZXIgKHByb3ZpZGVkIHlvdSdyZSB1c2luZyBEZWZhdWx0Q29va2llUG9saWN5KSwKICAgICAgICB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgYnkgQ29va2llSmFyIGl0c2VsZiBldmVyeSBzbyBvZnRlbiwgYW5kIHRoZQogICAgICAgIC5zYXZlKCkgbWV0aG9kIHdvbid0IHNhdmUgZXhwaXJlZCBjb29raWVzIGFueXdheSAodW5sZXNzIHlvdSBhc2sKICAgICAgICBvdGhlcndpc2UgYnkgcGFzc2luZyBhIHRydWUgaWdub3JlX2V4cGlyZXMgYXJndW1lbnQpLgoKICAgICAgICBOKAkAAABSWAEAAFJsAQAAUjgAAABS5wAAAFJ8AQAAUpMAAABSlAAAAFKCAAAAUm8BAAAoAwAAAFLeAAAAUuYAAABS8wAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29va2llbGliLnB5UnABAACbBgAAcw4AAAAACg0BAwEMAQ0BDwEnAmMBAAAAAQAAAAIAAABDAAAAcw0AAAB0AAB8AABqAQCDAQBTKAEAAABOKAIAAABSTwEAAFJZAQAAKAEAAABS3gAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29va2llbGliLnB5dAgAAABfX2l0ZXJfX64GAABzAgAAAAABYwEAAAADAAAAAwAAAEMAAABzJQAAAGQBAH0BAHgYAHwAAERdEAB9AgB8AQBkAgAXfQEAcQ0AV3wBAFMoAwAAAHMjAAAAUmV0dXJuIG51bWJlciBvZiBjb250YWluZWQgY29va2llcy5pAAAAAGkBAAAAKAAAAAAoAwAAAFLeAAAAUqwAAABS8wAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29va2llbGliLnB5dAcAAABfX2xlbl9fsQYAAHMIAAAAAAIGAQ0ADgFjAQAAAAMAAAAEAAAAQwAAAHNEAAAAZwAAfQEAeCEAfAAARF0ZAH0CAHwBAGoAAHQBAHwCAIMBAIMBAAFxDQBXZAEAfAAAagIAZAIAagMAfAEAgwEAZgIAFlMoAwAAAE5zCAAAADwlc1slc10+cwIAAAAsICgEAAAAUnoAAABS7QAAAHQJAAAAX19jbGFzc19fUogAAAAoAwAAAFLeAAAAdAEAAAByUvMAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlu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