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cGVjaWFsaXplZCBwdXJwb3NlLCBhbmQgdGhlbiBwYXNzIHRoZSBzdWJjbGFzcwogICAgdG8gJ3NldHVwKCknIGFzIHRoZSAnZGlzdGNsYXNzJyBrZXl3b3JkIGFyZ3VtZW50LiAgSWYgc28sIGl0IGlzCiAgICBuZWNlc3NhcnkgdG8gcmVzcGVjdCB0aGUgZXhwZWN0YXRpb25zIHRoYXQgJ3NldHVwJyBoYXMgb2YgRGlzdHJpYnV0aW9uLgogICAgU2VlIHRoZSBjb2RlIGZvciAnc2V0dXAoKScsIGluIGNvcmUucHksIGZvciBkZXRhaWxzLgogICAgKQUpBNoHdmVyYm9zZdoBdnoXcnVuIHZlcmJvc2VseSAoZGVmYXVsdCnpAQAAACkD2gVxdWlldNoBcXohcnVuIHF1aWV0bHkgKHR1cm5zIHZlcmJvc2l0eSBvZmYpKQN6B2RyeS1ydW7aAW56GmRvbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nKQPaBGhlbHDaAWh6GnNob3cgZGV0YWlsZWQgaGVscCBtZXNzYWdlKQN6C25vLXVzZXItY2ZnTnotaWdub3JlIHB5ZGlzdHV0aWxzLmNmZyBpbiB5b3VyIGhvbWUgZGlyZWN0b3J5eqNDb21tb24gY29tbWFuZHM6IChzZWUgJy0taGVscC1jb21tYW5kcycgZm9yIG1vcmUpCgogIHNldHVwLnB5IGJ1aWxkICAgICAgd2lsbCBidWlsZCB0aGUgcGFja2FnZSB1bmRlcm5lYXRoICdidWlsZC8nCiAgc2V0dXAucHkgaW5zdGFsbCAgICB3aWxsIGluc3RhbGwgdGhlIHBhY2thZ2UKKRUpA3oNaGVscC1jb21tYW5kc056G2xpc3QgYWxsIGF2YWlsYWJsZSBjb21tYW5kcykD2gRuYW1lTnoScHJpbnQgcGFja2FnZSBuYW1lKQPaB3ZlcnNpb27aAVZ6FXByaW50IHBhY2thZ2UgdmVyc2lvbikD2ghmdWxsbmFtZU56HnByaW50IDxwYWNrYWdlIG5hbWU+LTx2ZXJzaW9uPikD2gZhdXRob3JOehdwcmludCB0aGUgYXV0aG9yJ3MgbmFtZSkD+gxhdXRob3ItZW1haWxOeiBwcmludCB0aGUgYXV0aG9yJ3MgZW1haWwgYWRkcmVzcykD2gptYWludGFpbmVyTnobcHJpbnQgdGhlIG1haW50YWluZXIncyBuYW1lKQN6EG1haW50YWluZXItZW1haWxOeiRwcmludCB0aGUgbWFpbnRhaW5lcidzIGVtYWlsIGFkZHJlc3MpA9oHY29udGFjdE56N3ByaW50IHRoZSBtYWludGFpbmVyJ3MgbmFtZSBpZiBrbm93biwgZWxzZSB0aGUgYXV0aG9yJ3MpA3oNY29udGFjdC1lbWFpbE56QHByaW50IHRoZSBtYWludGFpbmVyJ3MgZW1haWwgYWRkcmVzcyBpZiBrbm93biwgZWxzZSB0aGUgYXV0aG9yJ3MpA9oDdXJsTnoecHJpbnQgdGhlIFVSTCBmb3IgdGhpcyBwYWNrYWdlKQPaB2xpY2Vuc2VOeiBwcmludCB0aGUgbGljZW5zZSBvZiB0aGUgcGFja2FnZSkD2gdsaWNlbmNlTnoTYWxpYXMgZm9yIC0tbGljZW5zZSkD2gtkZXNjcmlwdGlvbk56HXByaW50IHRoZSBwYWNrYWdlIGRlc2NyaXB0aW9uKQN6EGxvbmctZGVzY3JpcHRpb25OeiJwcmludCB0aGUgbG9uZyBwYWNrYWdlIGRlc2NyaXB0aW9uKQPaCXBsYXRmb3Jtc056G3ByaW50IHRoZSBsaXN0IG9mIHBsYXRmb3JtcykD2gtjbGFzc2lmaWVyc056HXByaW50IHRoZSBsaXN0IG9mIGNsYXNzaWZpZXJzKQPaCGtleXdvcmRzTnoacHJpbnQgdGhlIGxpc3Qgb2Yga2V5d29yZHMpA9oIcHJvdmlkZXNOeitwcmludCB0aGUgbGlzdCBvZiBwYWNrYWdlcy9tb2R1bGVzIHByb3ZpZGVkKQPaCHJlcXVpcmVzTnorcHJpbnQgdGhlIGxpc3Qgb2YgcGFja2FnZXMvbW9kdWxlcyByZXF1aXJlZCkD2glvYnNvbGV0ZXNOejBwcmludCB0aGUgbGlzdCBvZiBwYWNrYWdlcy9tb2R1bGVzIG1hZGUgb2Jzb2xldGVjAQAAAAAAAAAAAAAAAgAAAAUAAABDAAAAcxgAAABnAHwAXQh9AXQAfAFkABkAgwGRAnECUwCpAXIBAAAAqQFyBQAAACkC2gIuMNoBeHIMAAAAcgwAAAByGQAAANoKPGxpc3Rjb21wPoIAAABzAgAAABgAehdEaXN0cmlidXRpb24uPGxpc3Rjb21wPnIfAAAAchwAAABOYwIAAAAAAAAAAAAAAA4AAAAHAAAAQwAAAHNEAgAAZAF8AF8AZAJ8AF8BZAJ8AF8CfABqA0QAXQh9AnQEfAB8AmQCgwMBAHEMdAWDAHwAXwZ8AGoGagdEAF0QfQNkA3wDFwB9BHQEfAB8BHQIfABqBnwEgwKDAwEAcR1pAHwAXwlkBHwAXwpkBHwAXwtkBHwAXwxpAHwAXw1nAHwAXw5kBHwAXw9pAHwAXxBkBHwAXxFkBHwAXxJkBHwAXxNkBHwAXxRkBHwAXxVkBHwAXxZkBHwAXxdkBHwAXxhkBHwAXxlkBHwAXxpkBXwAXxtpAHwAXxxpAHwAXx18AXL6fAGgHmQGoQF9BXwFZAR1AXKYfAFkBj0AfAWgH6EARABdGFwCfQZ9B3wAoCB8BqEBfQh8B6AfoQBEAF0KXAJ9CX0KZAd8CmYCfAh8CTwAcYxxf2QIfAF2AHK5fAFkCBkAfAFkCTwAfAFkCD0AZAp9C3QhZAR1AXKxdCGgInwLoQEBAG4IdCNqJKAlfAtkCxcAoQEBAHwBoB+hAEQAXTxcAn0MfQp0JnwAagZkDHwMFwCDAnLUdAh8AGoGZAx8DBcAgwJ8CoMBAQBxvXQmfABqBnwMgwJy4nQEfABqBnwMfAqDAwEAcb10JnwAfAyDAnLudAR8AHwMfAqDAwEAcb1kDXQnfAyDARYAfQt0IaAifAuhAQEAcb1kDnwAXyh8AGoMZAR1AZABchx8AGoMRABdFX0NfA2gKWQPoQGQAXMQAQBuDHwNZBBrApABchpkEXwAXygBAG4CkAFxBnwAoCqhAAEAZARTACkSYTACAABDb25zdHJ1Y3QgYSBuZXcgRGlzdHJpYnV0aW9uIGluc3RhbmNlOiBpbml0aWFsaXplIGFsbCB0aGUKICAgICAgICBhdHRyaWJ1dGVzIG9mIGEgRGlzdHJpYnV0aW9uLCBhbmQgdGhlbiB1c2UgJ2F0dHJzJyAoYSBkaWN0aW9uYXJ5CiAgICAgICAgbWFwcGluZyBhdHRyaWJ1dGUgbmFtZXMgdG8gdmFsdWVzKSB0byBhc3NpZ24gc29tZSBvZiB0aG9zZQogICAgICAgIGF0dHJpYnV0ZXMgdGhlaXIgInJlYWwiIHZhbHVlcy4gIChBbnkgYXR0cmlidXRlcyBub3QgbWVudGlvbmVkIGluCiAgICAgICAgJ2F0dHJzJyB3aWxsIGJlIGFzc2lnbmVkIHRvIHNvbWUgbnVsbCB2YWx1ZTogMCwgTm9uZSwgYW4gZW1wdHkgbGlzdAogICAgICAgIG9yIGRpY3Rpb25hcnksIGV0Yy4pICBNb3N0IGltcG9ydGFudGx5LCBpbml0aWFsaXplIHRoZQogICAgICAgICdjb21tYW5kX29iaicgYXR0cmlidXRlIHRvIHRoZSBlbXB0eSBkaWN0aW9uYXJ5OyB0aGlzIHdpbGwgYmUKICAgICAgICBmaWxsZWQgaW4gd2l0aCByZWFsIGNvbW1hbmQgb2JqZWN0cyBieSAncGFyc2VfY29tbWFuZF9saW5lKCknLgogICAgICAgIHIeAAAAcgEAAADaBGdldF9O2gDaB29wdGlvbnN6DHNldHVwIHNjcmlwdHIuAAAAci0AAAB6OidsaWNlbmNlJyBkaXN0cmlidXRpb24gb3B0aW9uIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnbGljZW5zZSfaAQraBHNldF96H1Vua25vd24gZGlzdHJpYnV0aW9uIG9wdGlvbjogJXNU+gEteg0tLW5vLXVzZXItY2ZnRikrchwAAADaB2RyeV9ydW5yIgAAANoUZGlzcGxheV9vcHRpb25fbmFtZXPaB3NldGF0dHLaFERpc3RyaWJ1dGlvbk1ldGFkYXRh2ghtZXRhZGF0YdoRX01FVEhPRF9CQVNFTkFNRVPaB2dldGF0dHLaCGNtZGNsYXNz2hBjb21tYW5kX3BhY2thZ2Vz2gtzY3JpcHRfbmFtZdoLc2NyaXB0X2FyZ3PaD2NvbW1hbmRfb3B0aW9uc9oKZGlzdF9maWxlc9oIcGFja2FnZXPaDHBhY2thZ2VfZGF0YdoLcGFja2FnZV9kaXLaCnB5X21vZHVsZXPaCWxpYnJhcmllc9oHaGVhZGVyc9oLZXh0X21vZHVsZXPaC2V4dF9wYWNrYWdl2gxpbmNsdWRlX2RpcnPaCmV4dHJhX3BhdGjaB3NjcmlwdHPaCmRhdGFfZmlsZXPaCHBhc3N3b3Jk2gtjb21tYW5kX29iatoIaGF2ZV9ydW7aA2dldNoFaXRlbXPaD2dldF9vcHRpb25fZGljdNoId2Fybmlu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IGd1YXJhbnRlZWQgdG8gZXhpc3QKICAgICAgICAobW9kdWxvIG5hc3R5IHJhY2UgY29uZGl0aW9ucykuCgogICAgICAgIFRoZXJlIGFyZSB0aHJlZSBwb3NzaWJsZSBjb25maWcgZmlsZXM6IGRpc3R1dGlscy5jZmcgaW4gdGhlCiAgICAgICAgRGlzdHV0aWxzIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgKGllLiB3aGVyZSB0aGUgdG9wLWxldmVsCiAgICAgICAgRGlzdHV0aWxzIF9faW5zdF9fLnB5IGZpbGUgbGl2ZXMpLCBhIGZpbGUgaW4gdGhlIHVzZXIncyBob21lCiAgICAgICAgZGlyZWN0b3J5IG5hbWVkIC5weWRpc3R1dGlscy5jZmcgb24gVW5peCBhbmQgcHlkaXN0dXRpbHMuY2ZnCiAgICAgICAgb24gV2luZG93cy9NYWM7IGFuZCBzZXR1cC5jZmcgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgoKICAgICAgICBUaGUgZmlsZSBpbiB0aGUgdXNlcidzIGhvbWUgZGlyZWN0b3J5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIHRoZQogICAgICAgIC0tbm8tdXNlci1jZmcgb3B0aW9uLgogICAgICAgINoJZGlzdHV0aWxzeg1kaXN0dXRpbHMuY2Zn2gVwb3NpeHoQLnB5ZGlzdHV0aWxzLmNmZ3oPcHlkaXN0dXRpbHMuY2Zn+gF+eglzZXR1cC5jZmd6FnVzaW5nIGNvbmZpZyBmaWxlczogJXN6AiwgKQ9yBgAAANoCb3PaBHBhdGjaB2Rpcm5hbWVyYgAAANoHbW9kdWxlc9oIX19maWxlX1/aBGpvaW7aBmlzZmlsZdoGYXBwZW5kciQAAAByZwAAANoKZXhwYW5kdXNlcnILAAAAcnwAAAApB3JqAAAA2gVmaWxlc9oHc3lzX2RpctoIc3lzX2ZpbGXaDXVzZXJfZmlsZW5hbWXaCXVzZXJfZmlsZdoKbG9jYWxfZmlsZXIMAAAAcgwAAAByGQAAANoRZmluZF9jb25maWdfZmlsZXNOAQAAcyYAAAAEDwYBFAMOAwwBCgEKAwYBBAIGAxYBDAEKAQQDDAEKAQQCFAEEAnoeRGlzdHJpYnV0aW9uLmZpbmRfY29uZmlnX2ZpbGVzYwIAAAAAAAAAAAAAAA4AAAALAAAAQwAAAHN8AQAAZAFkAmwAbQF9AgEAdAJqA3QCagRrA3IRZwBkA6IBfQNuAmcAfQN0BXwDgwF9A3wBZAB1AHIffACgBqEAfQF0B3ImfACgCGQEoQEBAHwCgwB9BHwBRABdRH0FdAdyNnwAoAhkBXwFFgChAQEAfASgCXwFoQEBAHwEoAqhAEQAXSt9BnwEoAt8BqEBfQd8AKAMfAahAX0IfAdEAF0cfQl8CWQGawNyaXwJfAN2AXJpfASgDXwGfAmhAn0KfAmgDmQHZAihAn0JfAV8CmYCfAh8CTwAcU1xP3wEoA+hAAEAcStkCXwAahB2AHK6fABqEGQJGQCgEaEARABdP1wCfQlcAn0LfQp8AGoSoA18CaEBfQx6IXwMcpV0E3wAfAx0FHwKgwEMAIMDAQBuE3wJZAp2AHKidBN8AHwJdBR8CoMBgwMBAG4GdBN8AHwJfAqDAwEAVwBxfAQAdBV5uQEAfQ0BAHoEdBZ8DYMBggFkAH0Nfg13AXcAZABTAGQAUwApC05yAQAAACkB2gxDb25maWdQYXJzZXIpDXoMaW5zdGFsbC1iYXNlehBpbnN0YWxsLXBsYXRiYXNlegtpbnN0YWxsLWxpYnoPaW5zdGFsbC1wbGF0bGlieg9pbnN0YWxsLXB1cmVsaWJ6D2luc3RhbGwtaGVhZGVyc3oPaW5zdGFsbC1zY3JpcHRzegxpbnN0YWxsLWRhdGHaBnByZWZpeHoLZXhlYy1wcmVmaXjaBGhvbWXaBHVzZXLaBHJvb3R6IkRpc3RyaWJ1dGlvbi5wYXJzZV9jb25maWdfZmlsZXMoKTp6DCAgcmVhZGluZyAlc3IRAAAAckAAAADaAV/aBmdsb2JhbCkCchwAAAByQQAAACkX2gxjb25maWdwYXJzZXJymAAAAHJiAAAAcpkAAADaC2Jhc2VfcHJlZml42glmcm96ZW5zZXRylwAAAHILAAAAcnwAAADaBHJlYWTaCHNlY3Rpb25zcj0AAAByXwAAAHJdAAAA2gdyZXBsYWNlcnYAAAByTAAAAHJeAAAA2gxuZWdhdGl2ZV9vcHRyQwAAAHIHAAAA2gpWYWx1ZUVycm9y2hREaXN0dXRpbHNPcHRpb25FcnJvcikOcmoAAADaCWZpbGVuYW1lc3KYAAAA2g5pZ25vcmVfb3B0aW9uc9oGcGFyc2Vy2ghmaWxlbmFtZdoHc2VjdGlvbnI9AAAAcnEAAABycgAAAHJzAAAA2gNzcmPaBWFsaWFzchgAAAByDAAAAHIMAAAAchkAAADaEnBhcnNlX2NvbmZpZ19maWxlc34BAABzUgAAAAwBDAMKAQQGCAIIAggBBAIKAQYCCAEEAQ4BCgEMAQoBCgEIAhABDAEMAQwBAoAC/AoICgUaAQwBAgEEARQBCAESAQwCBIAOAQgBCIAC/wT2BAF6H0Rpc3RyaWJ1dGlvbi5wYXJzZV9jb25maWdfZmlsZXNjAQAAAAAAAAAAAAAABQAAAAUAAABDAAAAc8AAAAB8AKAAoQB9AWcAfABfAXQCfAF8AGoDFwCDAX0CfAKgBHwAagWhAQEAfAKgBmQBZAJpAaEBAQB8AmoHfABqCHwAZAONAn0DfAKgCaEAfQR0CqALfABqDKEBAQB8AKANfAShAXI0ZARTAHwDckR8AKAOfAJ8A6ECfQN8A2QEdQByQmQEUwB8A3M2fABqD3JXfABqEHwCdBF8AGoBgwFkBWsCfABqAWQGjQMBAGQEUwB8AGoBc150EmQHgwGCAWQIUwApCWGHBAAAUGFyc2UgdGhlIHNldHVwIHNjcmlwdCdzIGNvbW1hbmQgbGluZSwgdGFrZW4gZnJvbSB0aGUKICAgICAgICAnc2NyaXB0X2FyZ3MnIGluc3RhbmNlIGF0dHJpYnV0ZSAod2hpY2ggZGVmYXVsdHMgdG8gJ3N5cy5hcmd2WzE6XScKICAgICAgICAtLSBzZWUgJ3NldHVwKCknIGluIGNvcmUucHkpLiAgVGhpcyBsaXN0IGlzIGZpcnN0IHByb2Nlc3NlZCBmb3IKICAgICAgICAiZ2xvYmFsIG9wdGlvbnMiIC0tIG9wdGlvbnMgdGhhdCBzZXQgYXR0cmlidXRlcyBvZiB0aGUgRGlzdHJpYnV0aW9uCiAgICAgICAgaW5zdGFuY2UuICBUaGVuLCBpdCBpcyBhbHRlcm5hdGVseSBzY2FubmVkIGZvciBEaXN0dXRpbHMgY29tbWFuZHMKICAgICAgICBhbmQgb3B0aW9ucyBmb3IgdGhhdCBjb21tYW5kLiAgRWFjaCBuZXcgY29tbWFuZCB0ZXJtaW5hdGVzIHRoZQogICAgICAgIG9wdGlvbnMgZm9yIHRoZSBwcmV2aW91cyBjb21tYW5kLiAgVGhlIGFsbG93ZWQgb3B0aW9ucyBmb3IgYQogICAgICAgIGNvbW1hbmQgYXJlIGRldGVybWluZWQgYnkgdGhlICd1c2VyX29wdGlvbnMnIGF0dHJpYnV0ZSBvZiB0aGUKICAgICAgICBjb21tYW5kIGNsYXNzIC0tIHRodXMsIHdlIGhhdmUgdG8gYmUgYWJsZSB0byBsb2FkIGNvbW1hbmQgY2xhc3NlcwogICAgICAgIGluIG9yZGVyIHRvIHBhcnNlIHRoZSBjb21tYW5kIGxpbmUuICBBbnkgZXJyb3IgaW4gdGhhdCAnb3B0aW9ucycKICAgICAgICBhdHRyaWJ1dGUgcmFpc2VzIERpc3R1dGlsc0dldG9wdEVycm9yOyBhbnkgZXJyb3Igb24gdGhlCiAgICAgICAgY29tbWFuZC1saW5lIHJhaXNlcyBEaXN0dXRpbHNBcmdFcnJvci4gIElmIG5vIERpc3R1dGlscyBjb21tYW5kcwogICAgICAgIHdlcmUgZm91bmQgb24gdGhlIGNvbW1hbmQgbGluZSwgcmFpc2VzIERpc3R1dGlsc0FyZ0Vycm9yLiAgUmV0dXJuCiAgICAgICAgdHJ1ZSBpZiBjb21tYW5kLWxpbmUgd2FzIHN1Y2Nlc3NmdWxseSBwYXJzZWQgYW5kIHdlIHNob3VsZCBjYXJyeQogICAgICAgIG9uIHdpdGggZXhlY3V0aW5nIGNvbW1hbmRzOyBmYWxzZSBpZiBubyBlcnJvcnMgYnV0IHdlIHNob3VsZG4ndAogICAgICAgIGV4ZWN1dGUgY29tbWFuZHMgKGN1cnJlbnRseSwgdGhpcyBvbmx5IGhhcHBlbnMgaWYgdXNlciBhc2tzIGZvcgogICAgICAgIGhlbHApLgogICAgICAgIHIuAAAAci0AAAApAtoEYXJnc9oGb2JqZWN0TnIBAAAAqQLaD2Rpc3BsYXlfb3B0aW9uc3J/AAAAehRubyBjb21tYW5kcyBzdXBwbGllZFQpE9oVX2dldF90b3BsZXZlbF9vcHRpb25zcn8AAAByBAAAAHKzAAAA2hRzZXRfbmVnYXRpdmVfYWxpYXNlc3KlAAAA2gtzZXRfYWxpYXNlc9oGZ2V0b3B0cksAAADaEGdl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AYIBdwB8AnwAagB8ATwAfAICAAEAUwB0CWQDfAEWAIMBggEpBGFvAgAAUmV0dXJuIHRoZSBjbGFzcyB0aGF0IGltcGxlbWVudHMgdGhlIERpc3R1dGlscyBjb21tYW5kIG5hbWVkIGJ5CiAgICAgICAgJ2NvbW1hbmQnLiAgRmlyc3Qgd2UgY2hlY2sgdGhlICdjbWRjbGFzcycgZGljdGlvbmFyeTsgaWYgdGhlCiAgICAgICAgY29tbWFuZCBpcyBtZW50aW9uZWQgdGhlcmUsIHdlIGZldGNoIHRoZSBjbGFzcyBvYmplY3QgZnJvbSB0aGUKICAgICAgICBkaWN0aW9uYXJ5IGFuZCByZXR1cm4gaXQuICBPdGhlcndpc2Ugd2UgbG9hZCB0aGUgY29tbWFuZCBtb2R1bGUKICAgICAgICAoImRpc3R1dGlscy5jb21tYW5kLiIgKyBjb21tYW5kKSBhbmQgZmV0Y2ggdGhlIGNvbW1hbmQgY2xhc3MgZnJvbQogICAgICAgIHRoZSBtb2R1bGUuICBUaGUgbG9hZGVkIGNsYXNzIGlzIGFsc28gc3RvcmVkIGluICdjbWRjbGFzcycKICAgICAgICB0byBzcGVlZCBmdXR1cmUgY2FsbHMgdG8gJ2dldF9jb21tYW5kX2NsYXNzKCknLgoKICAgICAgICBSYWlzZXMgRGlzdHV0aWxzTW9kdWxlRXJyb3IgaWYgdGhlIGV4cGVjdGVkIG1vZHVsZSBjb3VsZCBub3QgYmUKICAgICAgICBmb3VuZCwgb3IgaWYgdGhhdCBtb2R1bGUgZG9lcyBub3QgZGVmaW5lIHRoZSBleHBlY3RlZCBjbGFzcy4KICAgICAgICB6BSVzLiVzejNpbnZhbGlkIGNvbW1hbmQgJyVzJyAobm8gY2xhc3MgJyVzJyBpbiBtb2R1bGUgJyVzJyl6FGludmFsaWQgY29tbWFuZCAnJXMnKQpySAAAAHJdAAAAcgEBAADaCl9faW1wb3J0X19yYgAAAHKLAAAA2gtJbXBvcnRFcnJvcnJHAAAAcvMAAAByzQAAACkHcmoAAABybwAAAHLrAAAA2gdwa2duYW1l2gttb2R1bGVfbmFtZdoKa2xhc3NfbmFtZdoGbW9kdWxlcgwAAAByDAAAAHIZAAAAcswAAAAoAwAAczAA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