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fQVkAmoCfAN8BHwBdAN8AoMBfAV0BGQDjQZ9BnwGUwApBHqnCiAgICBDcmVhdGUgYW5kIHJldHVybiB0aGUgZXJyb3IgbWVzc2FnZSB0byB1c2UgdG8gbG9nIGEgc3VicHJvY2VzcyBlcnJvcgogICAgd2l0aCBjb21tYW5kIG91dHB1dC4KCiAgICA6cGFyYW0gbGluZXM6IEEgbGlzdCBvZiBsaW5lcywgZWFjaCBlbmRpbmcgd2l0aCBhIG5ld2xpbmUuCiAgICDaAHqfQ29tbWFuZCBlcnJvcmVkIG91dCB3aXRoIGV4aXQgc3RhdHVzIHtleGl0X3N0YXR1c306CiBjb21tYW5kOiB7Y29tbWFuZF9kaXNwbGF5fQogICAgIGN3ZDoge2N3ZF9kaXNwbGF5fQpDb21wbGV0ZSBvdXRwdXQgKHtsaW5lX2NvdW50fSBsaW5lcyk6CntvdXRwdXR9e2RpdmlkZXJ9KQZyKAAAAFoPY29tbWFuZF9kaXNwbGF5Wgtjd2RfZGlzcGxheVoKbGluZV9jb3VudNoGb3V0cHV0WgdkaXZpZGVyKQVyIgAAAHIhAAAA2gZmb3JtYXTaA2xlbtoLTE9HX0RJVklERVIpB3IlAAAAciYAAAByJwAAAHIoAAAA2gdjb21tYW5kcioAAADaA21zZ3IYAAAAchgAAAByGQAAANocbWFrZV9zdWJwcm9jZXNzX291dHB1dF9lcnJvckgAAABzFAAAAAAMCAMKBQQFAgECAQIBBgECAQgCcjAAAABG2gVyYWlzZVR6IkxpdGVyYWxbInJhaXNlIiwgIndhcm4iLCAiaWdub3JlIl0pDNoDY21k2gtzaG93X3N0ZG91dHImAAAA2g1vbl9yZXR1cm5jb2Rl2hRleHRyYV9va19yZXR1cm5jb2Rlc9oMY29tbWFuZF9kZXNj2g1leHRyYV9lbnZpcm9u2g11bnNldF9lbnZpcm9u2gdzcGlubmVy2g5sb2dfZmFpbGVkX2NtZNoLc3Rkb3V0X29ubHlyEgAAAGMLAAAAAAAAABwAAAAcAAAAQwAAAHPMAgAAfARkAWsIcgxnAH0EfAdkAWsIchhnAH0HfAFyKnQAagF9C3QCagN9DG4KdABqBH0LdAV9DHQAagaDAHwMawF9DXwNDABvTHwIZAFrCX0OfAVkAWsIcl50B3wAgwF9BXwLZAJ8BYMCAQB0CGoJagqDAH0PfAZygHwPagt8BoMBAQB4GHwHRABdEH0QfA9qDHwQZAGDAgEAcYZXAHkwdA1qDnQPfACDAXQNahB0DWoQfApzuHQNahFuBHQNahB8AnwPZANkBI0HfRFXAG44BAB0EmsKkAFyAgEAfRIBAHoafAly8HQAahNkBXwSfAWDAwEAggBXAFkAZAFkAX0SfhJYAG4CWABnAH0TfAqQAXOufBFqFJABcxp0FYIBfBFqFpABcyZ0FYIBfBFqFmoXgwABAHhOfBFqFGoYgwB9FHwUkAFzRFAAfBRqGYMAfRR8E2oafBRkBhcAgwEBAHwLfBSDAQEAfA6QAXIyfAiQAXNydBWCAXwIahuDAAEAkAFxMlcAegx8EWocgwABAFcAZAF8EWoUkAFyoHwRahRqF4MAAQBYAGQHah18E4MBfRVuXHwRah6DAFwCfRZ9F3gafBZqH4MARABdDn0YfAt8GIMBAQCQAXHEVwB8E2oafBaDAQEAeBp8F2ofgwBEAF0OfRl8C3wZgwEBAJABcepXAHwTahp8F4MBAQB8Fn0VfBFqIJACbxp8EWogfARrB30afA6QAnJIfAiQAnMsdBWCAXwakAJyPnwIaiFkCIMBAQBuCnwIaiFkCYMBAQB8GpACcsh8A2QKawKQAnKQfA0MAJACcoJ8CZACcoJ0InwAfAJ8E3wRaiBkC40EfRt0AGojfBuDAQEAdCR8EWogfAWDAoIBbjh8A2QMawKQAnKudABqJWQNfAV8EWogfAKDBAEAbhp8A2QOawKQAnK6bg50JmQPfAObAp0CgwGCAXwVUwApEGHNAgAACiAgICBBcmdzOgogICAgICBzaG93X3N0ZG91dDogaWYgdHJ1ZSwgdXNlIElORk8gdG8gbG9nIHRoZSBzdWJwcm9jZXNzJ3Mgc3RkZXJyIGFuZAogICAgICAgIHN0ZG91dCBzdHJlYW1zLiAgT3RoZXJ3aXNlLCB1c2UgREVCVUcuICBEZWZhdWx0cyB0byBGYWxzZS4KICAgICAgZXh0cmFfb2tfcmV0dXJuY29kZXM6IGFuIGl0ZXJhYmxlIG9mIGludGVnZXIgcmV0dXJuIGNvZGVzIHRoYXQgYXJlCiAgICAgICAgYWNjZXB0YWJsZSwgaW4gYWRkaXRpb24gdG8gMC4gRGVmYXVsdHMgdG8gTm9uZSwgd2hpY2ggbWVhbnMgW10uCiAgICAgIHVuc2V0X2Vudmlyb246IGFuIGl0ZXJhYmxlIG9mIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVzIHRvIHVuc2V0CiAgICAgICAgcHJpb3IgdG8gY2FsbGluZyBzdWJwcm9jZXNzLlBvcGVuKCkuCiAgICAgIGxvZ19mYWlsZWRfY21kOiBpZiBmYWxzZSwgZmFpbGVkIGNvbW1hbmRzIGFyZSBub3QgbG9nZ2VkLCBvbmx5IHJhaXNlZC4KICAgICAgc3Rkb3V0X29ubHk6IGlmIHRydWUsIHJldHVybiBvbmx5IHN0ZG91dCwgZWxzZSByZXR1cm4gYm90aC4gV2hlbiB0cnVlLAogICAgICAgIGxvZ2dpbmcgb2YgYm90aCBzdGRvdXQgYW5kIHN0ZGVyciBvY2N1cnMgd2hlbiB0aGUgc3VicHJvY2VzcyBoYXMKICAgICAgICB0ZXJtaW5hdGVkLCBlbHNlIGxvZ2dpbmcgb2NjdXJzIGFzIHN1YnByb2Nlc3Mgb3V0cHV0IGlzIHByb2R1Y2VkLgogICAgTnoSUnVubmluZyBjb21tYW5kICVz2hBiYWNrc2xhc2hyZXBsYWNlKQbaBXN0ZGlu2gZzdGRvdXTaBnN0ZGVycnImAAAA2gNlbnbaBmVycm9yc3ojRXJyb3IgJXMgd2hpbGUgZXhlY3V0aW5nIGNvbW1hbmQgJXPaAQpyKQAAANoFZXJyb3LaBGRvbmVyMQAAACkEciUAAAByJgAAAHInAAAAcigAAADaBHdhcm56JENvbW1hbmQgIiVzIiBoYWQgZXJyb3IgY29kZSAlcyBpbiAlc9oGaWdub3Jleh1JbnZhbGlkIHZhbHVlOiBvbl9yZXR1cm5jb2RlPSkncg4AAADaBGluZm/aB2xvZ2dpbmfaBElORk/aB3ZlcmJvc2VyDQAAANoRZ2V0RWZmZWN0aXZlTGV2ZWxyIgAAANoCb3PaB2Vudmlyb27aBGNvcHnaBnVwZGF0ZdoDcG9w2gpzdWJwcm9jZXNz2gVQb3BlbnIkAAAA2gRQSVBF2gZTVERPVVTaCUV4Y2VwdGlvbtoIY3JpdGljYWxyPgAAANoOQXNzZXJ0aW9uRXJyb3JyPQAAANoFY2xvc2XaCHJlYWRsaW5l2gZyc3RyaXByFgAAANoEc3BpbtoEd2FpdHIhAAAA2gtjb21tdW5pY2F0ZdoKc3BsaXRsaW5lc9oKcmV0dXJuY29kZdoGZmluaXNocjAAAAByQwAAAHIMAAAA2gd3YXJuaW5n2gpWYWx1ZUVycm9yKRxyMgAAAHIzAAAAciYAAAByNAAAAHI1AAAAcjYAAAByNwAAAHI4AAAAcjkAAAByOgAAAHI7AAAAWg5sb2dfc3VicHJvY2Vzc1oKdXNlZF9sZXZlbFoSc2hvd2luZ19zdWJwcm9jZXNzWgt1c2Vfc3Bpbm5lcnJAAAAA2gRuYW1l2gRwcm9j2gNleGPaCmFsbF9vdXRwdXTaBGxpbmVyKgAAANoDb3V02gNlcnJaCG91dF9saW5lWghlcnJfbGluZVoOcHJvY19oYWRfZXJyb3JyLwAAAHIYAAAAchgAAAByGQAAANoPY2FsbF9zdWJwcm9jZXNzawAAAHOyAAAAABoIAQQBCAEEEAQCBgEIBAYBBAMMBA4CCAEIAgoBCgEEAQoBCgEQAQIBBAIGAQQBBAEOAQIBAgEMAhIBBAEEAQIBAgEGAhQBBAEGAQwBDAEKAgIBCgEGAQIBCAEOAwgCBgEKAQ4BAgEMAggBDAEMBAwCDgEOAQoBDgEOAQoBBAISAQYBCgEGAQwCCgEGAQoBDgMCAQIBAgECAQoCCgEOAQoBBAECAQIBBAEIAgoBAgIOAXJqAAAALikC2gdtZXNzYWdlchIAAABjAQAAAAAAAAACAAAABwAAAAMAAABzMgAAAGQFdAB0ARkAdAJ0ARkAdAJ0A3QBdARmAhkAGQBkAWQCnASHAGYBZANkBIQNfQF8AVMAKQZ63FByb3ZpZGUgYSBzdWJwcm9jZXNzX3J1bm5lciB0aGF0IHNob3dzIGEgc3Bpbm5lciBtZXNzYWdlLgoKICAgIEludGVuZGVkIGZvciB1c2Ugd2l0aCBmb3IgcGVwNTE3J3MgUGVwNTE3SG9va0NhbGxlci4gVGh1cywgdGhlIHJ1bm5lciBoYXMKICAgIGFuIEFQSSB0aGF0IG1hdGNoZXMgd2hhdCdzIGV4cGVjdGVkIGJ5IFBlcDUxN0hvb2tDYWxsZXIuc3VicHJvY2Vzc19ydW5uZXIuCiAgICBOKQRyMgAAAHImAAAAcjcAAAByEgAAAGMDAAAAAAAAAAQAAAANAAAAEwAAAHMoAAAAdACIAIMBjxZ9A3QBfAB8AXwCfANkAY0EAQBXAGQAUQBSAFgAZABTACkCTikDciYAAAByNwAAAHI5AAAAKQJyCwAAAHJqAAAAKQRyMgAAAHImAAAAcjcAAAByOQAAACkBcmsAAAByGAAAAHIZAAAA2gZydW5uZXIUAQAAcwwAAAAABQoBAgECAQIBAgF6K3J1bm5lcl93aXRoX3NwaW5uZXJfbWVzc2FnZS48bG9jYWxzPi5ydW5uZXIpAk5OKQVyBgAAAHIeAAAAcggAAAByBwAAAHIDAAAAKQJyawAAAHJsAAAAchgAAAApAXJrAAAAchkAAADaG3J1bm5lcl93aXRoX3NwaW5uZXJfbWVzc2FnZQ0BAABzCAAAAAAJAAEcARIJcm0AAAApCkZOcjEAAABOTk5OTlRGKQIuTikjckgAAAByTAAAAHIcAAAAclEAAABaBnR5cGluZ3ICAAAAcgMAAAByBAAAAHIFAAAAcgYAAAByBwAAAHIIAAAAcgkAAABaGnBpcC5faW50ZXJuYWwuY2xpLnNwaW5uZXJzcgoAAAByCwAAAFoYcGlwLl9pbnRlcm5hbC5leGNlcHRpb25zcgwAAABaG3BpcC5faW50ZXJuYWwudXRpbHMubG9nZ2luZ3INAAAAcg4AAABaGHBpcC5faW50ZXJuYWwudXRpbHMubWlzY3IPAAAAchAAAAByHgAAAFoLQ29tbWFuZEFyZ3NyLQAAAHIaAAAAciIAAAByJAAAANoDaW50cjAAAADaBGJvb2xyagAAAHJtAAAAchgAAAByGAAAAHIYAAAAchkAAADaCDxtb2R1bGU+AQAAAHNCAAAACAEIAQgBCAEoCxABDAEQAQwCBAQMAhADBAMaERwPIAgOAQYBBgECAQ4gAAEAAQABAAEAAQABAAEAAQABVAEOfwAX