Name: series-workflowdmpsx Phase: Succeeded StartedAt: 2026-08-19 20:19:30 +0000 UTC FinishedAt: 2026-08-19 21:00:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[0] Phase: Succeeded StartedAt: 2026-08-19 20:19:30 +0000 UTC FinishedAt: 2026-08-19 20:23:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[0].run-triage Phase: Succeeded StartedAt: 2026-08-19 20:19:30 +0000 UTC FinishedAt: 2026-08-19 20:23:11 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "wireless-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git", "commit_hash": "ca800a9302764c445de0da0e84d2252400a770ee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "RTW89_8851BU", "RTW89_8852AU", "RTW89_8852BU", "RTW89_8852CU", "RTW89_8922AU" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "wireless-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git", "commit_hash": "ca800a9302764c445de0da0e84d2252400a770ee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "RTW89_8851BU", "RTW89_8852AU", "RTW89_8852BU", "RTW89_8852CU", "RTW89_8922AU" ], "series_id": "e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "rtw8851bu_probe", "rtw8852au_probe", "rtw8852bu_probe", "rtw8852cu_probe", "rtw8922au_probe", "rtw89_usb_probe" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1JUVzg5Xzg4NTFCVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84ODUyQVUmIzM0OywKICAgICYjMzQ7UlRXODlfODg1MkJVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg4NTJDVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84OTIyQVUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtydHc4ODUxYnVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODg1MmF1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg4NTJidV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4ODUyY3VfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODkyMmF1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg5X3VzYl9wcm9iZSYjMzQ7CiAgXSwKICAmIzM0O0tNU0FOUmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgcnR3ODkgVVNCIGRyaXZlciBwcm9iZSBwYXRoLiBXaGVuIGEgVVNCIGRldmljZSBpcyBib3VuZCBkeW5hbWljYWxseSB2aWEgc3lzZnMgKGUuZy4sIHVzaW5nIGBuZXdfaWRgKSwgdGhlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgZmllbGQgY2FuIGJlIE5VTEwuIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgYGRlZmF1bHRfaW5mb2AgZmFsbGJhY2sgdG8gZW5zdXJlIHRoZSBkcml2ZXIgaW5mbyBzdHJ1Y3R1cmUgaXMgYWx3YXlzIHZhbGlkLiBUaGlzIHByZXZlbnRzIGEgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCB3aGljaCBpcyBhbHJlYWR5IGNhdWdodCBieSBzdGFuZGFyZCBrZXJuZWwgZGVidWdnaW5nIHRvb2xzIGFuZCBLQVNBTi4gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBvciBleHBvc2UgYW55IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzIG9yIGluZm8tbGVha3MsIHNvIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3QgbmVjZXNzYXJ5LiYjMzQ7LAogICYjMzQ7TmVlZHNLTVNBTiYjMzQ7OiBmYWxzZSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgVVNCIHByb2JlIGZ1bmN0aW9ucyBmb3IgbXVsdGlwbGUgUmVhbHRlayBydHc4OSB3aXJlbGVzcyBkcml2ZXJzIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgVVNCIGRldmljZSBJRCBkcml2ZXJfaW5mbyBpcyBOVUxMIChlLmcuLCB3aGVuIHByb2JlZCB2aWEgc3lzZnMgbmV3X2lkKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBkcml2ZXIgaW5pdGlhbGl6YXRpb24gcGF0aCB0aGF0IGlzIHJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdmlhIFVTQiBlbXVsYXRpb24uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjI8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA2YzdlODJmODgyNDk4MTk1ODE2Yjg4MjhjNThlZDI1ZmZhNTA3MDdjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBBdWcgMTkgMjA6MjI6MDUgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmNcbmluZGV4IDFlODI3MjA1ZjI1NDAuLjY2NzJlYmU2OGYxNzIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG5AQCAtNTksMTAgJiM0Mzs1OSwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTFidV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUxYnVfaWRfdGFibGUpO1xuIFxuJiM0MztzdGF0aWMgaW50IHJ0dzg4NTFidV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbiYjNDM7XHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MWJ1X2luZm8pO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MWJ1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MWJ1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuJiM0MztcdC5wcm9iZSA9IHJ0dzg4NTFidV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MWJ1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmNcbmluZGV4IDA2NWY0ZTViMTdhZmEuLjFhMmU1ZGZiYWFiM2MgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXG5AQCAtNzMsMTAgJiM0Mzs3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJhdV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYXVfaWRfdGFibGUpO1xuIFxuJiM0MztzdGF0aWMgaW50IHJ0dzg4NTJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbiYjNDM7XHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmF1X2luZm8pO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmF1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MmF1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuJiM0MztcdC5wcm9iZSA9IHJ0dzg4NTJhdV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmF1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmNcbmluZGV4IGRlNzlhMTlhMjgyNGQuLjU1MGZjNGFjN2EyMWYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXG5AQCAtNzMsMTAgJiM0Mzs3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJidV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYnVfaWRfdGFibGUpO1xuIFxuJiM0MztzdGF0aWMgaW50IHJ0dzg4NTJidV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbiYjNDM7XHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmJ1X2luZm8pO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmJ1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MmJ1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuJiM0MztcdC5wcm9iZSA9IHJ0dzg4NTJidV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmJ1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmNcbmluZGV4IDJkZWM5Yjg0NTQ4MTUuLjZmODUyZjRhNzEzZTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG5AQCAtMTMzLDEwICYjNDM7MTMzLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmN1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJjdV9pZF90YWJsZSk7XG4gXG4mIzQzO3N0YXRpYyBpbnQgcnR3ODg1MmN1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuJiM0MztcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4mIzQzO3tcbiYjNDM7XHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84ODUyY3VfaW5mbyk7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyY3VfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184ODUyY3VfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4mIzQzO1x0LnByb2JlID0gcnR3ODg1MmN1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyY3VfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuY1xuaW5kZXggNTZjNzliMWVjODY1Zi4uMmNkMmI3NmQxOWFjZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcbkBAIC03NCwxMCAmIzQzOzc0LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODkyMmF1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg5MjJhdV9pZF90YWJsZSk7XG4gXG4mIzQzO3N0YXRpYyBpbnQgcnR3ODkyMmF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuJiM0MztcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4mIzQzO3tcbiYjNDM7XHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84OTIyYXVfaW5mbyk7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184OTIyYXVfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184OTIyYXVfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4mIzQzO1x0LnByb2JlID0gcnR3ODkyMmF1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184OTIyYXVfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuY1xuaW5kZXggYWFmYThiOWU5M2RmYy4uZGJhZDQyYzE3NzYxZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcbkBAIC0xMjAxLDcgJiM0MzsxMjAxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcnR3ODlfdXNiX2dyb3VwID0ge1xuIF9fQVRUUklCVVRFX0dST1VQUyhydHc4OV91c2IpO1xuIFxuIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4tXHRcdCAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4mIzQzO1x0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxuJiM0MztcdFx0ICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKVxuIHtcbiBcdGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqaW5mbztcbiBcdHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldjtcbkBAIC0xMjA5LDYgJiM0MzsxMjEwLDggQEAgaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbiBcdGludCByZXQ7XG4gXG4gXHRpbmZvID0gKGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqKWlkLVx1MDAzZWRyaXZlcl9pbmZvO1xuJiM0MztcdGlmICghaW5mbylcbiYjNDM7XHRcdGluZm8gPSBkZWZhdWx0X2luZm87XG4gXG4gXHRydHdkZXYgPSBydHc4OV9hbGxvY19pZWVlODAyMTFfaHcoXHUwMDI2aW50Zi1cdTAwM2VkZXYsXG4gXHRcdFx0XHRcdCAgc2l6ZW9mKHN0cnVjdCBydHc4OV91c2IpLCBpbmZvKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaFxuaW5kZXggYmRmMzEyNTU5NzQzOC4uZDJhZjI5ZDA2OGYxOSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcbkBAIC05NSw3ICYjNDM7OTUsOCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBydHc4OV91c2IgKnJ0dzg5X3VzYl9wcml2KHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldilcbiB9XG4gXG4gaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50Zixcbi1cdFx0ICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCk7XG4mIzQzO1x0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxuJiM0MztcdFx0ICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKTtcbiB2b2lkIHJ0dzg5X3VzYl9kaXNjb25uZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKTtcbiBcbiAjZW5kaWZcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xOSAyMDoyMjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7UlRXODlfODg1MUJVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg4NTJBVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84ODUyQlUmIzM0OywKICAgICYjMzQ7UlRXODlfODg1MkNVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg5MjJBVSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3J0dzg4NTFidV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4ODUyYXVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODg1MmJ1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg4NTJjdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4OTIyYXVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODlfdXNiX3Byb2JlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBVU0IgcHJvYmUgZnVuY3Rpb25zIGZvciBtdWx0aXBsZSBSZWFsdGVrIHJ0dzg5IHdpcmVsZXNzIGRyaXZlcnMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIHRoZSBVU0IgZGV2aWNlIElEIGRyaXZlcl9pbmZvIGlzIE5VTEwgKGUuZy4sIHdoZW4gcHJvYmVkIHZpYSBzeXNmcyBuZXdfaWQpLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGRyaXZlciBpbml0aWFsaXphdGlvbiBwYXRoIHRoYXQgaXMgcmVhY2hhYmxlIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyB2aWEgVVNCIGVtdWxhdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDZjN2U4MmY4ODI0OTgxOTU4MTZiODgyOGM1OGVkMjVmZmE1MDcwN2MKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEF1ZyAxOSAyMDoyMjowNSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jCmluZGV4IDFlODI3MjA1ZjI1NDAuLjY2NzJlYmU2OGYxNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuYwpAQCAtNTksMTAgJiM0Mzs1OSwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTFidV9pZF90YWJsZVtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MWJ1X2lkX3RhYmxlKTsKIAomIzQzO3N0YXRpYyBpbnQgcnR3ODg1MWJ1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAomIzQzOwkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0Mzt7CiYjNDM7CXJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsICZhbXA7cnR3ODlfODg1MWJ1X2luZm8pOwomIzQzO30KJiM0MzsKIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MWJ1X2RyaXZlciA9IHsKIAkubmFtZSA9IEtCVUlMRF9NT0ROQU1FLAogCS5pZF90YWJsZSA9IHJ0d184ODUxYnVfaWRfdGFibGUsCi0JLnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLAomIzQzOwkucHJvYmUgPSBydHc4ODUxYnVfcHJvYmUsCiAJLmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCwKIH07CiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MWJ1X2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuYwppbmRleCAwNjVmNGU1YjE3YWZhLi4xYTJlNWRmYmFhYjNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmMKQEAgLTczLDEwICYjNDM7NzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYXVfaWRfdGFibGVbXSA9IHsKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJhdV9pZF90YWJsZSk7CiAKJiM0MztzdGF0aWMgaW50IHJ0dzg4NTJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKJiM0MzsJCQkgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiYjNDM7ewomIzQzOwlyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCAmYW1wO3J0dzg5Xzg4NTJhdV9pbmZvKTsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJhdV9kcml2ZXIgPSB7CiAJLm5hbWUgPSBLQlVJTERfTU9ETkFNRSwKIAkuaWRfdGFibGUgPSBydHdfODg1MmF1X2lkX3RhYmxlLAotCS5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSwKJiM0MzsJLnByb2JlID0gcnR3ODg1MmF1X3Byb2JlLAogCS5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsCiB9OwogbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTJhdV9kcml2ZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmMKaW5kZXggZGU3OWExOWEyODI0ZC4uNTUwZmM0YWM3YTIxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jCkBAIC03MywxMCAmIzQzOzczLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmJ1X2lkX3RhYmxlW10gPSB7CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYnVfaWRfdGFibGUpOwogCiYjNDM7c3RhdGljIGludCBydHc4ODUyYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCiYjNDM7CQkJICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKQomIzQzO3sKJiM0MzsJcmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgJmFtcDtydHc4OV84ODUyYnVfaW5mbyk7CiYjNDM7fQomIzQzOwogc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyYnVfZHJpdmVyID0gewogCS5uYW1lID0gS0JVSUxEX01PRE5BTUUsCiAJLmlkX3RhYmxlID0gcnR3Xzg4NTJidV9pZF90YWJsZSwKLQkucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsCiYjNDM7CS5wcm9iZSA9IHJ0dzg4NTJidV9wcm9iZSwKIAkuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LAogfTsKIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyYnVfZHJpdmVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jCmluZGV4IDJkZWM5Yjg0NTQ4MTUuLjZmODUyZjRhNzEzZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuYwpAQCAtMTMzLDEwICYjNDM7MTMzLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmN1X2lkX3RhYmxlW10gPSB7CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyY3VfaWRfdGFibGUpOwogCiYjNDM7c3RhdGljIGludCBydHc4ODUyY3VfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCiYjNDM7CQkJICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKQomIzQzO3sKJiM0MzsJcmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgJmFtcDtydHc4OV84ODUyY3VfaW5mbyk7CiYjNDM7fQomIzQzOwogc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyY3VfZHJpdmVyID0gewogCS5uYW1lID0gS0JVSUxEX01PRE5BTUUsCiAJLmlkX3RhYmxlID0gcnR3Xzg4NTJjdV9pZF90YWJsZSwKLQkucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsCiYjNDM7CS5wcm9iZSA9IHJ0dzg4NTJjdV9wcm9iZSwKIAkuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LAogfTsKIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyY3VfZHJpdmVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jCmluZGV4IDU2Yzc5YjFlYzg2NWYuLjJjZDJiNzZkMTlhY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuYwpAQCAtNzQsMTAgJiM0Mzs3NCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg5MjJhdV9pZF90YWJsZVtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODkyMmF1X2lkX3RhYmxlKTsKIAomIzQzO3N0YXRpYyBpbnQgcnR3ODkyMmF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAomIzQzOwkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0Mzt7CiYjNDM7CXJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsICZhbXA7cnR3ODlfODkyMmF1X2luZm8pOwomIzQzO30KJiM0MzsKIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODkyMmF1X2RyaXZlciA9IHsKIAkubmFtZSA9IEtCVUlMRF9NT0ROQU1FLAogCS5pZF90YWJsZSA9IHJ0d184OTIyYXVfaWRfdGFibGUsCi0JLnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLAomIzQzOwkucHJvYmUgPSBydHc4OTIyYXVfcHJvYmUsCiAJLmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCwKIH07CiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODkyMmF1X2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuYwppbmRleCBhYWZhOGI5ZTkzZGZjLi5kYmFkNDJjMTc3NjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmMKQEAgLTEyMDEsNyAmIzQzOzEyMDEsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBydHc4OV91c2JfZ3JvdXAgPSB7CiBfX0FUVFJJQlVURV9HUk9VUFMocnR3ODlfdXNiKTsKIAogaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKLQkJICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0MzsJCSAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQsCiYjNDM7CQkgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pCiB7CiAJY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICppbmZvOwogCXN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldjsKQEAgLTEyMDksNiAmIzQzOzEyMTAsOCBAQCBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAogCWludCByZXQ7CiAKIAlpbmZvID0gKGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqKWlkLSZndDtkcml2ZXJfaW5mbzsKJiM0MzsJaWYgKCFpbmZvKQomIzQzOwkJaW5mbyA9IGRlZmF1bHRfaW5mbzsKIAogCXJ0d2RldiA9IHJ0dzg5X2FsbG9jX2llZWU4MDIxMV9odygmYW1wO2ludGYtJmd0O2RldiwKIAkJCQkJICBzaXplb2Yoc3RydWN0IHJ0dzg5X3VzYiksIGluZm8pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmgKaW5kZXggYmRmMzEyNTU5NzQzOC4uZDJhZjI5ZDA2OGYxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaAomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oCkBAIC05NSw3ICYjNDM7OTUsOCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBydHc4OV91c2IgKnJ0dzg5X3VzYl9wcml2KHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldikKIH0KIAogaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKLQkJICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCk7CiYjNDM7CQkgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLAomIzQzOwkJICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKTsKIHZvaWQgcnR3ODlfdXNiX2Rpc2Nvbm5lY3Qoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpOwogCiAjZW5kaWYKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDQxNAoJCQkJCQkJb3V0cHV0OiA0MQoJCQkJCQkJdGhvdWdodHM6IDM2OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBSZWFsdGVrIFdpcmVsZXNzIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgdGhlIGBydHc4OWAgd2lyZWxlc3MgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZGVhbGluZyB3aXRoIFJlYWx0ZWsgVVNCIGRldmljZXMuIEl0IGxvb2tzIGxpa2UgdGhleSYjMzk7dmUgcmVmYWN0b3JlZCB0aGUgcHJvYmUgZnVuY3Rpb24sIGBydHc4OV91c2JfcHJvYmVgLiBCZWZvcmUsIGl0IHdhcyBkaXJlY3RseSB1c2VkIGFzIHRoZSBwcm9iZSBjYWxsYmFjayBpbiB0aGUgYHVzYl9kcml2ZXJgIHN0cnVjdHVyZS4gTm93LCB0aGV5JiMzOTt2ZSBhZGRlZCBkcml2ZXItc3BlY2lmaWMgcHJvYmUgZnVuY3Rpb25zLCBsaWtlIGBydHc4ODUxYnVfcHJvYmVgLCB0aGF0ICp0aGVuKiBjYWxsIGBydHc4OV91c2JfcHJvYmVgIGFuZCBwYXNzIGluIGEgZGVmYXVsdCBgcnR3ODlfZHJpdmVyX2luZm9gIHN0cnVjdC4KCkVzc2VudGlhbGx5LCB0aGV5JiMzOTtyZSBoYW5kbGluZyBjYXNlcyB3aGVyZSB0aGUgYGlkLSZndDtkcml2ZXJfaW5mb2AgbWlnaHQgYmUgYE5VTExgLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCB0aGluZ3MgbGlrZSBzeXNmcyBgbmV3X2lkYCBwcm9iaW5nLCBvciBvdGhlciBtZWNoYW5pc21zIHRoYXQgZG9uJiMzOTt0IHNldCB0aGlzIGZpZWxkIGNvcnJlY3RseS4gSXQmIzM5O3MgYSBzZW5zaWJsZSBmaXgsIGNsZWFuaW5nIHVwIHBvdGVudGlhbCBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzLCBJIGdldCBpdC4KCk5vdywgdGhlIGltcG9ydGFudCBxdWVzdGlvbiDigJMgaXMgdGhpcyBwYXRjaCB3b3J0aCBmdXp6aW5nPyBMZXQmIzM5O3Mgc2VlLi4uIFRoZSBjaGFuZ2UgaXMgaW4gdGhlIGAucHJvYmVgIGZ1bmN0aW9uIG9mIGEgVVNCIGRyaXZlciwgd2hpY2ggbWVhbnMgaXQgc2hvdWxkIGJlIHJlYWNoYWJsZSB1c2luZyB0aGUgc3RhbmRhcmQgVVNCIGZ1enppbmcgdGVjaG5pcXVlcywgbGlrZSB0aGUgZHVtbXkgSENEIG9yIHN5emthbGxlci4gUHJvYmUgZnVuY3Rpb25zIGFyZSBhbHdheXMgZ29vZCB0YXJnZXRzLiBBc3N1bWluZyBJJiMzOTt2ZSBnb3QgYSBkZWNlbnQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQgd2l0aCBVU0IgZW11bGF0aW9uLCB0aGlzIHNob3VsZCBiZSBhbiBhY2hpZXZhYmxlIHRhcmdldC4gVGhlIGFkZGVkIGZ1bmN0aW9ucyBsaWtlIGBydHc4ODUxYnVfcHJvYmVgIGFuZCB0aGUgbW9kaWZpZWQgYHJ0dzg5X3VzYl9wcm9iZWAgYXJlIHRoZSBzcGVjaWZpYyBwYXJ0cyBJJiMzOTtkIGJlIGxvb2tpbmcgYXQuCgpBbHJpZ2h0LCB0aW1lIHRvIGNyYWNrIG9wZW4gdGhlIEtjb25maWcgYW5kIGZpZ3VyZSBvdXQgd2hpY2ggY29uZmlndXJhdGlvbnMgSSBuZWVkIHRvIGVuYWJsZSB0byBnZXQgdGhlc2UgZHJpdmVycyBidWlsdC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJiMzOTttIGZ1bGx5IGVuYWJsaW5nIHRoZSByZWxldmFudCBgcnR3ODlgIGNvbmZpZ3VyYXRpb25zLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBSVFc4OSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIEJTRC0zLUNsYXVzZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjI6bWVudWNvbmZpZyBSVFc4OVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDgwMi4xMWF4IHdpcmVsZXNzIGNoaXBzIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc9MTE9aWYgUlRXODlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxMzpjb25maWcgUlRXODlfQ09SRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE0LVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTc6Y29uZmlnIFJUVzg5X1BDSVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE4LVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMDpjb25maWcgUlRXODlfVVNCXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjEtXHR0cmlzdGF0ZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjIzOmNvbmZpZyBSVFc4OV84ODUxQlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTI0LVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yNS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyNjpjb25maWcgUlRXODlfODg1MkFcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yNy1cdHRyaXN0YXRlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6Mjk6Y29uZmlnIFJUVzg5Xzg4NTJCX0NPTU1PTlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTMwLVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzozMjpjb25maWcgUlRXODlfODg1MkJcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zMy1cdHRyaXN0YXRlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MzU6Y29uZmlnIFJUVzg5Xzg4NTJCVFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTM2LVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzozODpjb25maWcgUlRXODlfODg1MkNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zOS1cdHRyaXN0YXRlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6NDE6Y29uZmlnIFJUVzg5Xzg5MjJBXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDItXHR0cmlzdGF0ZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTQzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjQ0OmNvbmZpZyBSVFc4OV84OTIyRFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTQ1LVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy00Ni1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo0Nzpjb25maWcgUlRXODlfODg1MUJFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDgtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTFCRSBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy01Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo1ODpjb25maWcgUlRXODlfODg1MUJVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNTktXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTFCVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy02OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo2OTpjb25maWcgUlRXODlfODg1MkFFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNzAtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTJBRSBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy03OS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo4MDpjb25maWcgUlRXODlfODg1MkFVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctODEtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTJBVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy05MC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo5MTpjb25maWcgUlRXODlfODg1MkJFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctOTItXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTJCRSBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMDItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTAzOmNvbmZpZyBSVFc4OV84ODUyQlVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMDQtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTJCVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMTQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTE1OmNvbmZpZyBSVFc4OV84ODUyQlRFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTE2LVx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4ODUyQkUtVlQgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTI2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjEyNzpjb25maWcgUlRXODlfODg1MkNFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTI4LVx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4ODUyQ0UgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDZFKSBhZGFwdGVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEzNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxMzg6Y29uZmlnIFJUVzg5Xzg4NTJDVVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEzOS1cdHRyaXN0YXRlIFwmIzM0O1JlYWx0ZWsgODg1MkNVIFVTQiB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2RSkgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNDgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTQ5OmNvbmZpZyBSVFc4OV84OTIyQUVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNTAtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg5MjJBRS84OTIyQUUtVlMgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDcpIGFkYXB0ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTYyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE2Mzpjb25maWcgUlRXODlfODkyMkFVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTY0LVx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4OTIyQVUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDcpIGFkYXB0ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTc0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE3NTpjb25maWcgUlRXODlfODkyMkRFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTc2LVx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4OTIyREUvODkyMkRFLVZTIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA3KSBhZGFwdGVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE4Ni1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxODc6Y29uZmlnIFJUVzg5X0RFQlVHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTg4LVx0Ym9vbFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE4OS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxOTA6Y29uZmlnIFJUVzg5X0RFQlVHTVNHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTkxLVx0Ym9vbCBcJiMzNDtSZWFsdGVrIHJ0dzg5IGRlYnVnIG1lc3NhZ2Ugc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xOTgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTk5OmNvbmZpZyBSVFc4OV9ERUJVR0ZTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjAwLVx0Ym9vbCBcJiMzNDtSZWFsdGVrIHJ0dzg5IGRlYnVnZnMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMDctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjA4OmNvbmZpZyBSVFc4OV9MRURTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjA5LVx0Ym9vbFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjE1OmNvbmZpZyBSVFc4OV9MRURTX01DXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjE2LVx0Ym9vbFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc4NTIKCQkJCQkJCW91dHB1dDogNDMKCQkJCQkJCXRob3VnaHRzOiAxNTEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIFJUVzg5IFVTQiBEcml2ZXIgQ29uZmlndXJhdGlvbnMqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoZXNlIGNvbmZpZ3VyYXRpb25zOiBSVFc4OV84ODUxQlUsIFJUVzg5Xzg4NTJBVSwgUlRXODlfODg1MkJVLCBSVFc4OV84ODUyQ1UsIGFuZCBSVFc4OV84OTIyQVUuIEltbWVkaWF0ZWx5LCBJIHJlY29nbml6ZSB0aGVzZSBhcyBVU0IgZHJpdmVycy4gVGhhdCYjMzk7cyBnb29kLCBzaW1wbGlmaWVzIHRoaW5ncyBhIGJpdC4gSSBzZWUgdGhlIGFzc29jaWF0ZWQgcHJvYmUgZnVuY3Rpb25zOiBgcnR3ODg1MWJ1X3Byb2JlYCwgYHJ0dzg4NTJhdV9wcm9iZWAsIGBydHc4ODUyYnVfcHJvYmVgLCBgcnR3ODg1MmN1X3Byb2JlYCwgYW5kIGBydHc4OTIyYXVfcHJvYmVgLiBBbmQgSSBhbHNvIHNlZSBhIGBydHc4OV91c2JfcHJvYmVgIGZ1bmN0aW9uLgoKTm93LCBteSBpbW1lZGlhdGUgdGhvdWdodCBpcyB0byBjaGVjayBmb3IgYW55IGRlcGVuZGVuY2llcyByZWxhdGVkIHRvIHRoZSBSVFc4OSBjb3JlLiBCZWZvcmUgSSBkaXZlIGRlZXBlciBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgZWFjaCBwcm9iZSBmdW5jdGlvbiwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgaWYgUlRXODkgcmVsaWVzIG9uIGFueSBjb21tb24gbW9kdWxlcyBvciBpbmZyYXN0cnVjdHVyZS4gVGhpcyB3aWxsIGRpY3RhdGUgaG93IEkgYXBwcm9hY2ggdW5kZXJzdGFuZGluZyB0aGUgaW50ZXJjb25uZWN0aW9ucyBhbmQgb3ZlcmFsbCBhcmNoaXRlY3R1cmUgb2YgdGhlIFJUVzg5IFVTQiBkcml2ZXJzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2RlcGVuZHMgb24uKlJUVzg5JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz0xOTA9Y29uZmlnIFJUVzg5X0RFQlVHTVNHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTkxLVx0Ym9vbCBcJiMzNDtSZWFsdGVrIHJ0dzg5IGRlYnVnIG1lc3NhZ2Ugc3VwcG9ydFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE5MjpcdGRlcGVuZHMgb24gUlRXODlfQ09SRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE5My1cdHNlbGVjdCBSVFc4OV9ERUJVR1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz0xOTk9Y29uZmlnIFJUVzg5X0RFQlVHRlNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMDAtXHRib29sIFwmIzM0O1JlYWx0ZWsgcnR3ODkgZGVidWdmcyBzdXBwb3J0XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjAxOlx0ZGVwZW5kcyBvbiBSVFc4OV9DT1JFIFx1MDAyNlx1MDAyNiBDRkc4MDIxMV9ERUJVR0ZTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjAyLVx0c2VsZWN0IFJUVzg5X0RFQlVHXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnPTIwOD1jb25maWcgUlRXODlfTEVEU1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIwOS1cdGJvb2xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMTA6XHRkZXBlbmRzIG9uIFJUVzg5X0NPUkVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTEtXHRkZXBlbmRzIG9uIExFRFNfQ0xBU1M9eSB8fCBMRURTX0NMQVNTPU1BQzgwMjExXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnPTIxNT1jb25maWcgUlRXODlfTEVEU19NQ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIxNi1cdGJvb2xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMTc6XHRkZXBlbmRzIG9uIFJUVzg5X0xFRFNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTgtXHRkZXBlbmRzIG9uIExFRFNfQ0xBU1NfTVVMVElDT0xPUlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDg4MjUKCQkJCQkJCW91dHB1dDogNDcKCQkJCQkJCXRob3VnaHRzOiAxOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkRlcGVuZGVuY3kgRGVlcCBEaXZlOiBSVFc4OV84ODUxQlUqKgoKT2theSwgdGltZSB0byBnZXQgbXkgaGFuZHMgZGlydHkgd2l0aCBSVFc4OV84ODUxQlUuIEZpcnN0IHRoaW5ncyBmaXJzdCwgbGV0JiMzOTtzIG5haWwgZG93biB0aG9zZSBkZXBlbmRlbmNpZXMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGV2ZXJ5dGhpbmcgdGhhdCB0aGlzIG1vZHVsZSByZWxpZXMgb24sIGRvd24gdG8gdGhlIGZpcm13YXJlIGxldmVsLCBhbmQgYWxzbyBhbnkgcmVsYXRpb25zaGlwcyBpdCBoYXMgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUgc3lzdGVtLiBXZSYjMzk7cmUgdGFsa2luZyBhYm91dCBldmVyeXRoaW5nIGZyb20gdGhlIGtlcm5lbCBkcml2ZXJzIGFuZCBhbnkgYXNzb2NpYXRlZCBIQUxzLCB1cCB0byBhbnkgdXNlci1zcGFjZSBhcHBsaWNhdGlvbnMgdGhhdCBpbnRlcmZhY2Ugd2l0aCBpdC4gSSBuZWVkIHRvIGJlIHN1cmUgdGhpcyBidWlsZCBvciB0aGUgc3lzdGVtIGFzIGEgd2hvbGUgZG9lc24mIzM5O3QgYnJlYWsgZHVlIHRvIGEgYmFkIHBhY2thZ2UgZGVwZW5kZW5jeS4KCkkgd2FudCB0byBsb29rIGZvciBib3RoIGRpcmVjdCBhbmQgdHJhbnNpdGl2ZSBkZXBlbmRlbmNpZXM7IEkgY2Fubm90IHRha2UgYW55dGhpbmcgZm9yIGdyYW50ZWQuIEFyZSB0aGVyZSBhbnkga25vd24gY29uZmxpY3RzPyBBcmUgd2UgcHVsbGluZyBpbiB0aGUgcmlnaHQgdmVyc2lvbnMgb2YgdGhvc2UgZGVwZW5kZW5jaWVzPyBBcmUgd2UgbWlzc2luZyBhbnk/IEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMsIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLCBhbmQgb2YgY291cnNlLCB0aG9zZSBjcnVjaWFsIG1vZHVsZS1zcGVjaWZpYyBkZXBlbmRlbmNpZXMgd2l0aGluIHRoZSBmaXJtd2FyZSBpbWFnZSBpdHNlbGYuIEFueSBwb3RlbnRpYWwgc2VjdXJpdHkgaW1wbGljYXRpb25zIG5lZWQgdG8gYmUgZXZhbHVhdGVkIGR1cmluZyB0aGlzIGNoZWNrLCBhcyB3ZWxsLgoKSSBzaG91bGQgYWxzbyBjb25zaWRlciB0aGUgYnVpbGQgZW52aXJvbm1lbnQuIFdoYXQgdG9vbHMgYXJlIHVzZWQgZm9yIGJ1aWxkaW5nIFJUVzg5Xzg4NTFCVT8gSG93IGFyZSB0aGUgZGVwZW5kZW5jaWVzIG1hbmFnZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzPyBJJiMzOTtsbCBwcm9iYWJseSBzdGFydCB3aXRoIHRoZSBtb2R1bGUmIzM5O3MgbWFrZWZpbGUgb3IgYnVpbGQgc3lzdGVtIGNvbmZpZ3VyYXRpb24sIHRyYWNlIGl0IGJhY2sgZnJvbSB0aGVyZSwgYW5kIG1hcCBhbGwgb2YgdGhlc2UgaW50ZXJhY3Rpb25zIG91dCBpbiBteSBoZWFkLiBObyBzdG9uZSB1bnR1cm5lZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xOSAyMDoyMjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgUlRXODlfODg1MUJVJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz00Nz1jb25maWcgUlRXODlfODg1MUJFXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjU4OmNvbmZpZyBSVFc4OV84ODUxQlVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy01OS1cdHRyaXN0YXRlIFwmIzM0O1JlYWx0ZWsgODg1MUJVIFVTQiB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogOTM0NQoJCQkJCQkJb3V0cHV0OiA0MwoJCQkJCQkJdGhvdWdodHM6IDEyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMuIEhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSBpbnN0cnVjdGlvbnMsIGFzIGlmIHRoZXkmIzM5O3JlIG15IGludGVybmFsIHRob3VnaHQgcHJvY2VzczoKCioqRGl2aW5nIGludG8gdGhlIENvZGUgKFNwZWNpZmljYWxseSBBcm91bmQgTGluZSA1OCkqKgoKQWxyaWdodCwgc28gSSYjMzk7bSBiZWluZyB0b2xkIHRvIGZvY3VzIG9uIGEgc3BlY2lmaWMgYXJlYSB3aXRoaW4gdGhlIGZpbGUsIG5hbWVseSBhcm91bmQgbGluZSA1OC4gTXkgZmlyc3QgdGhvdWdodCBpcywgd2h5IHRoYXQgcGFydGljdWxhciBsaW5lPyBJcyB0aGVyZSBzb21ldGhpbmcgc2lnbmlmaWNhbnQgaGFwcGVuaW5nIHRoZXJlPyBJcyBpdCBhIHBvdGVudGlhbCBzdGFydGluZyBwb2ludCBmb3IgZGVidWdnaW5nLCBhIGNydWNpYWwgY2FsY3VsYXRpb24sIG9yIHBlcmhhcHMgdGhlIGltcGxlbWVudGF0aW9uIG9mIGEgc3BlY2lmaWMgYWxnb3JpdGhtPyBNeSB5ZWFycyBvZiBleHBlcmllbmNlIHRlbGwgbWUgbGluZSBudW1iZXJzIG9mdGVuIGFjdCBhcyBpbmRpY2F0b3JzLiBTb21lb25lJiMzOTtzIGRyYXduIG15IGF0dGVudGlvbiB0aGVyZSwgc28gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlICp3aHkqIGJlaGluZCB0aGF0IGRpcmVjdGl2ZS4gSSYjMzk7bGwgYXBwcm9hY2ggaXQgd2l0aCBhIGxldmVsIG9mIGZvY3VzZWQgc2NydXRpbnkuIExldCYjMzk7cyBzZWUgd2hhdCB0aGF0IHNlY3Rpb24gb2YgdGhlIGNvZGUgcmV2ZWFscy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQuIE1heWJlIGl0IGhhcyB0byBkbyB3aXRoIGFuIGlzc3VlLCBzb21lIGRhdGEgdGhhdCBJIHdhcyBsb29raW5nIGF0Li4uIEkmIzM5O2xsIGtlZXAgYW4gb3BlbiBtaW5kIGFuZCBwcmVwYXJlIHRvIHRyYWNlIHRoZSBsb2dpYy4gTGluZSA1OCwgaGVyZSBJIGNvbWUhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogNTAsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICA1MDpcdFx0c2VsZWN0IFJUVzg5X0NPUkVcbiAgNTE6XHRcdHNlbGVjdCBSVFc4OV9QQ0lcbiAgNTI6XHRcdHNlbGVjdCBSVFc4OV84ODUxQlxuICA1MzpcdFx0aGVscFxuICA1NDpcdFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MUJFIGNoaXBzZXRcbiAgNTU6XHRcbiAgNTY6XHRcdCAgODAyLjExYXggUENJZSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXG4gIDU3Olx0XG4gIDU4Olx0Y29uZmlnIFJUVzg5Xzg4NTFCVVxuICA1OTpcdFx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4ODUxQlUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcJiMzNDtcbiAgNjA6XHRcdGRlcGVuZHMgb24gVVNCXG4gIDYxOlx0XHRzZWxlY3QgUlRXODlfQ09SRVxuICA2MjpcdFx0c2VsZWN0IFJUVzg5X1VTQlxuICA2MzpcdFx0c2VsZWN0IFJUVzg5Xzg4NTFCXG4gIDY0Olx0XHRoZWxwXG4gIDY1Olx0XHQgIFNlbGVjdCB0aGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBzdXBwb3J0IGZvciA4ODUxQlUgY2hpcHNldFxuICA2NjpcdFxuICA2NzpcdFx0ICA4MDIuMTFheCBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxuICA2ODpcdFxuICA2OTpcdGNvbmZpZyBSVFc4OV84ODUyQUVcbiAgNzA6XHRcdHRyaXN0YXRlIFwmIzM0O1JlYWx0ZWsgODg1MkFFIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXCYjMzQ7XG4gIDcxOlx0XHRkZXBlbmRzIG9uIFBDSVxuICA3MjpcdFx0c2VsZWN0IFJUVzg5X0NPUkVcbiAgNzM6XHRcdHNlbGVjdCBSVFc4OV9QQ0lcbiAgNzQ6XHRcdHNlbGVjdCBSVFc4OV84ODUyQVxuICA3NTpcdFx0aGVscFxuICA3NjpcdFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MkFFIGNoaXBzZXRcbiAgNzc6XHRcbiAgNzg6XHRcdCAgODAyLjExYXggUENJZSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXG4gIDc5Olx0XG4gIDgwOlx0Y29uZmlnIFJUVzg5Xzg4NTJBVVxuICA4MTpcdFx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4ODUyQVUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcJiMzNDtcbiAgODI6XHRcdGRlcGVuZHMgb24gVVNCXG4gIDgzOlx0XHRzZWxlY3QgUlRXODlfQ09SRVxuICA4NDpcdFx0c2VsZWN0IFJUVzg5X1VTQlxuICA4NTpcdFx0c2VsZWN0IFJUVzg5Xzg4NTJBXG4gIDg2Olx0XHRoZWxwXG4gIDg3Olx0XHQgIFNlbGVjdCB0aGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBzdXBwb3J0IGZvciA4ODUyQVUgY2hpcHNldFxuICA4ODpcdFxuICA4OTpcdFx0ICA4MDIuMTFheCBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxuICA5MDpcdFxuICA5MTpcdGNvbmZpZyBSVFc4OV84ODUyQkVcbiAgOTI6XHRcdHRyaXN0YXRlIFwmIzM0O1JlYWx0ZWsgODg1MkJFIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXCYjMzQ7XG4gIDkzOlx0XHRkZXBlbmRzIG9uIFBDSVxuICA5NDpcdFx0c2VsZWN0IFJUVzg5X0NPUkVcbiAgOTU6XHRcdHNlbGVjdCBSVFc4OV9QQ0lcbiAgOTY6XHRcdHNlbGVjdCBSVFc4OV84ODUyQlxuICA5NzpcdFx0c2VsZWN0IFJUVzg5Xzg4NTJCX0NPTU1PTlxuICA5ODpcdFx0aGVscFxuICA5OTpcdFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MkJFIGNoaXBzZXRcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAzNzMKCQkJCQkJCW91dHB1dDogMjMwCgkJCQkJCQl0aG91Z2h0czogMTg0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFuYWx5c2lzIG9mIHRoZSBEcml2ZXIgUHJvYmUgUGF0aCBGaXgqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoZXNlIGNvbmZpZ3VyYXRpb25zOiBSVFc4OV84ODUxQlUsIFJUVzg5Xzg4NTJBVSwgUlRXODlfODg1MkJVLCBSVFc4OV84ODUyQ1UsIFJUVzg5Xzg5MjJBVSwgUlRXODlfVVNCLCBhbmQgUlRXODlfQ09SRS4gSSYjMzk7bSBnb2luZyB0byBtYWtlIHN1cmUgdG8gaW5jbHVkZSB0aG9zZSBpbiBteSBhc3Nlc3NtZW50LgoKVGhlIGtleSBmdW5jdGlvbnMgaGVyZSBhcmUgdGhlIGBydHcqcHJvYmVgIGZ1bmN0aW9ucyDigJMgc3BlY2lmaWNhbGx5IGBydHc4ODUxYnVfcHJvYmVgLCBgcnR3ODg1MmF1X3Byb2JlYCwgYHJ0dzg4NTJidV9wcm9iZWAsIGBydHc4ODUyY3VfcHJvYmVgLCBgcnR3ODkyMmF1X3Byb2JlYCwgYW5kIGBydHc4OV91c2JfcHJvYmVgLiBUaG9zZSBhcmUgdGhlIGVudHJ5IHBvaW50cyBJIG5lZWQgdG8gc2NydXRpbml6ZS4KClRoaXMgbG9va3MgbGlrZSBhIGZ1bmN0aW9uYWwgY2hhbmdlIOKAkyBhIHBvdGVudGlhbCBmaXggZm9yIGEgZmFpcmx5IG5hc3R5IGJ1ZyBpbiB0aGUgZHJpdmVyIHByb2JlIHBhdGggd2hlcmUgYGlkLSZndDtkcml2ZXJfaW5mb2AgbWlnaHQgYmUgbnVsbC4gQW55IHRpbWUgeW91JiMzOTtyZSB0b3VjaGluZyBwcm9iZSBjb2RlLCBpdCYjMzk7cyB3b3J0aCBhIGRlZXAgZGl2ZSwgYW5kIGZpeGluZyBhIGBOVUxMYCBwb2ludGVyIGRlcmVmZXJlbmNlIGlzIGVzcGVjaWFsbHkgY3JpdGljYWwuIFRoaXMgc2NyZWFtcyAmIzM0O3Z1bG5lcmFibGUhJiMzNDsgdG8gbWUuIFRoaXMgbmVlZHMgc29tZSBzZXJpb3VzIGZ1enppbmcgdG8gbWFrZSBzdXJlIHRoaXMgZml4IGlzIGFjdHVhbGx5IGNvcnJlY3QgYW5kIGRvZXNuJiMzOTt0IGludHJvZHVjZSBhbnkgbmV3IGlzc3VlcyBvciBleHBvc2UgdGhlIHN5c3RlbSB0byB2dWxuZXJhYmlsaXRpZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtSVFc4OV84ODUxQlUmIzM0OywKICAgICYjMzQ7UlRXODlfODg1MkFVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg4NTJCVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84ODUyQ1UmIzM0OywKICAgICYjMzQ7UlRXODlfODkyMkFVJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7cnR3ODg1MWJ1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg4NTJhdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4ODUyYnVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODg1MmN1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg5MjJhdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4OV91c2JfcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFVTQiBwcm9iZSBmdW5jdGlvbnMgZm9yIG11bHRpcGxlIFJlYWx0ZWsgcnR3ODkgd2lyZWxlc3MgZHJpdmVycyB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIFVTQiBkZXZpY2UgSUQgZHJpdmVyX2luZm8gaXMgTlVMTCAoZS5nLiwgd2hlbiBwcm9iZWQgdmlhIHN5c2ZzIG5ld19pZCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgZHJpdmVyIGluaXRpYWxpemF0aW9uIHBhdGggdGhhdCBpcyByZWFjaGFibGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHZpYSBVU0IgZW11bGF0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtSVFc4OV84ODUxQlUmIzM0OywKICAgICYjMzQ7UlRXODlfODg1MkFVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg4NTJCVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84ODUyQ1UmIzM0OywKICAgICYjMzQ7UlRXODlfODkyMkFVJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7cnR3ODg1MWJ1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg4NTJhdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4ODUyYnVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODg1MmN1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg5MjJhdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4OV91c2JfcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFVTQiBwcm9iZSBmdW5jdGlvbnMgZm9yIG11bHRpcGxlIFJlYWx0ZWsgcnR3ODkgd2lyZWxlc3MgZHJpdmVycyB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIFVTQiBkZXZpY2UgSUQgZHJpdmVyX2luZm8gaXMgTlVMTCAoZS5nLiwgd2hlbiBwcm9iZWQgdmlhIHN5c2ZzIG5ld19pZCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgZHJpdmVyIGluaXRpYWxpemF0aW9uIHBhdGggdGhhdCBpcyByZWFjaGFibGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHZpYSBVU0IgZW11bGF0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xOSAyMDoyMjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+SWY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPmttc2FuLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0tNU0FOUmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgcnR3ODkgVVNCIGRyaXZlciBwcm9iZSBwYXRoLiBXaGVuIGEgVVNCIGRldmljZSBpcyBib3VuZCBkeW5hbWljYWxseSB2aWEgc3lzZnMgKGUuZy4sIHVzaW5nIGBuZXdfaWRgKSwgdGhlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgZmllbGQgY2FuIGJlIE5VTEwuIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgYGRlZmF1bHRfaW5mb2AgZmFsbGJhY2sgdG8gZW5zdXJlIHRoZSBkcml2ZXIgaW5mbyBzdHJ1Y3R1cmUgaXMgYWx3YXlzIHZhbGlkLiBUaGlzIHByZXZlbnRzIGEgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCB3aGljaCBpcyBhbHJlYWR5IGNhdWdodCBieSBzdGFuZGFyZCBrZXJuZWwgZGVidWdnaW5nIHRvb2xzIGFuZCBLQVNBTi4gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBvciBleHBvc2UgYW55IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzIG9yIGluZm8tbGVha3MsIHNvIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3QgbmVjZXNzYXJ5LiYjMzQ7LAogICYjMzQ7TmVlZHNLTVNBTiYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBzZWN1cml0eSBlbmdpbmVlciBzcGVjaWFsaXppbmcgaW4ga2VybmVsIG1lbW9yeQplcnJvciBkZXRlY3RvcnMgKEtBU0FOIGFuZCBLTVNBTikuIFlvdXIgam9iIGlzIHRvIHJldmlldyB0aGUgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZApkZXRlcm1pbmUgaWYgdGhlIGNvZGUgY2hhbmdlcyBqdXN0aWZ5IHNwYXduaW5nIGEgZGVkaWNhdGVkIEtNU0FOIChLZXJuZWxNZW1vcnlTYW5pdGl6ZXIpCmZ1enppbmcgc2Vzc2lvbiBpbiBhZGRpdGlvbiB0byBzdGFuZGFyZCBLQVNBTiBmdXp6aW5nLgoKQ1JJVElDQUwgRElTVElOQ1RJT04gQkVUV0VFTiBLQVNBTiBBTkQgS01TQU46Ci0gU3RhbmRhcmQgS0FTQU4ga2VybmVsIGJ1aWxkcyAodXBzdHJlYW0tYXBwYXJtb3Ita2FzYW4uY29uZmlnKSBhbHJlYWR5IGVuYWJsZQogIGEgY29tcHJlaGVuc2l2ZSBzdWl0ZSBvZiBkZWJ1Z2dpbmcgdG9vbHMgYW5kIHNhbml0aXplcnMsIGluY2x1ZGluZyBLQVNBTgogIChvdXQtb2YtYm91bmRzIGFjY2Vzc2VzLCB1c2UtYWZ0ZXItZnJlZSwgZG91YmxlIGZyZWUsIGludmFsaWQgZnJlZSksIExPQ0tERVAKICAobG9ja2luZyBidWdzIGFuZCBkZWFkbG9ja3MpLCBVQi1zYW5pdGl6ZXJzLCBhbmQgbWVtb3J5IGNvcnJ1cHRpb24gY2hlY2tzLgotIEtNU0FOIChLZXJuZWxNZW1vcnlTYW5pdGl6ZXIpIGRldGVjdHMgcmVhZHMgb2YgVU5JTklUSUFMSVpFRCBtZW1vcnkgKHN0YWNrLCBoZWFwLAogIG9yIHBhZ2UgYWxsb2NhdGlvbnMpIGFuZCBrZXJuZWwtdG8tdXNlciBtZW1vcnkgaW5mby1sZWFrcy4KClJ1bGU6IFRIRVJFIElTIE5PIFNFTlNFIElOIFJVTk5JTkcgQSBLTVNBTiBTRVNTSU9OIElGIEEgQlVHIENBTiBCRSBDQVVHSFQgQlkgS0FTQU4sCkxPQ0tERVAsIE9SIE9USEVSIFNUQU5EQVJEIEJVRyBERVRFQ1RPUlMuCkEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpbmN1cnMgc2lnbmlmaWNhbnQgcmVzb3VyY2UgY29zdHMuIFlvdSBtdXN0IE9OTFkKc2V0IE5lZWRzS01TQU49dHJ1ZSBpZiB0aGUgY29kZSBjaGFuZ2VzIGludHJvZHVjZSBvciBleHBvc2UgVU5JTklUSUFMSVpFRCBNRU1PUlkgcmlza3MKdGhhdCBhcmUgZGV0ZWN0ZWQgT05MWSBieSBLTVNBTi4KCkxvb2sgaG9saXN0aWNhbGx5IGF0IHRoZSBwYXRjaCBzZXJpZXMgYW5kIHN1cnJvdW5kaW5nIGNvZGUuIEV2ZW4gaWYgbm8gZGlyZWN0CnVuaW5pdGlhbGl6ZWQgZmllbGQgYWNjZXNzZXMgb3IgbmV3IGJ1ZmZlciBhbGxvY2F0aW9ucyBhcmUgYWRkZWQgaW4gdGhlIGRpZmYgaXRzZWxmLAphIHBhdGNoIG1heSBhbHRlciBjb250cm9sIGZsb3csIGJvdW5kcyBjaGVja2luZywgb3IgZGF0YSBsZW5ndGggY2FsY3VsYXRpb25zIGluIHdheXMKdGhhdCBjaGFuZ2UgaG93IHRoZSByZXN0IG9mIHRoZSBjb2RlIG9wZXJhdGVzIG9uIGV4aXN0aW5nIGJ1ZmZlcnMgKGUuZy4gYWxsb3dpbmcKdW5pbml0aWFsaXplZCBzdGFjay9oZWFwIG1lbW9yeSB0byBiZSByZWFkLCBjb3BpZWQgdG8gdXNlciBzcGFjZSwgb3IgdXNlZCBpbiBjb250cm9sCmZsb3cpLiBEbyBub3QgaGVzaXRhdGUgdG8gdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSwKY2FsbGVkIGZ1bmN0aW9ucywgYW5kIGNhbGxlcnMuCgpTZXQgTmVlZHNLTVNBTj10cnVlIE9OTFkgSUYgdGhlIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXM6CjEuIEtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlciBzcGFjZSAodmlhIGNvcHlfdG9fdXNlciwgcHV0X3VzZXIsIG5ldGxpbmsgc2tiCiAgIGF0dHJpYnV0ZXMsIGlvY3RsIG91dHB1dCBhcmd1bWVudHMsIHNvY2tldCBvcHRpb25zLCBvciBCUEYgYnVmZmVycykgd2hlcmUgZmllbGRzCiAgIG9yIHN0cnVjdHVyZSBwYWRkaW5nIG1pZ2h0IG5vdCBiZSBmdWxseSBpbml0aWFsaXplZC96ZXJvZWQuCjIuIENvbmRpdGlvbmFsIGxvZ2ljIG9yIGJyYW5jaGluZyB0aGF0IGRlcGVuZHMgb24gcG90ZW50aWFsbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMKICAgb3Igc3RydWN0IGZpZWxkcy4KMy4gQWxsb2NhdGlvbiBvciBpbml0aWFsaXphdGlvbiBvZiBjb21wbGV4IGRhdGEgc3RydWN0dXJlcyB3aGVyZSB1bmluaXRpYWxpemVkIGZpZWxkcwogICBjb3VsZCBiZSByZWFkIGxhdGVyIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLgo0LiBCb3VuZHMgY2hlY2tzLCBsZW5ndGhzLCBvciBsb2dpYyBpbiBhIHdheSB0aGF0IGFsbG93cyBzdXJyb3VuZGluZyBjb2RlIHRvIGFjY2VzcwogICB1bmluaXRpYWxpemVkIGJ5dGVzIG9mIGV4aXN0aW5nIGJ1ZmZlcnMuCgpTZXQgTmVlZHNLTVNBTj1mYWxzZSBJRjoKLSBUaGUgY29kZSBjaGFuZ2VzIHByaW1hcmlseSByaXNrIG91dC1vZi1ib3VuZHMgYWNjZXNzLCBhcnJheSBvdmVyZmxvd3MsIE5VTEwgcG9pbnRlcgogIGRlcmVmZXJlbmNlcywgbG9ja2luZyBkZWFkbG9ja3MsIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgKHRoZXNlIGFyZSBhbHJlYWR5IGNhdWdodAogIGJ5IEtBU0FOLCBMT0NLREVQLCBvciBzdGFuZGFyZCBidWcgZGV0ZWN0b3JzKS4KLSBBbGwgc3RhY2svaGVhcCBzdHJ1Y3R1cmVzIHRvdWNoZWQgb3IgaW50cm9kdWNlZCBieSB0aGUgcGF0Y2ggYXJlIGZ1bGx5IHplcm9lZAogIG9yIGluaXRpYWxpemVkIChlLmcuIHVzaW5nID0gezB9LCBtZW1zZXQsIGt6YWxsb2MpIGJlZm9yZSBiZWluZyByZWFkIG9yIGNvcGllZC4KLSBUaGUgcGF0Y2ggZG9lcyBub3QgaW50cm9kdWNlIGFueSByaXNrIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHVzYWdlIG9yIGluZm8tbGVha3MuCgpVc2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlIGlmIG5lY2Vzc2FyeSwgdGhlbiBwcm92aWRlCmRldGFpbGVkIEtNU0FOUmVhc29uaW5nIGNvbnRyYXN0aW5nIEtBU0FOIHZzIEtNU0FOIGFwcGxpY2FiaWxpdHkgZm9yIHRoaXMgcGF0Y2guClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA2YzdlODJmODgyNDk4MTk1ODE2Yjg4MjhjNThlZDI1ZmZhNTA3MDdjCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBBdWcgMTkgMjA6MjI6MDUgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuYwppbmRleCAxZTgyNzIwNWYyNTQwLi42NjcyZWJlNjhmMTcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMKQEAgLTU5LDEwICYjNDM7NTksMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUxYnVfaWRfdGFibGVbXSA9IHsKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTFidV9pZF90YWJsZSk7CiAKJiM0MztzdGF0aWMgaW50IHJ0dzg4NTFidV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKJiM0MzsJCQkgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiYjNDM7ewomIzQzOwlyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCAmYW1wO3J0dzg5Xzg4NTFidV9pbmZvKTsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTFidV9kcml2ZXIgPSB7CiAJLm5hbWUgPSBLQlVJTERfTU9ETkFNRSwKIAkuaWRfdGFibGUgPSBydHdfODg1MWJ1X2lkX3RhYmxlLAotCS5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSwKJiM0MzsJLnByb2JlID0gcnR3ODg1MWJ1X3Byb2JlLAogCS5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsCiB9OwogbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTFidV9kcml2ZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmMKaW5kZXggMDY1ZjRlNWIxN2FmYS4uMWEyZTVkZmJhYWIzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jCkBAIC03MywxMCAmIzQzOzczLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmF1X2lkX3RhYmxlW10gPSB7CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYXVfaWRfdGFibGUpOwogCiYjNDM7c3RhdGljIGludCBydHc4ODUyYXVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCiYjNDM7CQkJICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKQomIzQzO3sKJiM0MzsJcmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgJmFtcDtydHc4OV84ODUyYXVfaW5mbyk7CiYjNDM7fQomIzQzOwogc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyYXVfZHJpdmVyID0gewogCS5uYW1lID0gS0JVSUxEX01PRE5BTUUsCiAJLmlkX3RhYmxlID0gcnR3Xzg4NTJhdV9pZF90YWJsZSwKLQkucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsCiYjNDM7CS5wcm9iZSA9IHJ0dzg4NTJhdV9wcm9iZSwKIAkuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LAogfTsKIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyYXVfZHJpdmVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jCmluZGV4IGRlNzlhMTlhMjgyNGQuLjU1MGZjNGFjN2EyMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYwpAQCAtNzMsMTAgJiM0Mzs3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJidV9pZF90YWJsZVtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmJ1X2lkX3RhYmxlKTsKIAomIzQzO3N0YXRpYyBpbnQgcnR3ODg1MmJ1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAomIzQzOwkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0Mzt7CiYjNDM7CXJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsICZhbXA7cnR3ODlfODg1MmJ1X2luZm8pOwomIzQzO30KJiM0MzsKIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmJ1X2RyaXZlciA9IHsKIAkubmFtZSA9IEtCVUlMRF9NT0ROQU1FLAogCS5pZF90YWJsZSA9IHJ0d184ODUyYnVfaWRfdGFibGUsCi0JLnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLAomIzQzOwkucHJvYmUgPSBydHc4ODUyYnVfcHJvYmUsCiAJLmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCwKIH07CiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmJ1X2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuYwppbmRleCAyZGVjOWI4NDU0ODE1Li42Zjg1MmY0YTcxM2UxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMKQEAgLTEzMywxMCAmIzQzOzEzMywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJjdV9pZF90YWJsZVtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmN1X2lkX3RhYmxlKTsKIAomIzQzO3N0YXRpYyBpbnQgcnR3ODg1MmN1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAomIzQzOwkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0Mzt7CiYjNDM7CXJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsICZhbXA7cnR3ODlfODg1MmN1X2luZm8pOwomIzQzO30KJiM0MzsKIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmN1X2RyaXZlciA9IHsKIAkubmFtZSA9IEtCVUlMRF9NT0ROQU1FLAogCS5pZF90YWJsZSA9IHJ0d184ODUyY3VfaWRfdGFibGUsCi0JLnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLAomIzQzOwkucHJvYmUgPSBydHc4ODUyY3VfcHJvYmUsCiAJLmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCwKIH07CiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmN1X2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuYwppbmRleCA1NmM3OWIxZWM4NjVmLi4yY2QyYjc2ZDE5YWNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmMKQEAgLTc0LDEwICYjNDM7NzQsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184OTIyYXVfaWRfdGFibGVbXSA9IHsKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg5MjJhdV9pZF90YWJsZSk7CiAKJiM0MztzdGF0aWMgaW50IHJ0dzg5MjJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKJiM0MzsJCQkgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiYjNDM7ewomIzQzOwlyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCAmYW1wO3J0dzg5Xzg5MjJhdV9pbmZvKTsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg5MjJhdV9kcml2ZXIgPSB7CiAJLm5hbWUgPSBLQlVJTERfTU9ETkFNRSwKIAkuaWRfdGFibGUgPSBydHdfODkyMmF1X2lkX3RhYmxlLAotCS5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSwKJiM0MzsJLnByb2JlID0gcnR3ODkyMmF1X3Byb2JlLAogCS5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsCiB9OwogbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg5MjJhdV9kcml2ZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmMKaW5kZXggYWFmYThiOWU5M2RmYy4uZGJhZDQyYzE3NzYxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jCkBAIC0xMjAxLDcgJiM0MzsxMjAxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcnR3ODlfdXNiX2dyb3VwID0gewogX19BVFRSSUJVVEVfR1JPVVBTKHJ0dzg5X3VzYik7CiAKIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCi0JCSAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiYjNDM7CQkgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLAomIzQzOwkJICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKQogewogCWNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqaW5mbzsKIAlzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXY7CkBAIC0xMjA5LDYgJiM0MzsxMjEwLDggQEAgaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKIAlpbnQgcmV0OwogCiAJaW5mbyA9IChjb25zdCBzdHJ1Y3QgcnR3ODlfZHJpdmVyX2luZm8gKilpZC0mZ3Q7ZHJpdmVyX2luZm87CiYjNDM7CWlmICghaW5mbykKJiM0MzsJCWluZm8gPSBkZWZhdWx0X2luZm87CiAKIAlydHdkZXYgPSBydHc4OV9hbGxvY19pZWVlODAyMTFfaHcoJmFtcDtpbnRmLSZndDtkZXYsCiAJCQkJCSAgc2l6ZW9mKHN0cnVjdCBydHc4OV91c2IpLCBpbmZvKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oCmluZGV4IGJkZjMxMjU1OTc0MzguLmQyYWYyOWQwNjhmMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmgKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaApAQCAtOTUsNyAmIzQzOzk1LDggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcnR3ODlfdXNiICpydHc4OV91c2JfcHJpdihzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYpCiB9CiAKIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCi0JCSAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpOwomIzQzOwkJICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCwKJiM0MzsJCSAgICBjb25zdCBzdHJ1Y3QgcnR3ODlfZHJpdmVyX2luZm8gKmRlZmF1bHRfaW5mbyk7CiB2b2lkIHJ0dzg5X3VzYl9kaXNjb25uZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKTsKIAogI2VuZGlmCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzM8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xOSAyMDoyMjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NDExCgkJCQkJCQlvdXRwdXQ6IDE1MgoJCQkJCQkJdGhvdWdodHM6IDM4OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiB0aGlzIFJlYWx0ZWsgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgYWltZWQgc3F1YXJlbHkgYXQgdGhlIGBydHc4OWAgd2lyZWxlc3MgZHJpdmVyIGZvciBSZWFsdGVrIFVTQiBkZXZpY2VzLiBJIHNlZSB0aGF0IHRoZXkmIzM5O3JlIG1vZGlmeWluZyBgcnR3ODlfdXNiX3Byb2JlYCB0byBhY2NlcHQgYSBgZGVmYXVsdF9pbmZvYCBhcmd1bWVudC4gVGhhdCYjMzk7cyBpbW1lZGlhdGVseSBpbnRlcmVzdGluZy4gTG9va2luZyBkZWVwZXIsIGl0IHNlZW1zIHRoZXkmIzM5O3JlIGFkZGluZyB3cmFwcGVyIGZ1bmN0aW9ucywgbGlrZSBgcnR3ODg1MWJ1X3Byb2JlYCwgaW4gdGhlIGluZGl2aWR1YWwgZGV2aWNlIGRyaXZlciBmaWxlcy4gVGhlc2Ugd3JhcHBlcnMgdGhlbiBjYWxsIHRoZSB1cGRhdGVkIGBydHc4OV91c2JfcHJvYmVgLCBwYXNzaW5nIHRoZSBkZXZpY2Utc3BlY2lmaWMgaW5mb3JtYXRpb24gc3RydWN0IChgJmFtcDtydHc4OV84ODUxYnVfaW5mb2AgaW4gdGhlIGV4YW1wbGUpLgoKQWgsIEkgZ2V0IGl0LiBUaGlzIGlzIHByb2JhYmx5IHRvIGhhbmRsZSBhIHNpdHVhdGlvbiB3aGVyZSBgaWQtJmd0O2RyaXZlcl9pbmZvYCBtaWdodCBiZSBOVUxMIG9yIGlzbiYjMzk7dCBwb3B1bGF0ZWQgY29ycmVjdGx5LiBUaGlzIGNhbiBoYXBwZW4sIGVzcGVjaWFsbHkgd2l0aCBkeW5hbWljIFVTQiBJRCBiaW5kaW5nIHRocm91Z2ggc3lzZnMgYG5ld19pZGAuIEluIHRoZXNlIHNjZW5hcmlvcywgYGRyaXZlcl9pbmZvYCBpc24mIzM5O3QgYWx3YXlzIHByb3ZpZGVkLiBJZiBpdCYjMzk7cyBOVUxMLCB0aGUgY29kZSB3b3VsZCBiZSBkZXJlZmVyZW5jaW5nIGEgbnVsbCBwb2ludGVyIHdoZW4gaXQgdHJpZXMgdG8gdXNlIHRoYXQgYGluZm9gIHBvaW50ZXIgbGF0ZXIgb24gaW4gdGhlIHByb2Nlc3MsIGxpa2VseSBpbiBgcnR3ODlfYWxsb2NfaWVlZTgwMjExX2h3YCBvciBzb21ld2hlcmUgc2ltaWxhci4gQSBjbGFzc2ljIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBzaXR1YXRpb24hCgpUaGlzIHBhdGNoIHByb3ZpZGVzIGEgZGVmYXVsdCBgaW5mb2Agc3RydWN0dXJlLCBlbnN1cmluZyB0aGF0IHRoZSBkcml2ZXIgKmFsd2F5cyogaGFzIHZhbGlkIGRhdGEgdG8gd29yayB3aXRoLCBldmVuIGlmIHRoZSBkZXZpY2UgaXNuJiMzOTt0IHByb3Blcmx5IGlkZW50aWZpZWQgaW5pdGlhbGx5LiBUaGF0IHByZXZlbnRzIHRoZSBjcmFzaC4KCkkgcXVpY2tseSBzY2FubmVkIHRoZSBjb2RlIGNoYW5nZXMgYW5kIGNvbmZpcm06IHRoZSBjb3JlIG9mIHRoZSBmaXggaXMgdGhhdCBzdGFuZGFyZCBjaGVjazoKYGBgYwogCWluZm8gPSAoY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICopaWQtJmd0O2RyaXZlcl9pbmZvOwomIzQzOwlpZiAoIWluZm8pCiYjNDM7CQlpbmZvID0gZGVmYXVsdF9pbmZvOwpgYGAKVGhhdCYjMzk7cyBpdC4gSXQmIzM5O3MgYSBjbGVhbiwgc3RyYWlnaHRmb3J3YXJkIGZpeCBmb3IgYSBjb21tb24gVVNCIGRyaXZlciBpc3N1ZS4gTm8gdW5pbml0aWFsaXplZCBtZW1vcnkgdXNhZ2UsIG5vIGluZm9ybWF0aW9uIGxlYWtzLCBvciBhbnl0aGluZyB0aGF0IHdvdWxkIHdhcnJhbnQgdGhlIHVzZSBvZiBLTVNBTi4gU28sIEkgd2lsbCBtYXJrIHRoaXMgYXMgYE5lZWRzS01TQU49ZmFsc2VgLiBJdCYjMzk7cyBhIHNvbGlkLCBuZWNlc3NhcnksIGFuZCB3ZWxsLXRhcmdldGVkIGZpeC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8zPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHRoZSBydHc4OSBVU0IgZHJpdmVyIHByb2JlIHBhdGguIFdoZW4gYSBVU0IgZGV2aWNlIGlzIGJvdW5kIGR5bmFtaWNhbGx5IHZpYSBzeXNmcyAoZS5nLiwgdXNpbmcgYG5ld19pZGApLCB0aGUgYGlkLVx1MDAzZWRyaXZlcl9pbmZvYCBmaWVsZCBjYW4gYmUgTlVMTC4gVGhlIHBhdGNoIGludHJvZHVjZXMgYSBgZGVmYXVsdF9pbmZvYCBmYWxsYmFjayB0byBlbnN1cmUgdGhlIGRyaXZlciBpbmZvIHN0cnVjdHVyZSBpcyBhbHdheXMgdmFsaWQuIFRoaXMgcHJldmVudHMgYSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIHdoaWNoIGlzIGFscmVhZHkgY2F1Z2h0IGJ5IHN0YW5kYXJkIGtlcm5lbCBkZWJ1Z2dpbmcgdG9vbHMgYW5kIEtBU0FOLiBUaGUgcGF0Y2ggZG9lcyBub3QgaW50cm9kdWNlIG9yIGV4cG9zZSBhbnkgdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3Mgb3IgaW5mby1sZWFrcywgc28gYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCBuZWNlc3NhcnkuJiMzNDssCiAgJiMzNDtOZWVkc0tNU0FOJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIHJ0dzg5IFVTQiBkcml2ZXIgcHJvYmUgcGF0aC4gV2hlbiBhIFVTQiBkZXZpY2UgaXMgYm91bmQgZHluYW1pY2FsbHkgdmlhIHN5c2ZzIChlLmcuLCB1c2luZyBgbmV3X2lkYCksIHRoZSBgaWQtXHUwMDNlZHJpdmVyX2luZm9gIGZpZWxkIGNhbiBiZSBOVUxMLiBUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIGBkZWZhdWx0X2luZm9gIGZhbGxiYWNrIHRvIGVuc3VyZSB0aGUgZHJpdmVyIGluZm8gc3RydWN0dXJlIGlzIGFsd2F5cyB2YWxpZC4gVGhpcyBwcmV2ZW50cyBhIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwgd2hpY2ggaXMgYWxyZWFkeSBjYXVnaHQgYnkgc3RhbmRhcmQga2VybmVsIGRlYnVnZ2luZyB0b29scyBhbmQgS0FTQU4uIFRoZSBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2Ugb3IgZXhwb3NlIGFueSB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcyBvciBpbmZvLWxlYWtzLCBzbyBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IG5lY2Vzc2FyeS4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMTlUMjA6MjI6MDUuOTc3NDg4NjZaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NDUwMzE3NzQwNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSVFc4OV84ODUxQlVcIixcbiAgICBcIlJUVzg5Xzg4NTJBVVwiLFxuICAgIFwiUlRXODlfODg1MkJVXCIsXG4gICAgXCJSVFc4OV84ODUyQ1VcIixcbiAgICBcIlJUVzg5Xzg5MjJBVVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJ0dzg4NTFidV9wcm9iZVwiLFxuICAgIFwicnR3ODg1MmF1X3Byb2JlXCIsXG4gICAgXCJydHc4ODUyYnVfcHJvYmVcIixcbiAgICBcInJ0dzg4NTJjdV9wcm9iZVwiLFxuICAgIFwicnR3ODkyMmF1X3Byb2JlXCIsXG4gICAgXCJydHc4OV91c2JfcHJvYmVcIlxuICBdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgcnR3ODkgVVNCIGRyaXZlciBwcm9iZSBwYXRoLiBXaGVuIGEgVVNCIGRldmljZSBpcyBib3VuZCBkeW5hbWljYWxseSB2aWEgc3lzZnMgKGUuZy4sIHVzaW5nIGBuZXdfaWRgKSwgdGhlIGBpZC1cXHUwMDNlZHJpdmVyX2luZm9gIGZpZWxkIGNhbiBiZSBOVUxMLiBUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIGBkZWZhdWx0X2luZm9gIGZhbGxiYWNrIHRvIGVuc3VyZSB0aGUgZHJpdmVyIGluZm8gc3RydWN0dXJlIGlzIGFsd2F5cyB2YWxpZC4gVGhpcyBwcmV2ZW50cyBhIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwgd2hpY2ggaXMgYWxyZWFkeSBjYXVnaHQgYnkgc3RhbmRhcmQga2VybmVsIGRlYnVnZ2luZyB0b29scyBhbmQgS0FTQU4uIFRoZSBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2Ugb3IgZXhwb3NlIGFueSB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcyBvciBpbmZvLWxlYWtzLCBzbyBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IG5lY2Vzc2FyeS5cIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVVNCIHByb2JlIGZ1bmN0aW9ucyBmb3IgbXVsdGlwbGUgUmVhbHRlayBydHc4OSB3aXJlbGVzcyBkcml2ZXJzIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgVVNCIGRldmljZSBJRCBkcml2ZXJfaW5mbyBpcyBOVUxMIChlLmcuLCB3aGVuIHByb2JlZCB2aWEgc3lzZnMgbmV3X2lkKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBkcml2ZXIgaW5pdGlhbGl6YXRpb24gcGF0aCB0aGF0IGlzIHJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdmlhIFVTQiBlbXVsYXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjA1Ljk3NzQ5NDgzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODIwMzI4MTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA2YzdlODJmODgyNDk4MTk1ODE2Yjg4MjhjNThlZDI1ZmZhNTA3MDdjXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgQXVnIDE5IDIwOjIyOjA1IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXFxuaW5kZXggMWU4MjcyMDVmMjU0MC4uNjY3MmViZTY4ZjE3MiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuY1xcbkBAIC01OSwxMCArNTksMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUxYnVfaWRfdGFibGVbXSA9IHtcXG4gfTtcXG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUxYnVfaWRfdGFibGUpO1xcbiBcXG4rc3RhdGljIGludCBydHc4ODUxYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuK1xcdFxcdFxcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcXG4re1xcbitcXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcXHUwMDI2cnR3ODlfODg1MWJ1X2luZm8pO1xcbit9XFxuK1xcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTFidV9kcml2ZXIgPSB7XFxuIFxcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXFxuIFxcdC5pZF90YWJsZSA9IHJ0d184ODUxYnVfaWRfdGFibGUsXFxuLVxcdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcXG4rXFx0LnByb2JlID0gcnR3ODg1MWJ1X3Byb2JlLFxcbiBcXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxcbiB9O1xcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MWJ1X2RyaXZlcik7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXFxuaW5kZXggMDY1ZjRlNWIxN2FmYS4uMWEyZTVkZmJhYWIzYyAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuY1xcbkBAIC03MywxMCArNzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYXVfaWRfdGFibGVbXSA9IHtcXG4gfTtcXG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYXVfaWRfdGFibGUpO1xcbiBcXG4rc3RhdGljIGludCBydHc4ODUyYXVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuK1xcdFxcdFxcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcXG4re1xcbitcXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcXHUwMDI2cnR3ODlfODg1MmF1X2luZm8pO1xcbit9XFxuK1xcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJhdV9kcml2ZXIgPSB7XFxuIFxcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXFxuIFxcdC5pZF90YWJsZSA9IHJ0d184ODUyYXVfaWRfdGFibGUsXFxuLVxcdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcXG4rXFx0LnByb2JlID0gcnR3ODg1MmF1X3Byb2JlLFxcbiBcXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxcbiB9O1xcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmF1X2RyaXZlcik7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXFxuaW5kZXggZGU3OWExOWEyODI0ZC4uNTUwZmM0YWM3YTIxZiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuY1xcbkBAIC03MywxMCArNzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYnVfaWRfdGFibGVbXSA9IHtcXG4gfTtcXG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYnVfaWRfdGFibGUpO1xcbiBcXG4rc3RhdGljIGludCBydHc4ODUyYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuK1xcdFxcdFxcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcXG4re1xcbitcXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcXHUwMDI2cnR3ODlfODg1MmJ1X2luZm8pO1xcbit9XFxuK1xcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJidV9kcml2ZXIgPSB7XFxuIFxcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXFxuIFxcdC5pZF90YWJsZSA9IHJ0d184ODUyYnVfaWRfdGFibGUsXFxuLVxcdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcXG4rXFx0LnByb2JlID0gcnR3ODg1MmJ1X3Byb2JlLFxcbiBcXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxcbiB9O1xcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmJ1X2RyaXZlcik7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXFxuaW5kZXggMmRlYzliODQ1NDgxNS4uNmY4NTJmNGE3MTNlMSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuY1xcbkBAIC0xMzMsMTAgKzEzMywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJjdV9pZF90YWJsZVtdID0ge1xcbiB9O1xcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJjdV9pZF90YWJsZSk7XFxuIFxcbitzdGF0aWMgaW50IHJ0dzg4NTJjdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcXG4rXFx0XFx0XFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxcbit7XFxuK1xcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFxcdTAwMjZydHc4OV84ODUyY3VfaW5mbyk7XFxuK31cXG4rXFxuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmN1X2RyaXZlciA9IHtcXG4gXFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcXG4gXFx0LmlkX3RhYmxlID0gcnR3Xzg4NTJjdV9pZF90YWJsZSxcXG4tXFx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxcbitcXHQucHJvYmUgPSBydHc4ODUyY3VfcHJvYmUsXFxuIFxcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXFxuIH07XFxuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyY3VfZHJpdmVyKTtcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcXG5pbmRleCA1NmM3OWIxZWM4NjVmLi4yY2QyYjc2ZDE5YWNmIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jXFxuQEAgLTc0LDEwICs3NCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg5MjJhdV9pZF90YWJsZVtdID0ge1xcbiB9O1xcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg5MjJhdV9pZF90YWJsZSk7XFxuIFxcbitzdGF0aWMgaW50IHJ0dzg5MjJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcXG4rXFx0XFx0XFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxcbit7XFxuK1xcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFxcdTAwMjZydHc4OV84OTIyYXVfaW5mbyk7XFxuK31cXG4rXFxuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODkyMmF1X2RyaXZlciA9IHtcXG4gXFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcXG4gXFx0LmlkX3RhYmxlID0gcnR3Xzg5MjJhdV9pZF90YWJsZSxcXG4tXFx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxcbitcXHQucHJvYmUgPSBydHc4OTIyYXVfcHJvYmUsXFxuIFxcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXFxuIH07XFxuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184OTIyYXVfZHJpdmVyKTtcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcXG5pbmRleCBhYWZhOGI5ZTkzZGZjLi5kYmFkNDJjMTc3NjFlIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jXFxuQEAgLTEyMDEsNyArMTIwMSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJ0dzg5X3VzYl9ncm91cCA9IHtcXG4gX19BVFRSSUJVVEVfR1JPVVBTKHJ0dzg5X3VzYik7XFxuIFxcbiBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxcbi1cXHRcXHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxcbitcXHRcXHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxcbitcXHRcXHQgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pXFxuIHtcXG4gXFx0Y29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICppbmZvO1xcbiBcXHRzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXY7XFxuQEAgLTEyMDksNiArMTIxMCw4IEBAIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuIFxcdGludCByZXQ7XFxuIFxcbiBcXHRpbmZvID0gKGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqKWlkLVxcdTAwM2Vkcml2ZXJfaW5mbztcXG4rXFx0aWYgKCFpbmZvKVxcbitcXHRcXHRpbmZvID0gZGVmYXVsdF9pbmZvO1xcbiBcXG4gXFx0cnR3ZGV2ID0gcnR3ODlfYWxsb2NfaWVlZTgwMjExX2h3KFxcdTAwMjZpbnRmLVxcdTAwM2VkZXYsXFxuIFxcdFxcdFxcdFxcdFxcdCAgc2l6ZW9mKHN0cnVjdCBydHc4OV91c2IpLCBpbmZvKTtcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcXG5pbmRleCBiZGYzMTI1NTk3NDM4Li5kMmFmMjlkMDY4ZjE5IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oXFxuQEAgLTk1LDcgKzk1LDggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcnR3ODlfdXNiICpydHc4OV91c2JfcHJpdihzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYpXFxuIH1cXG4gXFxuIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuLVxcdFxcdCAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpO1xcbitcXHRcXHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxcbitcXHRcXHQgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pO1xcbiB2b2lkIHJ0dzg5X3VzYl9kaXNjb25uZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKTtcXG4gXFxuICNlbmRpZlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjowNi41NjAzMjU3NjNaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjo0NDM5MDkxNjk4NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSVFc4OV84ODUxQlVcIixcbiAgICBcIlJUVzg5Xzg4NTJBVVwiLFxuICAgIFwiUlRXODlfODg1MkJVXCIsXG4gICAgXCJSVFc4OV84ODUyQ1VcIixcbiAgICBcIlJUVzg5Xzg5MjJBVVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJ0dzg4NTFidV9wcm9iZVwiLFxuICAgIFwicnR3ODg1MmF1X3Byb2JlXCIsXG4gICAgXCJydHc4ODUyYnVfcHJvYmVcIixcbiAgICBcInJ0dzg4NTJjdV9wcm9iZVwiLFxuICAgIFwicnR3ODkyMmF1X3Byb2JlXCIsXG4gICAgXCJydHc4OV91c2JfcHJvYmVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVVNCIHByb2JlIGZ1bmN0aW9ucyBmb3IgbXVsdGlwbGUgUmVhbHRlayBydHc4OSB3aXJlbGVzcyBkcml2ZXJzIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgVVNCIGRldmljZSBJRCBkcml2ZXJfaW5mbyBpcyBOVUxMIChlLmcuLCB3aGVuIHByb2JlZCB2aWEgc3lzZnMgbmV3X2lkKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBkcml2ZXIgaW5pdGlhbGl6YXRpb24gcGF0aCB0aGF0IGlzIHJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdmlhIFVTQiBlbXVsYXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDZjN2U4MmY4ODI0OTgxOTU4MTZiODgyOGM1OGVkMjVmZmE1MDcwN2NcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEF1ZyAxOSAyMDoyMjowNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG5pbmRleCAxZTgyNzIwNWYyNTQwLi42NjcyZWJlNjhmMTcyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuY1xuQEAgLTU5LDEwICs1OSwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTFidV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUxYnVfaWRfdGFibGUpO1xuIFxuK3N0YXRpYyBpbnQgcnR3ODg1MWJ1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuK1x0XHRcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcbit7XG4rXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84ODUxYnVfaW5mbyk7XG4rfVxuK1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MWJ1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MWJ1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuK1x0LnByb2JlID0gcnR3ODg1MWJ1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUxYnVfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuY1xuaW5kZXggMDY1ZjRlNWIxN2FmYS4uMWEyZTVkZmJhYWIzYyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmNcbkBAIC03MywxMCArNzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYXVfaWRfdGFibGVbXSA9IHtcbiB9O1xuIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmF1X2lkX3RhYmxlKTtcbiBcbitzdGF0aWMgaW50IHJ0dzg4NTJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbitcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4re1xuK1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmF1X2luZm8pO1xuK31cbitcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJhdV9kcml2ZXIgPSB7XG4gXHQubmFtZSA9IEtCVUlMRF9NT0ROQU1FLFxuIFx0LmlkX3RhYmxlID0gcnR3Xzg4NTJhdV9pZF90YWJsZSxcbi1cdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcbitcdC5wcm9iZSA9IHJ0dzg4NTJhdV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmF1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmNcbmluZGV4IGRlNzlhMTlhMjgyNGQuLjU1MGZjNGFjN2EyMWYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXG5AQCAtNzMsMTAgKzczLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmJ1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJidV9pZF90YWJsZSk7XG4gXG4rc3RhdGljIGludCBydHc4ODUyYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4rXHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK3tcbitcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFx1MDAyNnJ0dzg5Xzg4NTJidV9pbmZvKTtcbit9XG4rXG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyYnVfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184ODUyYnVfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4rXHQucHJvYmUgPSBydHc4ODUyYnVfcHJvYmUsXG4gXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxuIH07XG4gbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTJidV9kcml2ZXIpO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG5pbmRleCAyZGVjOWI4NDU0ODE1Li42Zjg1MmY0YTcxM2UxIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuY1xuQEAgLTEzMywxMCArMTMzLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmN1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJjdV9pZF90YWJsZSk7XG4gXG4rc3RhdGljIGludCBydHc4ODUyY3VfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4rXHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK3tcbitcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFx1MDAyNnJ0dzg5Xzg4NTJjdV9pbmZvKTtcbit9XG4rXG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyY3VfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184ODUyY3VfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4rXHQucHJvYmUgPSBydHc4ODUyY3VfcHJvYmUsXG4gXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxuIH07XG4gbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTJjdV9kcml2ZXIpO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jXG5pbmRleCA1NmM3OWIxZWM4NjVmLi4yY2QyYjc2ZDE5YWNmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuY1xuQEAgLTc0LDEwICs3NCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg5MjJhdV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184OTIyYXVfaWRfdGFibGUpO1xuIFxuK3N0YXRpYyBpbnQgcnR3ODkyMmF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuK1x0XHRcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcbit7XG4rXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84OTIyYXVfaW5mbyk7XG4rfVxuK1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODkyMmF1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODkyMmF1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuK1x0LnByb2JlID0gcnR3ODkyMmF1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184OTIyYXVfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuY1xuaW5kZXggYWFmYThiOWU5M2RmYy4uZGJhZDQyYzE3NzYxZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcbkBAIC0xMjAxLDcgKzEyMDEsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBydHc4OV91c2JfZ3JvdXAgPSB7XG4gX19BVFRSSUJVVEVfR1JPVVBTKHJ0dzg5X3VzYik7XG4gXG4gaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50Zixcbi1cdFx0ICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcbitcdFx0ICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCxcbitcdFx0ICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKVxuIHtcbiBcdGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqaW5mbztcbiBcdHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldjtcbkBAIC0xMjA5LDYgKzEyMTAsOCBAQCBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuIFx0aW50IHJldDtcbiBcbiBcdGluZm8gPSAoY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICopaWQtXHUwMDNlZHJpdmVyX2luZm87XG4rXHRpZiAoIWluZm8pXG4rXHRcdGluZm8gPSBkZWZhdWx0X2luZm87XG4gXG4gXHRydHdkZXYgPSBydHc4OV9hbGxvY19pZWVlODAyMTFfaHcoXHUwMDI2aW50Zi1cdTAwM2VkZXYsXG4gXHRcdFx0XHRcdCAgc2l6ZW9mKHN0cnVjdCBydHc4OV91c2IpLCBpbmZvKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaFxuaW5kZXggYmRmMzEyNTU5NzQzOC4uZDJhZjI5ZDA2OGYxOSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcbkBAIC05NSw3ICs5NSw4IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHJ0dzg5X3VzYiAqcnR3ODlfdXNiX3ByaXYoc3RydWN0IHJ0dzg5X2RldiAqcnR3ZGV2KVxuIH1cbiBcbiBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuLVx0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKTtcbitcdFx0ICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCxcbitcdFx0ICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKTtcbiB2b2lkIHJ0dzg5X3VzYl9kaXNjb25uZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKTtcbiBcbiAjZW5kaWZcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjA2LjU2MDMyNzA5M1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjcyMjQwNjcyMjYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgUmVhbHRlayBXaXJlbGVzcyBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciB0aGUgYHJ0dzg5YCB3aXJlbGVzcyBkcml2ZXIsIHNwZWNpZmljYWxseSBkZWFsaW5nIHdpdGggUmVhbHRlayBVU0IgZGV2aWNlcy4gSXQgbG9va3MgbGlrZSB0aGV5J3ZlIHJlZmFjdG9yZWQgdGhlIHByb2JlIGZ1bmN0aW9uLCBgcnR3ODlfdXNiX3Byb2JlYC4gQmVmb3JlLCBpdCB3YXMgZGlyZWN0bHkgdXNlZCBhcyB0aGUgcHJvYmUgY2FsbGJhY2sgaW4gdGhlIGB1c2JfZHJpdmVyYCBzdHJ1Y3R1cmUuIE5vdywgdGhleSd2ZSBhZGRlZCBkcml2ZXItc3BlY2lmaWMgcHJvYmUgZnVuY3Rpb25zLCBsaWtlIGBydHc4ODUxYnVfcHJvYmVgLCB0aGF0ICp0aGVuKiBjYWxsIGBydHc4OV91c2JfcHJvYmVgIGFuZCBwYXNzIGluIGEgZGVmYXVsdCBgcnR3ODlfZHJpdmVyX2luZm9gIHN0cnVjdC5cblxuRXNzZW50aWFsbHksIHRoZXkncmUgaGFuZGxpbmcgY2FzZXMgd2hlcmUgdGhlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgbWlnaHQgYmUgYE5VTExgLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCB0aGluZ3MgbGlrZSBzeXNmcyBgbmV3X2lkYCBwcm9iaW5nLCBvciBvdGhlciBtZWNoYW5pc21zIHRoYXQgZG9uJ3Qgc2V0IHRoaXMgZmllbGQgY29ycmVjdGx5LiBJdCdzIGEgc2Vuc2libGUgZml4LCBjbGVhbmluZyB1cCBwb3RlbnRpYWwgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlcywgSSBnZXQgaXQuXG5cbk5vdywgdGhlIGltcG9ydGFudCBxdWVzdGlvbiDigJMgaXMgdGhpcyBwYXRjaCB3b3J0aCBmdXp6aW5nPyBMZXQncyBzZWUuLi4gVGhlIGNoYW5nZSBpcyBpbiB0aGUgYC5wcm9iZWAgZnVuY3Rpb24gb2YgYSBVU0IgZHJpdmVyLCB3aGljaCBtZWFucyBpdCBzaG91bGQgYmUgcmVhY2hhYmxlIHVzaW5nIHRoZSBzdGFuZGFyZCBVU0IgZnV6emluZyB0ZWNobmlxdWVzLCBsaWtlIHRoZSBkdW1teSBIQ0Qgb3Igc3l6a2FsbGVyLiBQcm9iZSBmdW5jdGlvbnMgYXJlIGFsd2F5cyBnb29kIHRhcmdldHMuIEFzc3VtaW5nIEkndmUgZ290IGEgZGVjZW50IHZpcnR1YWxpemVkIGVudmlyb25tZW50IHdpdGggVVNCIGVtdWxhdGlvbiwgdGhpcyBzaG91bGQgYmUgYW4gYWNoaWV2YWJsZSB0YXJnZXQuIFRoZSBhZGRlZCBmdW5jdGlvbnMgbGlrZSBgcnR3ODg1MWJ1X3Byb2JlYCBhbmQgdGhlIG1vZGlmaWVkIGBydHc4OV91c2JfcHJvYmVgIGFyZSB0aGUgc3BlY2lmaWMgcGFydHMgSSdkIGJlIGxvb2tpbmcgYXQuXG5cbkFscmlnaHQsIHRpbWUgdG8gY3JhY2sgb3BlbiB0aGUgS2NvbmZpZyBhbmQgZmlndXJlIG91dCB3aGljaCBjb25maWd1cmF0aW9ucyBJIG5lZWQgdG8gZW5hYmxlIHRvIGdldCB0aGVzZSBkcml2ZXJzIGJ1aWx0LiBJIG5lZWQgdG8gbWFrZSBzdXJlIEknbSBmdWxseSBlbmFibGluZyB0aGUgcmVsZXZhbnQgYHJ0dzg5YCBjb25maWd1cmF0aW9ucy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDQxNCwiT3V0cHV0VG9rZW5zIjo0MSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM2OCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjEzLjc4NDM5NjYwOVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0ODg4OTQwOSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgUlRXODlcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgT1IgQlNELTMtQ2xhdXNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjI6bWVudWNvbmZpZyBSVFc4OVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zLVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDgwMi4xMWF4IHdpcmVsZXNzIGNoaXBzIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc9MTE9aWYgUlRXODlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjEzOmNvbmZpZyBSVFc4OV9DT1JFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE0LVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE3OmNvbmZpZyBSVFc4OV9QQ0lcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTgtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjIwOmNvbmZpZyBSVFc4OV9VU0JcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjEtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjIzOmNvbmZpZyBSVFc4OV84ODUxQlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yNC1cXHR0cmlzdGF0ZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjY6Y29uZmlnIFJUVzg5Xzg4NTJBXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTI3LVxcdHRyaXN0YXRlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTI4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyOTpjb25maWcgUlRXODlfODg1MkJfQ09NTU9OXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTMwLVxcdHRyaXN0YXRlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTMxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzozMjpjb25maWcgUlRXODlfODg1MkJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzMtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjM1OmNvbmZpZyBSVFc4OV84ODUyQlRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzYtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjM4OmNvbmZpZyBSVFc4OV84ODUyQ1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zOS1cXHR0cmlzdGF0ZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy00MC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6NDE6Y29uZmlnIFJUVzg5Xzg5MjJBXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTQyLVxcdHRyaXN0YXRlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTQzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo0NDpjb25maWcgUlRXODlfODkyMkRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDUtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjQ3OmNvbmZpZyBSVFc4OV84ODUxQkVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDgtXFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODg1MUJFIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo1ODpjb25maWcgUlRXODlfODg1MUJVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU5LVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTFCVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy02OC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6Njk6Y29uZmlnIFJUVzg5Xzg4NTJBRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy03MC1cXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUyQUUgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNzktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjgwOmNvbmZpZyBSVFc4OV84ODUyQVVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctODEtXFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODg1MkFVIFVTQiB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTkwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo5MTpjb25maWcgUlRXODlfODg1MkJFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTkyLVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTJCRSBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMDItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjEwMzpjb25maWcgUlRXODlfODg1MkJVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEwNC1cXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUyQlUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTE0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxMTU6Y29uZmlnIFJUVzg5Xzg4NTJCVEVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTE2LVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTJCRS1WVCBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMjYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjEyNzpjb25maWcgUlRXODlfODg1MkNFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEyOC1cXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUyQ0UgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDZFKSBhZGFwdGVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEzNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTM4OmNvbmZpZyBSVFc4OV84ODUyQ1VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTM5LVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTJDVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNkUpIGFkYXB0ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTQ4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxNDk6Y29uZmlnIFJUVzg5Xzg5MjJBRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNTAtXFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODkyMkFFLzg5MjJBRS1WUyBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNykgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNjItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE2Mzpjb25maWcgUlRXODlfODkyMkFVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE2NC1cXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4OTIyQVUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDcpIGFkYXB0ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTc0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxNzU6Y29uZmlnIFJUVzg5Xzg5MjJERVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNzYtXFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODkyMkRFLzg5MjJERS1WUyBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNykgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xODYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE4Nzpjb25maWcgUlRXODlfREVCVUdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTg4LVxcdGJvb2xcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTg5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxOTA6Y29uZmlnIFJUVzg5X0RFQlVHTVNHXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE5MS1cXHRib29sIFxcXCJSZWFsdGVrIHJ0dzg5IGRlYnVnIG1lc3NhZ2Ugc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xOTgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE5OTpjb25maWcgUlRXODlfREVCVUdGU1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMDAtXFx0Ym9vbCBcXFwiUmVhbHRlayBydHc4OSBkZWJ1Z2ZzIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjA3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMDg6Y29uZmlnIFJUVzg5X0xFRFNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjA5LVxcdGJvb2xcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjIxNTpjb25maWcgUlRXODlfTEVEU19NQ1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTYtXFx0Ym9vbFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjoxMy44MzMyOTI5MThaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyMTExMjAzOTA5OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgUlRXODkgVVNCIERyaXZlciBDb25maWd1cmF0aW9ucyoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoZXNlIGNvbmZpZ3VyYXRpb25zOiBSVFc4OV84ODUxQlUsIFJUVzg5Xzg4NTJBVSwgUlRXODlfODg1MkJVLCBSVFc4OV84ODUyQ1UsIGFuZCBSVFc4OV84OTIyQVUuIEltbWVkaWF0ZWx5LCBJIHJlY29nbml6ZSB0aGVzZSBhcyBVU0IgZHJpdmVycy4gVGhhdCdzIGdvb2QsIHNpbXBsaWZpZXMgdGhpbmdzIGEgYml0LiBJIHNlZSB0aGUgYXNzb2NpYXRlZCBwcm9iZSBmdW5jdGlvbnM6IGBydHc4ODUxYnVfcHJvYmVgLCBgcnR3ODg1MmF1X3Byb2JlYCwgYHJ0dzg4NTJidV9wcm9iZWAsIGBydHc4ODUyY3VfcHJvYmVgLCBhbmQgYHJ0dzg5MjJhdV9wcm9iZWAuIEFuZCBJIGFsc28gc2VlIGEgYHJ0dzg5X3VzYl9wcm9iZWAgZnVuY3Rpb24uXG5cbk5vdywgbXkgaW1tZWRpYXRlIHRob3VnaHQgaXMgdG8gY2hlY2sgZm9yIGFueSBkZXBlbmRlbmNpZXMgcmVsYXRlZCB0byB0aGUgUlRXODkgY29yZS4gQmVmb3JlIEkgZGl2ZSBkZWVwZXIgaW50byB0aGUgc3BlY2lmaWNzIG9mIGVhY2ggcHJvYmUgZnVuY3Rpb24sIEkgbmVlZCB0byB1bmRlcnN0YW5kIGlmIFJUVzg5IHJlbGllcyBvbiBhbnkgY29tbW9uIG1vZHVsZXMgb3IgaW5mcmFzdHJ1Y3R1cmUuIFRoaXMgd2lsbCBkaWN0YXRlIGhvdyBJIGFwcHJvYWNoIHVuZGVyc3RhbmRpbmcgdGhlIGludGVyY29ubmVjdGlvbnMgYW5kIG92ZXJhbGwgYXJjaGl0ZWN0dXJlIG9mIHRoZSBSVFc4OSBVU0IgZHJpdmVycy5cblxuXG4iLCJJbnB1dFRva2VucyI6Nzg1MiwiT3V0cHV0VG9rZW5zIjo0MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE1MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjozNC45NDUzMzg1NDdaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODY5MDA5MjgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiZGVwZW5kcyBvbi4qUlRXODlcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz0xOTA9Y29uZmlnIFJUVzg5X0RFQlVHTVNHXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE5MS1cXHRib29sIFxcXCJSZWFsdGVrIHJ0dzg5IGRlYnVnIG1lc3NhZ2Ugc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTkyOlxcdGRlcGVuZHMgb24gUlRXODlfQ09SRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xOTMtXFx0c2VsZWN0IFJUVzg5X0RFQlVHXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc9MTk5PWNvbmZpZyBSVFc4OV9ERUJVR0ZTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIwMC1cXHRib29sIFxcXCJSZWFsdGVrIHJ0dzg5IGRlYnVnZnMgc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjAxOlxcdGRlcGVuZHMgb24gUlRXODlfQ09SRSBcXHUwMDI2XFx1MDAyNiBDRkc4MDIxMV9ERUJVR0ZTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIwMi1cXHRzZWxlY3QgUlRXODlfREVCVUdcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz0yMDg9Y29uZmlnIFJUVzg5X0xFRFNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjA5LVxcdGJvb2xcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjEwOlxcdGRlcGVuZHMgb24gUlRXODlfQ09SRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTEtXFx0ZGVwZW5kcyBvbiBMRURTX0NMQVNTPXkgfHwgTEVEU19DTEFTUz1NQUM4MDIxMVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnPTIxNT1jb25maWcgUlRXODlfTEVEU19NQ1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTYtXFx0Ym9vbFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMTc6XFx0ZGVwZW5kcyBvbiBSVFc4OV9MRURTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIxOC1cXHRkZXBlbmRzIG9uIExFRFNfQ0xBU1NfTVVMVElDT0xPUlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjozNS4wMzIyNDg2NzRaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MjUxOTE4MTYzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkRlcGVuZGVuY3kgRGVlcCBEaXZlOiBSVFc4OV84ODUxQlUqKlxuXG5Pa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eSB3aXRoIFJUVzg5Xzg4NTFCVS4gRmlyc3QgdGhpbmdzIGZpcnN0LCBsZXQncyBuYWlsIGRvd24gdGhvc2UgZGVwZW5kZW5jaWVzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBldmVyeXRoaW5nIHRoYXQgdGhpcyBtb2R1bGUgcmVsaWVzIG9uLCBkb3duIHRvIHRoZSBmaXJtd2FyZSBsZXZlbCwgYW5kIGFsc28gYW55IHJlbGF0aW9uc2hpcHMgaXQgaGFzIHdpdGggb3RoZXIgcGFydHMgb2YgdGhlIHN5c3RlbS4gV2UncmUgdGFsa2luZyBhYm91dCBldmVyeXRoaW5nIGZyb20gdGhlIGtlcm5lbCBkcml2ZXJzIGFuZCBhbnkgYXNzb2NpYXRlZCBIQUxzLCB1cCB0byBhbnkgdXNlci1zcGFjZSBhcHBsaWNhdGlvbnMgdGhhdCBpbnRlcmZhY2Ugd2l0aCBpdC4gSSBuZWVkIHRvIGJlIHN1cmUgdGhpcyBidWlsZCBvciB0aGUgc3lzdGVtIGFzIGEgd2hvbGUgZG9lc24ndCBicmVhayBkdWUgdG8gYSBiYWQgcGFja2FnZSBkZXBlbmRlbmN5LlxuXG5JIHdhbnQgdG8gbG9vayBmb3IgYm90aCBkaXJlY3QgYW5kIHRyYW5zaXRpdmUgZGVwZW5kZW5jaWVzOyBJIGNhbm5vdCB0YWtlIGFueXRoaW5nIGZvciBncmFudGVkLiBBcmUgdGhlcmUgYW55IGtub3duIGNvbmZsaWN0cz8gQXJlIHdlIHB1bGxpbmcgaW4gdGhlIHJpZ2h0IHZlcnNpb25zIG9mIHRob3NlIGRlcGVuZGVuY2llcz8gQXJlIHdlIG1pc3NpbmcgYW55PyBJJ20gdGhpbmtpbmcgYWJvdXQgYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMsIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLCBhbmQgb2YgY291cnNlLCB0aG9zZSBjcnVjaWFsIG1vZHVsZS1zcGVjaWZpYyBkZXBlbmRlbmNpZXMgd2l0aGluIHRoZSBmaXJtd2FyZSBpbWFnZSBpdHNlbGYuIEFueSBwb3RlbnRpYWwgc2VjdXJpdHkgaW1wbGljYXRpb25zIG5lZWQgdG8gYmUgZXZhbHVhdGVkIGR1cmluZyB0aGlzIGNoZWNrLCBhcyB3ZWxsLlxuXG5JIHNob3VsZCBhbHNvIGNvbnNpZGVyIHRoZSBidWlsZCBlbnZpcm9ubWVudC4gV2hhdCB0b29scyBhcmUgdXNlZCBmb3IgYnVpbGRpbmcgUlRXODlfODg1MUJVPyBIb3cgYXJlIHRoZSBkZXBlbmRlbmNpZXMgbWFuYWdlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3M/IEknbGwgcHJvYmFibHkgc3RhcnQgd2l0aCB0aGUgbW9kdWxlJ3MgbWFrZWZpbGUgb3IgYnVpbGQgc3lzdGVtIGNvbmZpZ3VyYXRpb24sIHRyYWNlIGl0IGJhY2sgZnJvbSB0aGVyZSwgYW5kIG1hcCBhbGwgb2YgdGhlc2UgaW50ZXJhY3Rpb25zIG91dCBpbiBteSBoZWFkLiBObyBzdG9uZSB1bnR1cm5lZC5cblxuXG4iLCJJbnB1dFRva2VucyI6ODgyNSwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjM5LjI4NDE3MzAwOFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDU1OTEyOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgUlRXODlfODg1MUJVXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc9NDc9Y29uZmlnIFJUVzg5Xzg4NTFCRVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo1ODpjb25maWcgUlRXODlfODg1MUJVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU5LVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTFCVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTlUMjA6MjI6MzkuMzQ0NzQzNzA2WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTU1MTYwODAzNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMuIEhlcmUncyBteSB0YWtlIG9uIHRob3NlIGluc3RydWN0aW9ucywgYXMgaWYgdGhleSdyZSBteSBpbnRlcm5hbCB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIENvZGUgKFNwZWNpZmljYWxseSBBcm91bmQgTGluZSA1OCkqKlxuXG5BbHJpZ2h0LCBzbyBJJ20gYmVpbmcgdG9sZCB0byBmb2N1cyBvbiBhIHNwZWNpZmljIGFyZWEgd2l0aGluIHRoZSBmaWxlLCBuYW1lbHkgYXJvdW5kIGxpbmUgNTguIE15IGZpcnN0IHRob3VnaHQgaXMsIHdoeSB0aGF0IHBhcnRpY3VsYXIgbGluZT8gSXMgdGhlcmUgc29tZXRoaW5nIHNpZ25pZmljYW50IGhhcHBlbmluZyB0aGVyZT8gSXMgaXQgYSBwb3RlbnRpYWwgc3RhcnRpbmcgcG9pbnQgZm9yIGRlYnVnZ2luZywgYSBjcnVjaWFsIGNhbGN1bGF0aW9uLCBvciBwZXJoYXBzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhIHNwZWNpZmljIGFsZ29yaXRobT8gTXkgeWVhcnMgb2YgZXhwZXJpZW5jZSB0ZWxsIG1lIGxpbmUgbnVtYmVycyBvZnRlbiBhY3QgYXMgaW5kaWNhdG9ycy4gU29tZW9uZSdzIGRyYXduIG15IGF0dGVudGlvbiB0aGVyZSwgc28gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlICp3aHkqIGJlaGluZCB0aGF0IGRpcmVjdGl2ZS4gSSdsbCBhcHByb2FjaCBpdCB3aXRoIGEgbGV2ZWwgb2YgZm9jdXNlZCBzY3J1dGlueS4gTGV0J3Mgc2VlIHdoYXQgdGhhdCBzZWN0aW9uIG9mIHRoZSBjb2RlIHJldmVhbHMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBjb250ZXh0LiBNYXliZSBpdCBoYXMgdG8gZG8gd2l0aCBhbiBpc3N1ZSwgc29tZSBkYXRhIHRoYXQgSSB3YXMgbG9va2luZyBhdC4uLiBJJ2xsIGtlZXAgYW4gb3BlbiBtaW5kIGFuZCBwcmVwYXJlIHRvIHRyYWNlIHRoZSBsb2dpYy4gTGluZSA1OCwgaGVyZSBJIGNvbWUhXG5cblxuIiwiSW5wdXRUb2tlbnMiOjkzNDUsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjo0NC44OTYzNTY5ODFaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTEwNDUwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiA1MCxcbiAgXCJMaW5lQ291bnRcIjogNTBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICA1MDpcXHRcXHRzZWxlY3QgUlRXODlfQ09SRVxcbiAgNTE6XFx0XFx0c2VsZWN0IFJUVzg5X1BDSVxcbiAgNTI6XFx0XFx0c2VsZWN0IFJUVzg5Xzg4NTFCXFxuICA1MzpcXHRcXHRoZWxwXFxuICA1NDpcXHRcXHQgIFNlbGVjdCB0aGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBzdXBwb3J0IGZvciA4ODUxQkUgY2hpcHNldFxcbiAgNTU6XFx0XFxuICA1NjpcXHRcXHQgIDgwMi4xMWF4IFBDSWUgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcbiAgNTc6XFx0XFxuICA1ODpcXHRjb25maWcgUlRXODlfODg1MUJVXFxuICA1OTpcXHRcXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUxQlUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXFwiXFxuICA2MDpcXHRcXHRkZXBlbmRzIG9uIFVTQlxcbiAgNjE6XFx0XFx0c2VsZWN0IFJUVzg5X0NPUkVcXG4gIDYyOlxcdFxcdHNlbGVjdCBSVFc4OV9VU0JcXG4gIDYzOlxcdFxcdHNlbGVjdCBSVFc4OV84ODUxQlxcbiAgNjQ6XFx0XFx0aGVscFxcbiAgNjU6XFx0XFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MUJVIGNoaXBzZXRcXG4gIDY2OlxcdFxcbiAgNjc6XFx0XFx0ICA4MDIuMTFheCBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcbiAgNjg6XFx0XFxuICA2OTpcXHRjb25maWcgUlRXODlfODg1MkFFXFxuICA3MDpcXHRcXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUyQUUgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXFwiXFxuICA3MTpcXHRcXHRkZXBlbmRzIG9uIFBDSVxcbiAgNzI6XFx0XFx0c2VsZWN0IFJUVzg5X0NPUkVcXG4gIDczOlxcdFxcdHNlbGVjdCBSVFc4OV9QQ0lcXG4gIDc0OlxcdFxcdHNlbGVjdCBSVFc4OV84ODUyQVxcbiAgNzU6XFx0XFx0aGVscFxcbiAgNzY6XFx0XFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MkFFIGNoaXBzZXRcXG4gIDc3OlxcdFxcbiAgNzg6XFx0XFx0ICA4MDIuMTFheCBQQ0llIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXG4gIDc5OlxcdFxcbiAgODA6XFx0Y29uZmlnIFJUVzg5Xzg4NTJBVVxcbiAgODE6XFx0XFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODg1MkFVIFVTQiB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXFxcIlxcbiAgODI6XFx0XFx0ZGVwZW5kcyBvbiBVU0JcXG4gIDgzOlxcdFxcdHNlbGVjdCBSVFc4OV9DT1JFXFxuICA4NDpcXHRcXHRzZWxlY3QgUlRXODlfVVNCXFxuICA4NTpcXHRcXHRzZWxlY3QgUlRXODlfODg1MkFcXG4gIDg2OlxcdFxcdGhlbHBcXG4gIDg3OlxcdFxcdCAgU2VsZWN0IHRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIHN1cHBvcnQgZm9yIDg4NTJBVSBjaGlwc2V0XFxuICA4ODpcXHRcXG4gIDg5OlxcdFxcdCAgODAyLjExYXggVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXG4gIDkwOlxcdFxcbiAgOTE6XFx0Y29uZmlnIFJUVzg5Xzg4NTJCRVxcbiAgOTI6XFx0XFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODg1MkJFIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXFxcIlxcbiAgOTM6XFx0XFx0ZGVwZW5kcyBvbiBQQ0lcXG4gIDk0OlxcdFxcdHNlbGVjdCBSVFc4OV9DT1JFXFxuICA5NTpcXHRcXHRzZWxlY3QgUlRXODlfUENJXFxuICA5NjpcXHRcXHRzZWxlY3QgUlRXODlfODg1MkJcXG4gIDk3OlxcdFxcdHNlbGVjdCBSVFc4OV84ODUyQl9DT01NT05cXG4gIDk4OlxcdFxcdGhlbHBcXG4gIDk5OlxcdFxcdCAgU2VsZWN0IHRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIHN1cHBvcnQgZm9yIDg4NTJCRSBjaGlwc2V0XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjQ0Ljg5NjQ3MjU2MVoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1OTQ1OTYyOTYyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIHRoZSBEcml2ZXIgUHJvYmUgUGF0aCBGaXgqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGVzZSBjb25maWd1cmF0aW9uczogUlRXODlfODg1MUJVLCBSVFc4OV84ODUyQVUsIFJUVzg5Xzg4NTJCVSwgUlRXODlfODg1MkNVLCBSVFc4OV84OTIyQVUsIFJUVzg5X1VTQiwgYW5kIFJUVzg5X0NPUkUuIEknbSBnb2luZyB0byBtYWtlIHN1cmUgdG8gaW5jbHVkZSB0aG9zZSBpbiBteSBhc3Nlc3NtZW50LlxuXG5UaGUga2V5IGZ1bmN0aW9ucyBoZXJlIGFyZSB0aGUgYHJ0dypwcm9iZWAgZnVuY3Rpb25zIOKAkyBzcGVjaWZpY2FsbHkgYHJ0dzg4NTFidV9wcm9iZWAsIGBydHc4ODUyYXVfcHJvYmVgLCBgcnR3ODg1MmJ1X3Byb2JlYCwgYHJ0dzg4NTJjdV9wcm9iZWAsIGBydHc4OTIyYXVfcHJvYmVgLCBhbmQgYHJ0dzg5X3VzYl9wcm9iZWAuIFRob3NlIGFyZSB0aGUgZW50cnkgcG9pbnRzIEkgbmVlZCB0byBzY3J1dGluaXplLlxuXG5UaGlzIGxvb2tzIGxpa2UgYSBmdW5jdGlvbmFsIGNoYW5nZSDigJMgYSBwb3RlbnRpYWwgZml4IGZvciBhIGZhaXJseSBuYXN0eSBidWcgaW4gdGhlIGRyaXZlciBwcm9iZSBwYXRoIHdoZXJlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgbWlnaHQgYmUgbnVsbC4gQW55IHRpbWUgeW91J3JlIHRvdWNoaW5nIHByb2JlIGNvZGUsIGl0J3Mgd29ydGggYSBkZWVwIGRpdmUsIGFuZCBmaXhpbmcgYSBgTlVMTGAgcG9pbnRlciBkZXJlZmVyZW5jZSBpcyBlc3BlY2lhbGx5IGNyaXRpY2FsLiBUaGlzIHNjcmVhbXMgXCJ2dWxuZXJhYmxlIVwiIHRvIG1lLiBUaGlzIG5lZWRzIHNvbWUgc2VyaW91cyBmdXp6aW5nIHRvIG1ha2Ugc3VyZSB0aGlzIGZpeCBpcyBhY3R1YWxseSBjb3JyZWN0IGFuZCBkb2Vzbid0IGludHJvZHVjZSBhbnkgbmV3IGlzc3VlcyBvciBleHBvc2UgdGhlIHN5c3RlbSB0byB2dWxuZXJhYmlsaXRpZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjEwMzczLCJPdXRwdXRUb2tlbnMiOjIzMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE4NCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjUwLjg0MjQzOTg5M1oiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwODc5NTQ5NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiUlRXODlfODg1MUJVXCIsXG4gICAgXCJSVFc4OV84ODUyQVVcIixcbiAgICBcIlJUVzg5Xzg4NTJCVVwiLFxuICAgIFwiUlRXODlfODg1MkNVXCIsXG4gICAgXCJSVFc4OV84OTIyQVVcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJydHc4ODUxYnVfcHJvYmVcIixcbiAgICBcInJ0dzg4NTJhdV9wcm9iZVwiLFxuICAgIFwicnR3ODg1MmJ1X3Byb2JlXCIsXG4gICAgXCJydHc4ODUyY3VfcHJvYmVcIixcbiAgICBcInJ0dzg5MjJhdV9wcm9iZVwiLFxuICAgIFwicnR3ODlfdXNiX3Byb2JlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFVTQiBwcm9iZSBmdW5jdGlvbnMgZm9yIG11bHRpcGxlIFJlYWx0ZWsgcnR3ODkgd2lyZWxlc3MgZHJpdmVycyB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIFVTQiBkZXZpY2UgSUQgZHJpdmVyX2luZm8gaXMgTlVMTCAoZS5nLiwgd2hlbiBwcm9iZWQgdmlhIHN5c2ZzIG5ld19pZCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgZHJpdmVyIGluaXRpYWxpemF0aW9uIHBhdGggdGhhdCBpcyByZWFjaGFibGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHZpYSBVU0IgZW11bGF0aW9uLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlJUVzg5Xzg4NTFCVVwiLFxuICAgIFwiUlRXODlfODg1MkFVXCIsXG4gICAgXCJSVFc4OV84ODUyQlVcIixcbiAgICBcIlJUVzg5Xzg4NTJDVVwiLFxuICAgIFwiUlRXODlfODkyMkFVXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwicnR3ODg1MWJ1X3Byb2JlXCIsXG4gICAgXCJydHc4ODUyYXVfcHJvYmVcIixcbiAgICBcInJ0dzg4NTJidV9wcm9iZVwiLFxuICAgIFwicnR3ODg1MmN1X3Byb2JlXCIsXG4gICAgXCJydHc4OTIyYXVfcHJvYmVcIixcbiAgICBcInJ0dzg5X3VzYl9wcm9iZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBVU0IgcHJvYmUgZnVuY3Rpb25zIGZvciBtdWx0aXBsZSBSZWFsdGVrIHJ0dzg5IHdpcmVsZXNzIGRyaXZlcnMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIHRoZSBVU0IgZGV2aWNlIElEIGRyaXZlcl9pbmZvIGlzIE5VTEwgKGUuZy4sIHdoZW4gcHJvYmVkIHZpYSBzeXNmcyBuZXdfaWQpLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGRyaXZlciBpbml0aWFsaXphdGlvbiBwYXRoIHRoYXQgaXMgcmVhY2hhYmxlIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyB2aWEgVVNCIGVtdWxhdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTlUMjA6MjI6NTAuOTUxMjUwNjlaIiwiU2VxIjoxMywiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJJZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk1MjkzOTc5MzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjo1MC45NTIwNjc5NVoiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoia21zYW4tZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjo5NTI4NTcxNzc3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIHJ0dzg5IFVTQiBkcml2ZXIgcHJvYmUgcGF0aC4gV2hlbiBhIFVTQiBkZXZpY2UgaXMgYm91bmQgZHluYW1pY2FsbHkgdmlhIHN5c2ZzIChlLmcuLCB1c2luZyBgbmV3X2lkYCksIHRoZSBgaWQtXFx1MDAzZWRyaXZlcl9pbmZvYCBmaWVsZCBjYW4gYmUgTlVMTC4gVGhlIHBhdGNoIGludHJvZHVjZXMgYSBgZGVmYXVsdF9pbmZvYCBmYWxsYmFjayB0byBlbnN1cmUgdGhlIGRyaXZlciBpbmZvIHN0cnVjdHVyZSBpcyBhbHdheXMgdmFsaWQuIFRoaXMgcHJldmVudHMgYSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIHdoaWNoIGlzIGFscmVhZHkgY2F1Z2h0IGJ5IHN0YW5kYXJkIGtlcm5lbCBkZWJ1Z2dpbmcgdG9vbHMgYW5kIEtBU0FOLiBUaGUgcGF0Y2ggZG9lcyBub3QgaW50cm9kdWNlIG9yIGV4cG9zZSBhbnkgdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3Mgb3IgaW5mby1sZWFrcywgc28gYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCBuZWNlc3NhcnkuXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIHNlY3VyaXR5IGVuZ2luZWVyIHNwZWNpYWxpemluZyBpbiBrZXJuZWwgbWVtb3J5XG5lcnJvciBkZXRlY3RvcnMgKEtBU0FOIGFuZCBLTVNBTikuIFlvdXIgam9iIGlzIHRvIHJldmlldyB0aGUgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZFxuZGV0ZXJtaW5lIGlmIHRoZSBjb2RlIGNoYW5nZXMganVzdGlmeSBzcGF3bmluZyBhIGRlZGljYXRlZCBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKVxuZnV6emluZyBzZXNzaW9uIGluIGFkZGl0aW9uIHRvIHN0YW5kYXJkIEtBU0FOIGZ1enppbmcuXG5cbkNSSVRJQ0FMIERJU1RJTkNUSU9OIEJFVFdFRU4gS0FTQU4gQU5EIEtNU0FOOlxuLSBTdGFuZGFyZCBLQVNBTiBrZXJuZWwgYnVpbGRzICh1cHN0cmVhbS1hcHBhcm1vci1rYXNhbi5jb25maWcpIGFscmVhZHkgZW5hYmxlXG4gIGEgY29tcHJlaGVuc2l2ZSBzdWl0ZSBvZiBkZWJ1Z2dpbmcgdG9vbHMgYW5kIHNhbml0aXplcnMsIGluY2x1ZGluZyBLQVNBTlxuICAob3V0LW9mLWJvdW5kcyBhY2Nlc3NlcywgdXNlLWFmdGVyLWZyZWUsIGRvdWJsZSBmcmVlLCBpbnZhbGlkIGZyZWUpLCBMT0NLREVQXG4gIChsb2NraW5nIGJ1Z3MgYW5kIGRlYWRsb2NrcyksIFVCLXNhbml0aXplcnMsIGFuZCBtZW1vcnkgY29ycnVwdGlvbiBjaGVja3MuXG4tIEtNU0FOIChLZXJuZWxNZW1vcnlTYW5pdGl6ZXIpIGRldGVjdHMgcmVhZHMgb2YgVU5JTklUSUFMSVpFRCBtZW1vcnkgKHN0YWNrLCBoZWFwLFxuICBvciBwYWdlIGFsbG9jYXRpb25zKSBhbmQga2VybmVsLXRvLXVzZXIgbWVtb3J5IGluZm8tbGVha3MuXG5cblJ1bGU6IFRIRVJFIElTIE5PIFNFTlNFIElOIFJVTk5JTkcgQSBLTVNBTiBTRVNTSU9OIElGIEEgQlVHIENBTiBCRSBDQVVHSFQgQlkgS0FTQU4sXG5MT0NLREVQLCBPUiBPVEhFUiBTVEFOREFSRCBCVUcgREVURUNUT1JTLlxuQSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGluY3VycyBzaWduaWZpY2FudCByZXNvdXJjZSBjb3N0cy4gWW91IG11c3QgT05MWVxuc2V0IE5lZWRzS01TQU49dHJ1ZSBpZiB0aGUgY29kZSBjaGFuZ2VzIGludHJvZHVjZSBvciBleHBvc2UgVU5JTklUSUFMSVpFRCBNRU1PUlkgcmlza3NcbnRoYXQgYXJlIGRldGVjdGVkIE9OTFkgYnkgS01TQU4uXG5cbkxvb2sgaG9saXN0aWNhbGx5IGF0IHRoZSBwYXRjaCBzZXJpZXMgYW5kIHN1cnJvdW5kaW5nIGNvZGUuIEV2ZW4gaWYgbm8gZGlyZWN0XG51bmluaXRpYWxpemVkIGZpZWxkIGFjY2Vzc2VzIG9yIG5ldyBidWZmZXIgYWxsb2NhdGlvbnMgYXJlIGFkZGVkIGluIHRoZSBkaWZmIGl0c2VsZixcbmEgcGF0Y2ggbWF5IGFsdGVyIGNvbnRyb2wgZmxvdywgYm91bmRzIGNoZWNraW5nLCBvciBkYXRhIGxlbmd0aCBjYWxjdWxhdGlvbnMgaW4gd2F5c1xudGhhdCBjaGFuZ2UgaG93IHRoZSByZXN0IG9mIHRoZSBjb2RlIG9wZXJhdGVzIG9uIGV4aXN0aW5nIGJ1ZmZlcnMgKGUuZy4gYWxsb3dpbmdcbnVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBtZW1vcnkgdG8gYmUgcmVhZCwgY29waWVkIHRvIHVzZXIgc3BhY2UsIG9yIHVzZWQgaW4gY29udHJvbFxuZmxvdykuIERvIG5vdCBoZXNpdGF0ZSB0byB1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlLFxuY2FsbGVkIGZ1bmN0aW9ucywgYW5kIGNhbGxlcnMuXG5cblNldCBOZWVkc0tNU0FOPXRydWUgT05MWSBJRiB0aGUgcGF0Y2ggaW50cm9kdWNlcyBvciBtb2RpZmllczpcbjEuIEtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlciBzcGFjZSAodmlhIGNvcHlfdG9fdXNlciwgcHV0X3VzZXIsIG5ldGxpbmsgc2tiXG4gICBhdHRyaWJ1dGVzLCBpb2N0bCBvdXRwdXQgYXJndW1lbnRzLCBzb2NrZXQgb3B0aW9ucywgb3IgQlBGIGJ1ZmZlcnMpIHdoZXJlIGZpZWxkc1xuICAgb3Igc3RydWN0dXJlIHBhZGRpbmcgbWlnaHQgbm90IGJlIGZ1bGx5IGluaXRpYWxpemVkL3plcm9lZC5cbjIuIENvbmRpdGlvbmFsIGxvZ2ljIG9yIGJyYW5jaGluZyB0aGF0IGRlcGVuZHMgb24gcG90ZW50aWFsbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZXNcbiAgIG9yIHN0cnVjdCBmaWVsZHMuXG4zLiBBbGxvY2F0aW9uIG9yIGluaXRpYWxpemF0aW9uIG9mIGNvbXBsZXggZGF0YSBzdHJ1Y3R1cmVzIHdoZXJlIHVuaW5pdGlhbGl6ZWQgZmllbGRzXG4gICBjb3VsZCBiZSByZWFkIGxhdGVyIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLlxuNC4gQm91bmRzIGNoZWNrcywgbGVuZ3Rocywgb3IgbG9naWMgaW4gYSB3YXkgdGhhdCBhbGxvd3Mgc3Vycm91bmRpbmcgY29kZSB0byBhY2Nlc3NcbiAgIHVuaW5pdGlhbGl6ZWQgYnl0ZXMgb2YgZXhpc3RpbmcgYnVmZmVycy5cblxuU2V0IE5lZWRzS01TQU49ZmFsc2UgSUY6XG4tIFRoZSBjb2RlIGNoYW5nZXMgcHJpbWFyaWx5IHJpc2sgb3V0LW9mLWJvdW5kcyBhY2Nlc3MsIGFycmF5IG92ZXJmbG93cywgTlVMTCBwb2ludGVyXG4gIGRlcmVmZXJlbmNlcywgbG9ja2luZyBkZWFkbG9ja3MsIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgKHRoZXNlIGFyZSBhbHJlYWR5IGNhdWdodFxuICBieSBLQVNBTiwgTE9DS0RFUCwgb3Igc3RhbmRhcmQgYnVnIGRldGVjdG9ycykuXG4tIEFsbCBzdGFjay9oZWFwIHN0cnVjdHVyZXMgdG91Y2hlZCBvciBpbnRyb2R1Y2VkIGJ5IHRoZSBwYXRjaCBhcmUgZnVsbHkgemVyb2VkXG4gIG9yIGluaXRpYWxpemVkIChlLmcuIHVzaW5nID0gezB9LCBtZW1zZXQsIGt6YWxsb2MpIGJlZm9yZSBiZWluZyByZWFkIG9yIGNvcGllZC5cbi0gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgcmlzayBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSBvciBpbmZvLWxlYWtzLlxuXG5Vc2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlIGlmIG5lY2Vzc2FyeSwgdGhlbiBwcm92aWRlXG5kZXRhaWxlZCBLTVNBTlJlYXNvbmluZyBjb250cmFzdGluZyBLQVNBTiB2cyBLTVNBTiBhcHBsaWNhYmlsaXR5IGZvciB0aGlzIHBhdGNoLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNmM3ZTgyZjg4MjQ5ODE5NTgxNmI4ODI4YzU4ZWQyNWZmYTUwNzA3Y1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDE5IDIwOjIyOjA1IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmNcbmluZGV4IDFlODI3MjA1ZjI1NDAuLjY2NzJlYmU2OGYxNzIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG5AQCAtNTksMTAgKzU5LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MWJ1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTFidV9pZF90YWJsZSk7XG4gXG4rc3RhdGljIGludCBydHc4ODUxYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4rXHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK3tcbitcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFx1MDAyNnJ0dzg5Xzg4NTFidV9pbmZvKTtcbit9XG4rXG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUxYnVfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184ODUxYnVfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4rXHQucHJvYmUgPSBydHc4ODUxYnVfcHJvYmUsXG4gXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxuIH07XG4gbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTFidV9kcml2ZXIpO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXG5pbmRleCAwNjVmNGU1YjE3YWZhLi4xYTJlNWRmYmFhYjNjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuY1xuQEAgLTczLDEwICs3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJhdV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYXVfaWRfdGFibGUpO1xuIFxuK3N0YXRpYyBpbnQgcnR3ODg1MmF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuK1x0XHRcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcbit7XG4rXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84ODUyYXVfaW5mbyk7XG4rfVxuK1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmF1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MmF1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuK1x0LnByb2JlID0gcnR3ODg1MmF1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyYXVfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuY1xuaW5kZXggZGU3OWExOWEyODI0ZC4uNTUwZmM0YWM3YTIxZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmNcbkBAIC03MywxMCArNzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYnVfaWRfdGFibGVbXSA9IHtcbiB9O1xuIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmJ1X2lkX3RhYmxlKTtcbiBcbitzdGF0aWMgaW50IHJ0dzg4NTJidV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbitcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4re1xuK1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmJ1X2luZm8pO1xuK31cbitcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJidV9kcml2ZXIgPSB7XG4gXHQubmFtZSA9IEtCVUlMRF9NT0ROQU1FLFxuIFx0LmlkX3RhYmxlID0gcnR3Xzg4NTJidV9pZF90YWJsZSxcbi1cdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcbitcdC5wcm9iZSA9IHJ0dzg4NTJidV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmJ1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmNcbmluZGV4IDJkZWM5Yjg0NTQ4MTUuLjZmODUyZjRhNzEzZTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG5AQCAtMTMzLDEwICsxMzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyY3VfaWRfdGFibGVbXSA9IHtcbiB9O1xuIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmN1X2lkX3RhYmxlKTtcbiBcbitzdGF0aWMgaW50IHJ0dzg4NTJjdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbitcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4re1xuK1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmN1X2luZm8pO1xuK31cbitcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJjdV9kcml2ZXIgPSB7XG4gXHQubmFtZSA9IEtCVUlMRF9NT0ROQU1FLFxuIFx0LmlkX3RhYmxlID0gcnR3Xzg4NTJjdV9pZF90YWJsZSxcbi1cdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcbitcdC5wcm9iZSA9IHJ0dzg4NTJjdV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmN1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcbmluZGV4IDU2Yzc5YjFlYzg2NWYuLjJjZDJiNzZkMTlhY2YgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jXG5AQCAtNzQsMTAgKzc0LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODkyMmF1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg5MjJhdV9pZF90YWJsZSk7XG4gXG4rc3RhdGljIGludCBydHc4OTIyYXVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4rXHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK3tcbitcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFx1MDAyNnJ0dzg5Xzg5MjJhdV9pbmZvKTtcbit9XG4rXG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184OTIyYXVfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184OTIyYXVfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4rXHQucHJvYmUgPSBydHc4OTIyYXVfcHJvYmUsXG4gXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxuIH07XG4gbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg5MjJhdV9kcml2ZXIpO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jXG5pbmRleCBhYWZhOGI5ZTkzZGZjLi5kYmFkNDJjMTc3NjFlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuY1xuQEAgLTEyMDEsNyArMTIwMSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJ0dzg5X3VzYl9ncm91cCA9IHtcbiBfX0FUVFJJQlVURV9HUk9VUFMocnR3ODlfdXNiKTtcbiBcbiBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuLVx0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK1x0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxuK1x0XHQgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pXG4ge1xuIFx0Y29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICppbmZvO1xuIFx0c3RydWN0IHJ0dzg5X2RldiAqcnR3ZGV2O1xuQEAgLTEyMDksNiArMTIxMCw4IEBAIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4gXHRpbnQgcmV0O1xuIFxuIFx0aW5mbyA9IChjb25zdCBzdHJ1Y3QgcnR3ODlfZHJpdmVyX2luZm8gKilpZC1cdTAwM2Vkcml2ZXJfaW5mbztcbitcdGlmICghaW5mbylcbitcdFx0aW5mbyA9IGRlZmF1bHRfaW5mbztcbiBcbiBcdHJ0d2RldiA9IHJ0dzg5X2FsbG9jX2llZWU4MDIxMV9odyhcdTAwMjZpbnRmLVx1MDAzZWRldixcbiBcdFx0XHRcdFx0ICBzaXplb2Yoc3RydWN0IHJ0dzg5X3VzYiksIGluZm8pO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oXG5pbmRleCBiZGYzMTI1NTk3NDM4Li5kMmFmMjlkMDY4ZjE5IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaFxuQEAgLTk1LDcgKzk1LDggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcnR3ODlfdXNiICpydHc4OV91c2JfcHJpdihzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYpXG4gfVxuIFxuIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4tXHRcdCAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpO1xuK1x0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxuK1x0XHQgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pO1xuIHZvaWQgcnR3ODlfdXNiX2Rpc2Nvbm5lY3Qoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpO1xuIFxuICNlbmRpZlxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTlUMjA6MjI6NTAuOTUyMDcxODlaIiwiU2VxIjoxNSwiTmVzdGluZyI6MywiVHlwZSI6ImxsbSIsIk5hbWUiOiJrbXNhbi1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6OTUyODUwNjM4NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBbmFseXNpcyBvZiB0aGlzIFJlYWx0ZWsgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBhaW1lZCBzcXVhcmVseSBhdCB0aGUgYHJ0dzg5YCB3aXJlbGVzcyBkcml2ZXIgZm9yIFJlYWx0ZWsgVVNCIGRldmljZXMuIEkgc2VlIHRoYXQgdGhleSdyZSBtb2RpZnlpbmcgYHJ0dzg5X3VzYl9wcm9iZWAgdG8gYWNjZXB0IGEgYGRlZmF1bHRfaW5mb2AgYXJndW1lbnQuIFRoYXQncyBpbW1lZGlhdGVseSBpbnRlcmVzdGluZy4gTG9va2luZyBkZWVwZXIsIGl0IHNlZW1zIHRoZXkncmUgYWRkaW5nIHdyYXBwZXIgZnVuY3Rpb25zLCBsaWtlIGBydHc4ODUxYnVfcHJvYmVgLCBpbiB0aGUgaW5kaXZpZHVhbCBkZXZpY2UgZHJpdmVyIGZpbGVzLiBUaGVzZSB3cmFwcGVycyB0aGVuIGNhbGwgdGhlIHVwZGF0ZWQgYHJ0dzg5X3VzYl9wcm9iZWAsIHBhc3NpbmcgdGhlIGRldmljZS1zcGVjaWZpYyBpbmZvcm1hdGlvbiBzdHJ1Y3QgKGBcdTAwMjZydHc4OV84ODUxYnVfaW5mb2AgaW4gdGhlIGV4YW1wbGUpLlxuXG5BaCwgSSBnZXQgaXQuIFRoaXMgaXMgcHJvYmFibHkgdG8gaGFuZGxlIGEgc2l0dWF0aW9uIHdoZXJlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgbWlnaHQgYmUgTlVMTCBvciBpc24ndCBwb3B1bGF0ZWQgY29ycmVjdGx5LiBUaGlzIGNhbiBoYXBwZW4sIGVzcGVjaWFsbHkgd2l0aCBkeW5hbWljIFVTQiBJRCBiaW5kaW5nIHRocm91Z2ggc3lzZnMgYG5ld19pZGAuIEluIHRoZXNlIHNjZW5hcmlvcywgYGRyaXZlcl9pbmZvYCBpc24ndCBhbHdheXMgcHJvdmlkZWQuIElmIGl0J3MgTlVMTCwgdGhlIGNvZGUgd291bGQgYmUgZGVyZWZlcmVuY2luZyBhIG51bGwgcG9pbnRlciB3aGVuIGl0IHRyaWVzIHRvIHVzZSB0aGF0IGBpbmZvYCBwb2ludGVyIGxhdGVyIG9uIGluIHRoZSBwcm9jZXNzLCBsaWtlbHkgaW4gYHJ0dzg5X2FsbG9jX2llZWU4MDIxMV9od2Agb3Igc29tZXdoZXJlIHNpbWlsYXIuIEEgY2xhc3NpYyBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugc2l0dWF0aW9uIVxuXG5UaGlzIHBhdGNoIHByb3ZpZGVzIGEgZGVmYXVsdCBgaW5mb2Agc3RydWN0dXJlLCBlbnN1cmluZyB0aGF0IHRoZSBkcml2ZXIgKmFsd2F5cyogaGFzIHZhbGlkIGRhdGEgdG8gd29yayB3aXRoLCBldmVuIGlmIHRoZSBkZXZpY2UgaXNuJ3QgcHJvcGVybHkgaWRlbnRpZmllZCBpbml0aWFsbHkuIFRoYXQgcHJldmVudHMgdGhlIGNyYXNoLlxuXG5JIHF1aWNrbHkgc2Nhbm5lZCB0aGUgY29kZSBjaGFuZ2VzIGFuZCBjb25maXJtOiB0aGUgY29yZSBvZiB0aGUgZml4IGlzIHRoYXQgc3RhbmRhcmQgY2hlY2s6XG5gYGBjXG4gXHRpbmZvID0gKGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqKWlkLVx1MDAzZWRyaXZlcl9pbmZvO1xuK1x0aWYgKCFpbmZvKVxuK1x0XHRpbmZvID0gZGVmYXVsdF9pbmZvO1xuYGBgXG5UaGF0J3MgaXQuIEl0J3MgYSBjbGVhbiwgc3RyYWlnaHRmb3J3YXJkIGZpeCBmb3IgYSBjb21tb24gVVNCIGRyaXZlciBpc3N1ZS4gTm8gdW5pbml0aWFsaXplZCBtZW1vcnkgdXNhZ2UsIG5vIGluZm9ybWF0aW9uIGxlYWtzLCBvciBhbnl0aGluZyB0aGF0IHdvdWxkIHdhcnJhbnQgdGhlIHVzZSBvZiBLTVNBTi4gU28sIEkgd2lsbCBtYXJrIHRoaXMgYXMgYE5lZWRzS01TQU49ZmFsc2VgLiBJdCdzIGEgc29saWQsIG5lY2Vzc2FyeSwgYW5kIHdlbGwtdGFyZ2V0ZWQgZml4LlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NDExLCJPdXRwdXRUb2tlbnMiOjE1MiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM4OSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIzOjAwLjQ4MDU4NjY1NloiLCJTZXEiOjE2LCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUwMTIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHRoZSBydHc4OSBVU0IgZHJpdmVyIHByb2JlIHBhdGguIFdoZW4gYSBVU0IgZGV2aWNlIGlzIGJvdW5kIGR5bmFtaWNhbGx5IHZpYSBzeXNmcyAoZS5nLiwgdXNpbmcgYG5ld19pZGApLCB0aGUgYGlkLVxcdTAwM2Vkcml2ZXJfaW5mb2AgZmllbGQgY2FuIGJlIE5VTEwuIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgYGRlZmF1bHRfaW5mb2AgZmFsbGJhY2sgdG8gZW5zdXJlIHRoZSBkcml2ZXIgaW5mbyBzdHJ1Y3R1cmUgaXMgYWx3YXlzIHZhbGlkLiBUaGlzIHByZXZlbnRzIGEgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCB3aGljaCBpcyBhbHJlYWR5IGNhdWdodCBieSBzdGFuZGFyZCBrZXJuZWwgZGVidWdnaW5nIHRvb2xzIGFuZCBLQVNBTi4gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBvciBleHBvc2UgYW55IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzIG9yIGluZm8tbGVha3MsIHNvIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3QgbmVjZXNzYXJ5LlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgcnR3ODkgVVNCIGRyaXZlciBwcm9iZSBwYXRoLiBXaGVuIGEgVVNCIGRldmljZSBpcyBib3VuZCBkeW5hbWljYWxseSB2aWEgc3lzZnMgKGUuZy4sIHVzaW5nIGBuZXdfaWRgKSwgdGhlIGBpZC1cXHUwMDNlZHJpdmVyX2luZm9gIGZpZWxkIGNhbiBiZSBOVUxMLiBUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIGBkZWZhdWx0X2luZm9gIGZhbGxiYWNrIHRvIGVuc3VyZSB0aGUgZHJpdmVyIGluZm8gc3RydWN0dXJlIGlzIGFsd2F5cyB2YWxpZC4gVGhpcyBwcmV2ZW50cyBhIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwgd2hpY2ggaXMgYWxyZWFkeSBjYXVnaHQgYnkgc3RhbmRhcmQga2VybmVsIGRlYnVnZ2luZyB0b29scyBhbmQgS0FTQU4uIFRoZSBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2Ugb3IgZXhwb3NlIGFueSB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcyBvciBpbmZvLWxlYWtzLCBzbyBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IG5lY2Vzc2FyeS5cIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-19 20:19:30 +0000 UTC FinishedAt: 2026-08-19 20:23:01 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "wireless-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git", "commit_hash": "ca800a9302764c445de0da0e84d2252400a770ee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "RTW89_8851BU", "RTW89_8852AU", "RTW89_8852BU", "RTW89_8852CU", "RTW89_8922AU" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "wireless-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git", "commit_hash": "ca800a9302764c445de0da0e84d2252400a770ee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "RTW89_8851BU", "RTW89_8852AU", "RTW89_8852BU", "RTW89_8852CU", "RTW89_8922AU" ], "series_id": "e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "rtw8851bu_probe", "rtw8852au_probe", "rtw8852bu_probe", "rtw8852cu_probe", "rtw8922au_probe", "rtw89_usb_probe" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1JUVzg5Xzg4NTFCVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84ODUyQVUmIzM0OywKICAgICYjMzQ7UlRXODlfODg1MkJVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg4NTJDVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84OTIyQVUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtydHc4ODUxYnVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODg1MmF1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg4NTJidV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4ODUyY3VfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODkyMmF1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg5X3VzYl9wcm9iZSYjMzQ7CiAgXSwKICAmIzM0O0tNU0FOUmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgcnR3ODkgVVNCIGRyaXZlciBwcm9iZSBwYXRoLiBXaGVuIGEgVVNCIGRldmljZSBpcyBib3VuZCBkeW5hbWljYWxseSB2aWEgc3lzZnMgKGUuZy4sIHVzaW5nIGBuZXdfaWRgKSwgdGhlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgZmllbGQgY2FuIGJlIE5VTEwuIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgYGRlZmF1bHRfaW5mb2AgZmFsbGJhY2sgdG8gZW5zdXJlIHRoZSBkcml2ZXIgaW5mbyBzdHJ1Y3R1cmUgaXMgYWx3YXlzIHZhbGlkLiBUaGlzIHByZXZlbnRzIGEgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCB3aGljaCBpcyBhbHJlYWR5IGNhdWdodCBieSBzdGFuZGFyZCBrZXJuZWwgZGVidWdnaW5nIHRvb2xzIGFuZCBLQVNBTi4gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBvciBleHBvc2UgYW55IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzIG9yIGluZm8tbGVha3MsIHNvIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3QgbmVjZXNzYXJ5LiYjMzQ7LAogICYjMzQ7TmVlZHNLTVNBTiYjMzQ7OiBmYWxzZSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgVVNCIHByb2JlIGZ1bmN0aW9ucyBmb3IgbXVsdGlwbGUgUmVhbHRlayBydHc4OSB3aXJlbGVzcyBkcml2ZXJzIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgVVNCIGRldmljZSBJRCBkcml2ZXJfaW5mbyBpcyBOVUxMIChlLmcuLCB3aGVuIHByb2JlZCB2aWEgc3lzZnMgbmV3X2lkKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBkcml2ZXIgaW5pdGlhbGl6YXRpb24gcGF0aCB0aGF0IGlzIHJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdmlhIFVTQiBlbXVsYXRpb24uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjI8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA2YzdlODJmODgyNDk4MTk1ODE2Yjg4MjhjNThlZDI1ZmZhNTA3MDdjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBBdWcgMTkgMjA6MjI6MDUgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmNcbmluZGV4IDFlODI3MjA1ZjI1NDAuLjY2NzJlYmU2OGYxNzIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG5AQCAtNTksMTAgJiM0Mzs1OSwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTFidV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUxYnVfaWRfdGFibGUpO1xuIFxuJiM0MztzdGF0aWMgaW50IHJ0dzg4NTFidV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbiYjNDM7XHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MWJ1X2luZm8pO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MWJ1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MWJ1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuJiM0MztcdC5wcm9iZSA9IHJ0dzg4NTFidV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MWJ1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmNcbmluZGV4IDA2NWY0ZTViMTdhZmEuLjFhMmU1ZGZiYWFiM2MgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXG5AQCAtNzMsMTAgJiM0Mzs3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJhdV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYXVfaWRfdGFibGUpO1xuIFxuJiM0MztzdGF0aWMgaW50IHJ0dzg4NTJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbiYjNDM7XHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmF1X2luZm8pO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmF1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MmF1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuJiM0MztcdC5wcm9iZSA9IHJ0dzg4NTJhdV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmF1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmNcbmluZGV4IGRlNzlhMTlhMjgyNGQuLjU1MGZjNGFjN2EyMWYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXG5AQCAtNzMsMTAgJiM0Mzs3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJidV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYnVfaWRfdGFibGUpO1xuIFxuJiM0MztzdGF0aWMgaW50IHJ0dzg4NTJidV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbiYjNDM7XHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmJ1X2luZm8pO1xuJiM0Mzt9XG4mIzQzO1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmJ1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MmJ1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuJiM0MztcdC5wcm9iZSA9IHJ0dzg4NTJidV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmJ1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmNcbmluZGV4IDJkZWM5Yjg0NTQ4MTUuLjZmODUyZjRhNzEzZTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG5AQCAtMTMzLDEwICYjNDM7MTMzLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmN1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJjdV9pZF90YWJsZSk7XG4gXG4mIzQzO3N0YXRpYyBpbnQgcnR3ODg1MmN1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuJiM0MztcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4mIzQzO3tcbiYjNDM7XHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84ODUyY3VfaW5mbyk7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyY3VfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184ODUyY3VfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4mIzQzO1x0LnByb2JlID0gcnR3ODg1MmN1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyY3VfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuY1xuaW5kZXggNTZjNzliMWVjODY1Zi4uMmNkMmI3NmQxOWFjZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcbkBAIC03NCwxMCAmIzQzOzc0LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODkyMmF1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg5MjJhdV9pZF90YWJsZSk7XG4gXG4mIzQzO3N0YXRpYyBpbnQgcnR3ODkyMmF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuJiM0MztcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4mIzQzO3tcbiYjNDM7XHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84OTIyYXVfaW5mbyk7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184OTIyYXVfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184OTIyYXVfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4mIzQzO1x0LnByb2JlID0gcnR3ODkyMmF1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184OTIyYXVfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuY1xuaW5kZXggYWFmYThiOWU5M2RmYy4uZGJhZDQyYzE3NzYxZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcbkBAIC0xMjAxLDcgJiM0MzsxMjAxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcnR3ODlfdXNiX2dyb3VwID0ge1xuIF9fQVRUUklCVVRFX0dST1VQUyhydHc4OV91c2IpO1xuIFxuIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4tXHRcdCAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4mIzQzO1x0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxuJiM0MztcdFx0ICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKVxuIHtcbiBcdGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqaW5mbztcbiBcdHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldjtcbkBAIC0xMjA5LDYgJiM0MzsxMjEwLDggQEAgaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbiBcdGludCByZXQ7XG4gXG4gXHRpbmZvID0gKGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqKWlkLVx1MDAzZWRyaXZlcl9pbmZvO1xuJiM0MztcdGlmICghaW5mbylcbiYjNDM7XHRcdGluZm8gPSBkZWZhdWx0X2luZm87XG4gXG4gXHRydHdkZXYgPSBydHc4OV9hbGxvY19pZWVlODAyMTFfaHcoXHUwMDI2aW50Zi1cdTAwM2VkZXYsXG4gXHRcdFx0XHRcdCAgc2l6ZW9mKHN0cnVjdCBydHc4OV91c2IpLCBpbmZvKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaFxuaW5kZXggYmRmMzEyNTU5NzQzOC4uZDJhZjI5ZDA2OGYxOSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcbkBAIC05NSw3ICYjNDM7OTUsOCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBydHc4OV91c2IgKnJ0dzg5X3VzYl9wcml2KHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldilcbiB9XG4gXG4gaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50Zixcbi1cdFx0ICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCk7XG4mIzQzO1x0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxuJiM0MztcdFx0ICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKTtcbiB2b2lkIHJ0dzg5X3VzYl9kaXNjb25uZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKTtcbiBcbiAjZW5kaWZcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xOSAyMDoyMjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7UlRXODlfODg1MUJVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg4NTJBVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84ODUyQlUmIzM0OywKICAgICYjMzQ7UlRXODlfODg1MkNVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg5MjJBVSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3J0dzg4NTFidV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4ODUyYXVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODg1MmJ1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg4NTJjdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4OTIyYXVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODlfdXNiX3Byb2JlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBVU0IgcHJvYmUgZnVuY3Rpb25zIGZvciBtdWx0aXBsZSBSZWFsdGVrIHJ0dzg5IHdpcmVsZXNzIGRyaXZlcnMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIHRoZSBVU0IgZGV2aWNlIElEIGRyaXZlcl9pbmZvIGlzIE5VTEwgKGUuZy4sIHdoZW4gcHJvYmVkIHZpYSBzeXNmcyBuZXdfaWQpLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGRyaXZlciBpbml0aWFsaXphdGlvbiBwYXRoIHRoYXQgaXMgcmVhY2hhYmxlIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyB2aWEgVVNCIGVtdWxhdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDZjN2U4MmY4ODI0OTgxOTU4MTZiODgyOGM1OGVkMjVmZmE1MDcwN2MKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEF1ZyAxOSAyMDoyMjowNSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jCmluZGV4IDFlODI3MjA1ZjI1NDAuLjY2NzJlYmU2OGYxNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuYwpAQCAtNTksMTAgJiM0Mzs1OSwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTFidV9pZF90YWJsZVtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MWJ1X2lkX3RhYmxlKTsKIAomIzQzO3N0YXRpYyBpbnQgcnR3ODg1MWJ1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAomIzQzOwkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0Mzt7CiYjNDM7CXJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsICZhbXA7cnR3ODlfODg1MWJ1X2luZm8pOwomIzQzO30KJiM0MzsKIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MWJ1X2RyaXZlciA9IHsKIAkubmFtZSA9IEtCVUlMRF9NT0ROQU1FLAogCS5pZF90YWJsZSA9IHJ0d184ODUxYnVfaWRfdGFibGUsCi0JLnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLAomIzQzOwkucHJvYmUgPSBydHc4ODUxYnVfcHJvYmUsCiAJLmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCwKIH07CiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MWJ1X2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuYwppbmRleCAwNjVmNGU1YjE3YWZhLi4xYTJlNWRmYmFhYjNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmMKQEAgLTczLDEwICYjNDM7NzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYXVfaWRfdGFibGVbXSA9IHsKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJhdV9pZF90YWJsZSk7CiAKJiM0MztzdGF0aWMgaW50IHJ0dzg4NTJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKJiM0MzsJCQkgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiYjNDM7ewomIzQzOwlyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCAmYW1wO3J0dzg5Xzg4NTJhdV9pbmZvKTsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJhdV9kcml2ZXIgPSB7CiAJLm5hbWUgPSBLQlVJTERfTU9ETkFNRSwKIAkuaWRfdGFibGUgPSBydHdfODg1MmF1X2lkX3RhYmxlLAotCS5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSwKJiM0MzsJLnByb2JlID0gcnR3ODg1MmF1X3Byb2JlLAogCS5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsCiB9OwogbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTJhdV9kcml2ZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmMKaW5kZXggZGU3OWExOWEyODI0ZC4uNTUwZmM0YWM3YTIxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jCkBAIC03MywxMCAmIzQzOzczLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmJ1X2lkX3RhYmxlW10gPSB7CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYnVfaWRfdGFibGUpOwogCiYjNDM7c3RhdGljIGludCBydHc4ODUyYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCiYjNDM7CQkJICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKQomIzQzO3sKJiM0MzsJcmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgJmFtcDtydHc4OV84ODUyYnVfaW5mbyk7CiYjNDM7fQomIzQzOwogc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyYnVfZHJpdmVyID0gewogCS5uYW1lID0gS0JVSUxEX01PRE5BTUUsCiAJLmlkX3RhYmxlID0gcnR3Xzg4NTJidV9pZF90YWJsZSwKLQkucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsCiYjNDM7CS5wcm9iZSA9IHJ0dzg4NTJidV9wcm9iZSwKIAkuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LAogfTsKIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyYnVfZHJpdmVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jCmluZGV4IDJkZWM5Yjg0NTQ4MTUuLjZmODUyZjRhNzEzZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuYwpAQCAtMTMzLDEwICYjNDM7MTMzLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmN1X2lkX3RhYmxlW10gPSB7CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyY3VfaWRfdGFibGUpOwogCiYjNDM7c3RhdGljIGludCBydHc4ODUyY3VfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCiYjNDM7CQkJICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKQomIzQzO3sKJiM0MzsJcmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgJmFtcDtydHc4OV84ODUyY3VfaW5mbyk7CiYjNDM7fQomIzQzOwogc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyY3VfZHJpdmVyID0gewogCS5uYW1lID0gS0JVSUxEX01PRE5BTUUsCiAJLmlkX3RhYmxlID0gcnR3Xzg4NTJjdV9pZF90YWJsZSwKLQkucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsCiYjNDM7CS5wcm9iZSA9IHJ0dzg4NTJjdV9wcm9iZSwKIAkuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LAogfTsKIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyY3VfZHJpdmVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jCmluZGV4IDU2Yzc5YjFlYzg2NWYuLjJjZDJiNzZkMTlhY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuYwpAQCAtNzQsMTAgJiM0Mzs3NCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg5MjJhdV9pZF90YWJsZVtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODkyMmF1X2lkX3RhYmxlKTsKIAomIzQzO3N0YXRpYyBpbnQgcnR3ODkyMmF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAomIzQzOwkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0Mzt7CiYjNDM7CXJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsICZhbXA7cnR3ODlfODkyMmF1X2luZm8pOwomIzQzO30KJiM0MzsKIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODkyMmF1X2RyaXZlciA9IHsKIAkubmFtZSA9IEtCVUlMRF9NT0ROQU1FLAogCS5pZF90YWJsZSA9IHJ0d184OTIyYXVfaWRfdGFibGUsCi0JLnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLAomIzQzOwkucHJvYmUgPSBydHc4OTIyYXVfcHJvYmUsCiAJLmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCwKIH07CiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODkyMmF1X2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuYwppbmRleCBhYWZhOGI5ZTkzZGZjLi5kYmFkNDJjMTc3NjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmMKQEAgLTEyMDEsNyAmIzQzOzEyMDEsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBydHc4OV91c2JfZ3JvdXAgPSB7CiBfX0FUVFJJQlVURV9HUk9VUFMocnR3ODlfdXNiKTsKIAogaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKLQkJICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0MzsJCSAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQsCiYjNDM7CQkgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pCiB7CiAJY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICppbmZvOwogCXN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldjsKQEAgLTEyMDksNiAmIzQzOzEyMTAsOCBAQCBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAogCWludCByZXQ7CiAKIAlpbmZvID0gKGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqKWlkLSZndDtkcml2ZXJfaW5mbzsKJiM0MzsJaWYgKCFpbmZvKQomIzQzOwkJaW5mbyA9IGRlZmF1bHRfaW5mbzsKIAogCXJ0d2RldiA9IHJ0dzg5X2FsbG9jX2llZWU4MDIxMV9odygmYW1wO2ludGYtJmd0O2RldiwKIAkJCQkJICBzaXplb2Yoc3RydWN0IHJ0dzg5X3VzYiksIGluZm8pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmgKaW5kZXggYmRmMzEyNTU5NzQzOC4uZDJhZjI5ZDA2OGYxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaAomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oCkBAIC05NSw3ICYjNDM7OTUsOCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBydHc4OV91c2IgKnJ0dzg5X3VzYl9wcml2KHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldikKIH0KIAogaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKLQkJICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCk7CiYjNDM7CQkgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLAomIzQzOwkJICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKTsKIHZvaWQgcnR3ODlfdXNiX2Rpc2Nvbm5lY3Qoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpOwogCiAjZW5kaWYKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDQxNAoJCQkJCQkJb3V0cHV0OiA0MQoJCQkJCQkJdGhvdWdodHM6IDM2OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBSZWFsdGVrIFdpcmVsZXNzIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgdGhlIGBydHc4OWAgd2lyZWxlc3MgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZGVhbGluZyB3aXRoIFJlYWx0ZWsgVVNCIGRldmljZXMuIEl0IGxvb2tzIGxpa2UgdGhleSYjMzk7dmUgcmVmYWN0b3JlZCB0aGUgcHJvYmUgZnVuY3Rpb24sIGBydHc4OV91c2JfcHJvYmVgLiBCZWZvcmUsIGl0IHdhcyBkaXJlY3RseSB1c2VkIGFzIHRoZSBwcm9iZSBjYWxsYmFjayBpbiB0aGUgYHVzYl9kcml2ZXJgIHN0cnVjdHVyZS4gTm93LCB0aGV5JiMzOTt2ZSBhZGRlZCBkcml2ZXItc3BlY2lmaWMgcHJvYmUgZnVuY3Rpb25zLCBsaWtlIGBydHc4ODUxYnVfcHJvYmVgLCB0aGF0ICp0aGVuKiBjYWxsIGBydHc4OV91c2JfcHJvYmVgIGFuZCBwYXNzIGluIGEgZGVmYXVsdCBgcnR3ODlfZHJpdmVyX2luZm9gIHN0cnVjdC4KCkVzc2VudGlhbGx5LCB0aGV5JiMzOTtyZSBoYW5kbGluZyBjYXNlcyB3aGVyZSB0aGUgYGlkLSZndDtkcml2ZXJfaW5mb2AgbWlnaHQgYmUgYE5VTExgLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCB0aGluZ3MgbGlrZSBzeXNmcyBgbmV3X2lkYCBwcm9iaW5nLCBvciBvdGhlciBtZWNoYW5pc21zIHRoYXQgZG9uJiMzOTt0IHNldCB0aGlzIGZpZWxkIGNvcnJlY3RseS4gSXQmIzM5O3MgYSBzZW5zaWJsZSBmaXgsIGNsZWFuaW5nIHVwIHBvdGVudGlhbCBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzLCBJIGdldCBpdC4KCk5vdywgdGhlIGltcG9ydGFudCBxdWVzdGlvbiDigJMgaXMgdGhpcyBwYXRjaCB3b3J0aCBmdXp6aW5nPyBMZXQmIzM5O3Mgc2VlLi4uIFRoZSBjaGFuZ2UgaXMgaW4gdGhlIGAucHJvYmVgIGZ1bmN0aW9uIG9mIGEgVVNCIGRyaXZlciwgd2hpY2ggbWVhbnMgaXQgc2hvdWxkIGJlIHJlYWNoYWJsZSB1c2luZyB0aGUgc3RhbmRhcmQgVVNCIGZ1enppbmcgdGVjaG5pcXVlcywgbGlrZSB0aGUgZHVtbXkgSENEIG9yIHN5emthbGxlci4gUHJvYmUgZnVuY3Rpb25zIGFyZSBhbHdheXMgZ29vZCB0YXJnZXRzLiBBc3N1bWluZyBJJiMzOTt2ZSBnb3QgYSBkZWNlbnQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQgd2l0aCBVU0IgZW11bGF0aW9uLCB0aGlzIHNob3VsZCBiZSBhbiBhY2hpZXZhYmxlIHRhcmdldC4gVGhlIGFkZGVkIGZ1bmN0aW9ucyBsaWtlIGBydHc4ODUxYnVfcHJvYmVgIGFuZCB0aGUgbW9kaWZpZWQgYHJ0dzg5X3VzYl9wcm9iZWAgYXJlIHRoZSBzcGVjaWZpYyBwYXJ0cyBJJiMzOTtkIGJlIGxvb2tpbmcgYXQuCgpBbHJpZ2h0LCB0aW1lIHRvIGNyYWNrIG9wZW4gdGhlIEtjb25maWcgYW5kIGZpZ3VyZSBvdXQgd2hpY2ggY29uZmlndXJhdGlvbnMgSSBuZWVkIHRvIGVuYWJsZSB0byBnZXQgdGhlc2UgZHJpdmVycyBidWlsdC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJiMzOTttIGZ1bGx5IGVuYWJsaW5nIHRoZSByZWxldmFudCBgcnR3ODlgIGNvbmZpZ3VyYXRpb25zLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBSVFc4OSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIEJTRC0zLUNsYXVzZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjI6bWVudWNvbmZpZyBSVFc4OVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDgwMi4xMWF4IHdpcmVsZXNzIGNoaXBzIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc9MTE9aWYgUlRXODlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxMzpjb25maWcgUlRXODlfQ09SRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE0LVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTc6Y29uZmlnIFJUVzg5X1BDSVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE4LVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMDpjb25maWcgUlRXODlfVVNCXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjEtXHR0cmlzdGF0ZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjIzOmNvbmZpZyBSVFc4OV84ODUxQlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTI0LVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yNS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyNjpjb25maWcgUlRXODlfODg1MkFcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yNy1cdHRyaXN0YXRlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6Mjk6Y29uZmlnIFJUVzg5Xzg4NTJCX0NPTU1PTlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTMwLVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzozMjpjb25maWcgUlRXODlfODg1MkJcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zMy1cdHRyaXN0YXRlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MzU6Y29uZmlnIFJUVzg5Xzg4NTJCVFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTM2LVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzozODpjb25maWcgUlRXODlfODg1MkNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zOS1cdHRyaXN0YXRlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6NDE6Y29uZmlnIFJUVzg5Xzg5MjJBXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDItXHR0cmlzdGF0ZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTQzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjQ0OmNvbmZpZyBSVFc4OV84OTIyRFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTQ1LVx0dHJpc3RhdGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy00Ni1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo0Nzpjb25maWcgUlRXODlfODg1MUJFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDgtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTFCRSBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy01Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo1ODpjb25maWcgUlRXODlfODg1MUJVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNTktXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTFCVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy02OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo2OTpjb25maWcgUlRXODlfODg1MkFFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNzAtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTJBRSBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy03OS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo4MDpjb25maWcgUlRXODlfODg1MkFVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctODEtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTJBVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy05MC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo5MTpjb25maWcgUlRXODlfODg1MkJFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctOTItXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTJCRSBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMDItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTAzOmNvbmZpZyBSVFc4OV84ODUyQlVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMDQtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg4NTJCVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMTQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTE1OmNvbmZpZyBSVFc4OV84ODUyQlRFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTE2LVx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4ODUyQkUtVlQgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTI2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjEyNzpjb25maWcgUlRXODlfODg1MkNFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTI4LVx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4ODUyQ0UgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDZFKSBhZGFwdGVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEzNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxMzg6Y29uZmlnIFJUVzg5Xzg4NTJDVVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEzOS1cdHRyaXN0YXRlIFwmIzM0O1JlYWx0ZWsgODg1MkNVIFVTQiB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2RSkgYWRhcHRlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNDgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTQ5OmNvbmZpZyBSVFc4OV84OTIyQUVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNTAtXHR0cmlzdGF0ZSBcJiMzNDtSZWFsdGVrIDg5MjJBRS84OTIyQUUtVlMgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDcpIGFkYXB0ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTYyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE2Mzpjb25maWcgUlRXODlfODkyMkFVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTY0LVx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4OTIyQVUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDcpIGFkYXB0ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTc0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE3NTpjb25maWcgUlRXODlfODkyMkRFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTc2LVx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4OTIyREUvODkyMkRFLVZTIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA3KSBhZGFwdGVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE4Ni1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxODc6Y29uZmlnIFJUVzg5X0RFQlVHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTg4LVx0Ym9vbFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE4OS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxOTA6Y29uZmlnIFJUVzg5X0RFQlVHTVNHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTkxLVx0Ym9vbCBcJiMzNDtSZWFsdGVrIHJ0dzg5IGRlYnVnIG1lc3NhZ2Ugc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xOTgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTk5OmNvbmZpZyBSVFc4OV9ERUJVR0ZTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjAwLVx0Ym9vbCBcJiMzNDtSZWFsdGVrIHJ0dzg5IGRlYnVnZnMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMDctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjA4OmNvbmZpZyBSVFc4OV9MRURTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjA5LVx0Ym9vbFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjE1OmNvbmZpZyBSVFc4OV9MRURTX01DXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjE2LVx0Ym9vbFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc4NTIKCQkJCQkJCW91dHB1dDogNDMKCQkJCQkJCXRob3VnaHRzOiAxNTEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIFJUVzg5IFVTQiBEcml2ZXIgQ29uZmlndXJhdGlvbnMqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoZXNlIGNvbmZpZ3VyYXRpb25zOiBSVFc4OV84ODUxQlUsIFJUVzg5Xzg4NTJBVSwgUlRXODlfODg1MkJVLCBSVFc4OV84ODUyQ1UsIGFuZCBSVFc4OV84OTIyQVUuIEltbWVkaWF0ZWx5LCBJIHJlY29nbml6ZSB0aGVzZSBhcyBVU0IgZHJpdmVycy4gVGhhdCYjMzk7cyBnb29kLCBzaW1wbGlmaWVzIHRoaW5ncyBhIGJpdC4gSSBzZWUgdGhlIGFzc29jaWF0ZWQgcHJvYmUgZnVuY3Rpb25zOiBgcnR3ODg1MWJ1X3Byb2JlYCwgYHJ0dzg4NTJhdV9wcm9iZWAsIGBydHc4ODUyYnVfcHJvYmVgLCBgcnR3ODg1MmN1X3Byb2JlYCwgYW5kIGBydHc4OTIyYXVfcHJvYmVgLiBBbmQgSSBhbHNvIHNlZSBhIGBydHc4OV91c2JfcHJvYmVgIGZ1bmN0aW9uLgoKTm93LCBteSBpbW1lZGlhdGUgdGhvdWdodCBpcyB0byBjaGVjayBmb3IgYW55IGRlcGVuZGVuY2llcyByZWxhdGVkIHRvIHRoZSBSVFc4OSBjb3JlLiBCZWZvcmUgSSBkaXZlIGRlZXBlciBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgZWFjaCBwcm9iZSBmdW5jdGlvbiwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgaWYgUlRXODkgcmVsaWVzIG9uIGFueSBjb21tb24gbW9kdWxlcyBvciBpbmZyYXN0cnVjdHVyZS4gVGhpcyB3aWxsIGRpY3RhdGUgaG93IEkgYXBwcm9hY2ggdW5kZXJzdGFuZGluZyB0aGUgaW50ZXJjb25uZWN0aW9ucyBhbmQgb3ZlcmFsbCBhcmNoaXRlY3R1cmUgb2YgdGhlIFJUVzg5IFVTQiBkcml2ZXJzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2RlcGVuZHMgb24uKlJUVzg5JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz0xOTA9Y29uZmlnIFJUVzg5X0RFQlVHTVNHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTkxLVx0Ym9vbCBcJiMzNDtSZWFsdGVrIHJ0dzg5IGRlYnVnIG1lc3NhZ2Ugc3VwcG9ydFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE5MjpcdGRlcGVuZHMgb24gUlRXODlfQ09SRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE5My1cdHNlbGVjdCBSVFc4OV9ERUJVR1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz0xOTk9Y29uZmlnIFJUVzg5X0RFQlVHRlNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMDAtXHRib29sIFwmIzM0O1JlYWx0ZWsgcnR3ODkgZGVidWdmcyBzdXBwb3J0XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjAxOlx0ZGVwZW5kcyBvbiBSVFc4OV9DT1JFIFx1MDAyNlx1MDAyNiBDRkc4MDIxMV9ERUJVR0ZTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjAyLVx0c2VsZWN0IFJUVzg5X0RFQlVHXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnPTIwOD1jb25maWcgUlRXODlfTEVEU1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIwOS1cdGJvb2xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMTA6XHRkZXBlbmRzIG9uIFJUVzg5X0NPUkVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTEtXHRkZXBlbmRzIG9uIExFRFNfQ0xBU1M9eSB8fCBMRURTX0NMQVNTPU1BQzgwMjExXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnPTIxNT1jb25maWcgUlRXODlfTEVEU19NQ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIxNi1cdGJvb2xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMTc6XHRkZXBlbmRzIG9uIFJUVzg5X0xFRFNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTgtXHRkZXBlbmRzIG9uIExFRFNfQ0xBU1NfTVVMVElDT0xPUlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDg4MjUKCQkJCQkJCW91dHB1dDogNDcKCQkJCQkJCXRob3VnaHRzOiAxOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkRlcGVuZGVuY3kgRGVlcCBEaXZlOiBSVFc4OV84ODUxQlUqKgoKT2theSwgdGltZSB0byBnZXQgbXkgaGFuZHMgZGlydHkgd2l0aCBSVFc4OV84ODUxQlUuIEZpcnN0IHRoaW5ncyBmaXJzdCwgbGV0JiMzOTtzIG5haWwgZG93biB0aG9zZSBkZXBlbmRlbmNpZXMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGV2ZXJ5dGhpbmcgdGhhdCB0aGlzIG1vZHVsZSByZWxpZXMgb24sIGRvd24gdG8gdGhlIGZpcm13YXJlIGxldmVsLCBhbmQgYWxzbyBhbnkgcmVsYXRpb25zaGlwcyBpdCBoYXMgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUgc3lzdGVtLiBXZSYjMzk7cmUgdGFsa2luZyBhYm91dCBldmVyeXRoaW5nIGZyb20gdGhlIGtlcm5lbCBkcml2ZXJzIGFuZCBhbnkgYXNzb2NpYXRlZCBIQUxzLCB1cCB0byBhbnkgdXNlci1zcGFjZSBhcHBsaWNhdGlvbnMgdGhhdCBpbnRlcmZhY2Ugd2l0aCBpdC4gSSBuZWVkIHRvIGJlIHN1cmUgdGhpcyBidWlsZCBvciB0aGUgc3lzdGVtIGFzIGEgd2hvbGUgZG9lc24mIzM5O3QgYnJlYWsgZHVlIHRvIGEgYmFkIHBhY2thZ2UgZGVwZW5kZW5jeS4KCkkgd2FudCB0byBsb29rIGZvciBib3RoIGRpcmVjdCBhbmQgdHJhbnNpdGl2ZSBkZXBlbmRlbmNpZXM7IEkgY2Fubm90IHRha2UgYW55dGhpbmcgZm9yIGdyYW50ZWQuIEFyZSB0aGVyZSBhbnkga25vd24gY29uZmxpY3RzPyBBcmUgd2UgcHVsbGluZyBpbiB0aGUgcmlnaHQgdmVyc2lvbnMgb2YgdGhvc2UgZGVwZW5kZW5jaWVzPyBBcmUgd2UgbWlzc2luZyBhbnk/IEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMsIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLCBhbmQgb2YgY291cnNlLCB0aG9zZSBjcnVjaWFsIG1vZHVsZS1zcGVjaWZpYyBkZXBlbmRlbmNpZXMgd2l0aGluIHRoZSBmaXJtd2FyZSBpbWFnZSBpdHNlbGYuIEFueSBwb3RlbnRpYWwgc2VjdXJpdHkgaW1wbGljYXRpb25zIG5lZWQgdG8gYmUgZXZhbHVhdGVkIGR1cmluZyB0aGlzIGNoZWNrLCBhcyB3ZWxsLgoKSSBzaG91bGQgYWxzbyBjb25zaWRlciB0aGUgYnVpbGQgZW52aXJvbm1lbnQuIFdoYXQgdG9vbHMgYXJlIHVzZWQgZm9yIGJ1aWxkaW5nIFJUVzg5Xzg4NTFCVT8gSG93IGFyZSB0aGUgZGVwZW5kZW5jaWVzIG1hbmFnZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzPyBJJiMzOTtsbCBwcm9iYWJseSBzdGFydCB3aXRoIHRoZSBtb2R1bGUmIzM5O3MgbWFrZWZpbGUgb3IgYnVpbGQgc3lzdGVtIGNvbmZpZ3VyYXRpb24sIHRyYWNlIGl0IGJhY2sgZnJvbSB0aGVyZSwgYW5kIG1hcCBhbGwgb2YgdGhlc2UgaW50ZXJhY3Rpb25zIG91dCBpbiBteSBoZWFkLiBObyBzdG9uZSB1bnR1cm5lZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xOSAyMDoyMjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgUlRXODlfODg1MUJVJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz00Nz1jb25maWcgUlRXODlfODg1MUJFXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjU4OmNvbmZpZyBSVFc4OV84ODUxQlVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy01OS1cdHRyaXN0YXRlIFwmIzM0O1JlYWx0ZWsgODg1MUJVIFVTQiB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogOTM0NQoJCQkJCQkJb3V0cHV0OiA0MwoJCQkJCQkJdGhvdWdodHM6IDEyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMuIEhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSBpbnN0cnVjdGlvbnMsIGFzIGlmIHRoZXkmIzM5O3JlIG15IGludGVybmFsIHRob3VnaHQgcHJvY2VzczoKCioqRGl2aW5nIGludG8gdGhlIENvZGUgKFNwZWNpZmljYWxseSBBcm91bmQgTGluZSA1OCkqKgoKQWxyaWdodCwgc28gSSYjMzk7bSBiZWluZyB0b2xkIHRvIGZvY3VzIG9uIGEgc3BlY2lmaWMgYXJlYSB3aXRoaW4gdGhlIGZpbGUsIG5hbWVseSBhcm91bmQgbGluZSA1OC4gTXkgZmlyc3QgdGhvdWdodCBpcywgd2h5IHRoYXQgcGFydGljdWxhciBsaW5lPyBJcyB0aGVyZSBzb21ldGhpbmcgc2lnbmlmaWNhbnQgaGFwcGVuaW5nIHRoZXJlPyBJcyBpdCBhIHBvdGVudGlhbCBzdGFydGluZyBwb2ludCBmb3IgZGVidWdnaW5nLCBhIGNydWNpYWwgY2FsY3VsYXRpb24sIG9yIHBlcmhhcHMgdGhlIGltcGxlbWVudGF0aW9uIG9mIGEgc3BlY2lmaWMgYWxnb3JpdGhtPyBNeSB5ZWFycyBvZiBleHBlcmllbmNlIHRlbGwgbWUgbGluZSBudW1iZXJzIG9mdGVuIGFjdCBhcyBpbmRpY2F0b3JzLiBTb21lb25lJiMzOTtzIGRyYXduIG15IGF0dGVudGlvbiB0aGVyZSwgc28gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlICp3aHkqIGJlaGluZCB0aGF0IGRpcmVjdGl2ZS4gSSYjMzk7bGwgYXBwcm9hY2ggaXQgd2l0aCBhIGxldmVsIG9mIGZvY3VzZWQgc2NydXRpbnkuIExldCYjMzk7cyBzZWUgd2hhdCB0aGF0IHNlY3Rpb24gb2YgdGhlIGNvZGUgcmV2ZWFscy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQuIE1heWJlIGl0IGhhcyB0byBkbyB3aXRoIGFuIGlzc3VlLCBzb21lIGRhdGEgdGhhdCBJIHdhcyBsb29raW5nIGF0Li4uIEkmIzM5O2xsIGtlZXAgYW4gb3BlbiBtaW5kIGFuZCBwcmVwYXJlIHRvIHRyYWNlIHRoZSBsb2dpYy4gTGluZSA1OCwgaGVyZSBJIGNvbWUhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogNTAsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICA1MDpcdFx0c2VsZWN0IFJUVzg5X0NPUkVcbiAgNTE6XHRcdHNlbGVjdCBSVFc4OV9QQ0lcbiAgNTI6XHRcdHNlbGVjdCBSVFc4OV84ODUxQlxuICA1MzpcdFx0aGVscFxuICA1NDpcdFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MUJFIGNoaXBzZXRcbiAgNTU6XHRcbiAgNTY6XHRcdCAgODAyLjExYXggUENJZSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXG4gIDU3Olx0XG4gIDU4Olx0Y29uZmlnIFJUVzg5Xzg4NTFCVVxuICA1OTpcdFx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4ODUxQlUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcJiMzNDtcbiAgNjA6XHRcdGRlcGVuZHMgb24gVVNCXG4gIDYxOlx0XHRzZWxlY3QgUlRXODlfQ09SRVxuICA2MjpcdFx0c2VsZWN0IFJUVzg5X1VTQlxuICA2MzpcdFx0c2VsZWN0IFJUVzg5Xzg4NTFCXG4gIDY0Olx0XHRoZWxwXG4gIDY1Olx0XHQgIFNlbGVjdCB0aGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBzdXBwb3J0IGZvciA4ODUxQlUgY2hpcHNldFxuICA2NjpcdFxuICA2NzpcdFx0ICA4MDIuMTFheCBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxuICA2ODpcdFxuICA2OTpcdGNvbmZpZyBSVFc4OV84ODUyQUVcbiAgNzA6XHRcdHRyaXN0YXRlIFwmIzM0O1JlYWx0ZWsgODg1MkFFIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXCYjMzQ7XG4gIDcxOlx0XHRkZXBlbmRzIG9uIFBDSVxuICA3MjpcdFx0c2VsZWN0IFJUVzg5X0NPUkVcbiAgNzM6XHRcdHNlbGVjdCBSVFc4OV9QQ0lcbiAgNzQ6XHRcdHNlbGVjdCBSVFc4OV84ODUyQVxuICA3NTpcdFx0aGVscFxuICA3NjpcdFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MkFFIGNoaXBzZXRcbiAgNzc6XHRcbiAgNzg6XHRcdCAgODAyLjExYXggUENJZSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXG4gIDc5Olx0XG4gIDgwOlx0Y29uZmlnIFJUVzg5Xzg4NTJBVVxuICA4MTpcdFx0dHJpc3RhdGUgXCYjMzQ7UmVhbHRlayA4ODUyQVUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcJiMzNDtcbiAgODI6XHRcdGRlcGVuZHMgb24gVVNCXG4gIDgzOlx0XHRzZWxlY3QgUlRXODlfQ09SRVxuICA4NDpcdFx0c2VsZWN0IFJUVzg5X1VTQlxuICA4NTpcdFx0c2VsZWN0IFJUVzg5Xzg4NTJBXG4gIDg2Olx0XHRoZWxwXG4gIDg3Olx0XHQgIFNlbGVjdCB0aGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBzdXBwb3J0IGZvciA4ODUyQVUgY2hpcHNldFxuICA4ODpcdFxuICA4OTpcdFx0ICA4MDIuMTFheCBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxuICA5MDpcdFxuICA5MTpcdGNvbmZpZyBSVFc4OV84ODUyQkVcbiAgOTI6XHRcdHRyaXN0YXRlIFwmIzM0O1JlYWx0ZWsgODg1MkJFIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXCYjMzQ7XG4gIDkzOlx0XHRkZXBlbmRzIG9uIFBDSVxuICA5NDpcdFx0c2VsZWN0IFJUVzg5X0NPUkVcbiAgOTU6XHRcdHNlbGVjdCBSVFc4OV9QQ0lcbiAgOTY6XHRcdHNlbGVjdCBSVFc4OV84ODUyQlxuICA5NzpcdFx0c2VsZWN0IFJUVzg5Xzg4NTJCX0NPTU1PTlxuICA5ODpcdFx0aGVscFxuICA5OTpcdFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MkJFIGNoaXBzZXRcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAzNzMKCQkJCQkJCW91dHB1dDogMjMwCgkJCQkJCQl0aG91Z2h0czogMTg0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFuYWx5c2lzIG9mIHRoZSBEcml2ZXIgUHJvYmUgUGF0aCBGaXgqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoZXNlIGNvbmZpZ3VyYXRpb25zOiBSVFc4OV84ODUxQlUsIFJUVzg5Xzg4NTJBVSwgUlRXODlfODg1MkJVLCBSVFc4OV84ODUyQ1UsIFJUVzg5Xzg5MjJBVSwgUlRXODlfVVNCLCBhbmQgUlRXODlfQ09SRS4gSSYjMzk7bSBnb2luZyB0byBtYWtlIHN1cmUgdG8gaW5jbHVkZSB0aG9zZSBpbiBteSBhc3Nlc3NtZW50LgoKVGhlIGtleSBmdW5jdGlvbnMgaGVyZSBhcmUgdGhlIGBydHcqcHJvYmVgIGZ1bmN0aW9ucyDigJMgc3BlY2lmaWNhbGx5IGBydHc4ODUxYnVfcHJvYmVgLCBgcnR3ODg1MmF1X3Byb2JlYCwgYHJ0dzg4NTJidV9wcm9iZWAsIGBydHc4ODUyY3VfcHJvYmVgLCBgcnR3ODkyMmF1X3Byb2JlYCwgYW5kIGBydHc4OV91c2JfcHJvYmVgLiBUaG9zZSBhcmUgdGhlIGVudHJ5IHBvaW50cyBJIG5lZWQgdG8gc2NydXRpbml6ZS4KClRoaXMgbG9va3MgbGlrZSBhIGZ1bmN0aW9uYWwgY2hhbmdlIOKAkyBhIHBvdGVudGlhbCBmaXggZm9yIGEgZmFpcmx5IG5hc3R5IGJ1ZyBpbiB0aGUgZHJpdmVyIHByb2JlIHBhdGggd2hlcmUgYGlkLSZndDtkcml2ZXJfaW5mb2AgbWlnaHQgYmUgbnVsbC4gQW55IHRpbWUgeW91JiMzOTtyZSB0b3VjaGluZyBwcm9iZSBjb2RlLCBpdCYjMzk7cyB3b3J0aCBhIGRlZXAgZGl2ZSwgYW5kIGZpeGluZyBhIGBOVUxMYCBwb2ludGVyIGRlcmVmZXJlbmNlIGlzIGVzcGVjaWFsbHkgY3JpdGljYWwuIFRoaXMgc2NyZWFtcyAmIzM0O3Z1bG5lcmFibGUhJiMzNDsgdG8gbWUuIFRoaXMgbmVlZHMgc29tZSBzZXJpb3VzIGZ1enppbmcgdG8gbWFrZSBzdXJlIHRoaXMgZml4IGlzIGFjdHVhbGx5IGNvcnJlY3QgYW5kIGRvZXNuJiMzOTt0IGludHJvZHVjZSBhbnkgbmV3IGlzc3VlcyBvciBleHBvc2UgdGhlIHN5c3RlbSB0byB2dWxuZXJhYmlsaXRpZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtSVFc4OV84ODUxQlUmIzM0OywKICAgICYjMzQ7UlRXODlfODg1MkFVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg4NTJCVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84ODUyQ1UmIzM0OywKICAgICYjMzQ7UlRXODlfODkyMkFVJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7cnR3ODg1MWJ1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg4NTJhdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4ODUyYnVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODg1MmN1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg5MjJhdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4OV91c2JfcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFVTQiBwcm9iZSBmdW5jdGlvbnMgZm9yIG11bHRpcGxlIFJlYWx0ZWsgcnR3ODkgd2lyZWxlc3MgZHJpdmVycyB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIFVTQiBkZXZpY2UgSUQgZHJpdmVyX2luZm8gaXMgTlVMTCAoZS5nLiwgd2hlbiBwcm9iZWQgdmlhIHN5c2ZzIG5ld19pZCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgZHJpdmVyIGluaXRpYWxpemF0aW9uIHBhdGggdGhhdCBpcyByZWFjaGFibGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHZpYSBVU0IgZW11bGF0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtSVFc4OV84ODUxQlUmIzM0OywKICAgICYjMzQ7UlRXODlfODg1MkFVJiMzNDssCiAgICAmIzM0O1JUVzg5Xzg4NTJCVSYjMzQ7LAogICAgJiMzNDtSVFc4OV84ODUyQ1UmIzM0OywKICAgICYjMzQ7UlRXODlfODkyMkFVJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7cnR3ODg1MWJ1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg4NTJhdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4ODUyYnVfcHJvYmUmIzM0OywKICAgICYjMzQ7cnR3ODg1MmN1X3Byb2JlJiMzNDssCiAgICAmIzM0O3J0dzg5MjJhdV9wcm9iZSYjMzQ7LAogICAgJiMzNDtydHc4OV91c2JfcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFVTQiBwcm9iZSBmdW5jdGlvbnMgZm9yIG11bHRpcGxlIFJlYWx0ZWsgcnR3ODkgd2lyZWxlc3MgZHJpdmVycyB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIFVTQiBkZXZpY2UgSUQgZHJpdmVyX2luZm8gaXMgTlVMTCAoZS5nLiwgd2hlbiBwcm9iZWQgdmlhIHN5c2ZzIG5ld19pZCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgZHJpdmVyIGluaXRpYWxpemF0aW9uIHBhdGggdGhhdCBpcyByZWFjaGFibGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHZpYSBVU0IgZW11bGF0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xOSAyMDoyMjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+SWY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE5IDIwOjIyPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPmttc2FuLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0tNU0FOUmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgcnR3ODkgVVNCIGRyaXZlciBwcm9iZSBwYXRoLiBXaGVuIGEgVVNCIGRldmljZSBpcyBib3VuZCBkeW5hbWljYWxseSB2aWEgc3lzZnMgKGUuZy4sIHVzaW5nIGBuZXdfaWRgKSwgdGhlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgZmllbGQgY2FuIGJlIE5VTEwuIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgYGRlZmF1bHRfaW5mb2AgZmFsbGJhY2sgdG8gZW5zdXJlIHRoZSBkcml2ZXIgaW5mbyBzdHJ1Y3R1cmUgaXMgYWx3YXlzIHZhbGlkLiBUaGlzIHByZXZlbnRzIGEgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCB3aGljaCBpcyBhbHJlYWR5IGNhdWdodCBieSBzdGFuZGFyZCBrZXJuZWwgZGVidWdnaW5nIHRvb2xzIGFuZCBLQVNBTi4gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBvciBleHBvc2UgYW55IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzIG9yIGluZm8tbGVha3MsIHNvIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3QgbmVjZXNzYXJ5LiYjMzQ7LAogICYjMzQ7TmVlZHNLTVNBTiYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBzZWN1cml0eSBlbmdpbmVlciBzcGVjaWFsaXppbmcgaW4ga2VybmVsIG1lbW9yeQplcnJvciBkZXRlY3RvcnMgKEtBU0FOIGFuZCBLTVNBTikuIFlvdXIgam9iIGlzIHRvIHJldmlldyB0aGUgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZApkZXRlcm1pbmUgaWYgdGhlIGNvZGUgY2hhbmdlcyBqdXN0aWZ5IHNwYXduaW5nIGEgZGVkaWNhdGVkIEtNU0FOIChLZXJuZWxNZW1vcnlTYW5pdGl6ZXIpCmZ1enppbmcgc2Vzc2lvbiBpbiBhZGRpdGlvbiB0byBzdGFuZGFyZCBLQVNBTiBmdXp6aW5nLgoKQ1JJVElDQUwgRElTVElOQ1RJT04gQkVUV0VFTiBLQVNBTiBBTkQgS01TQU46Ci0gU3RhbmRhcmQgS0FTQU4ga2VybmVsIGJ1aWxkcyAodXBzdHJlYW0tYXBwYXJtb3Ita2FzYW4uY29uZmlnKSBhbHJlYWR5IGVuYWJsZQogIGEgY29tcHJlaGVuc2l2ZSBzdWl0ZSBvZiBkZWJ1Z2dpbmcgdG9vbHMgYW5kIHNhbml0aXplcnMsIGluY2x1ZGluZyBLQVNBTgogIChvdXQtb2YtYm91bmRzIGFjY2Vzc2VzLCB1c2UtYWZ0ZXItZnJlZSwgZG91YmxlIGZyZWUsIGludmFsaWQgZnJlZSksIExPQ0tERVAKICAobG9ja2luZyBidWdzIGFuZCBkZWFkbG9ja3MpLCBVQi1zYW5pdGl6ZXJzLCBhbmQgbWVtb3J5IGNvcnJ1cHRpb24gY2hlY2tzLgotIEtNU0FOIChLZXJuZWxNZW1vcnlTYW5pdGl6ZXIpIGRldGVjdHMgcmVhZHMgb2YgVU5JTklUSUFMSVpFRCBtZW1vcnkgKHN0YWNrLCBoZWFwLAogIG9yIHBhZ2UgYWxsb2NhdGlvbnMpIGFuZCBrZXJuZWwtdG8tdXNlciBtZW1vcnkgaW5mby1sZWFrcy4KClJ1bGU6IFRIRVJFIElTIE5PIFNFTlNFIElOIFJVTk5JTkcgQSBLTVNBTiBTRVNTSU9OIElGIEEgQlVHIENBTiBCRSBDQVVHSFQgQlkgS0FTQU4sCkxPQ0tERVAsIE9SIE9USEVSIFNUQU5EQVJEIEJVRyBERVRFQ1RPUlMuCkEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpbmN1cnMgc2lnbmlmaWNhbnQgcmVzb3VyY2UgY29zdHMuIFlvdSBtdXN0IE9OTFkKc2V0IE5lZWRzS01TQU49dHJ1ZSBpZiB0aGUgY29kZSBjaGFuZ2VzIGludHJvZHVjZSBvciBleHBvc2UgVU5JTklUSUFMSVpFRCBNRU1PUlkgcmlza3MKdGhhdCBhcmUgZGV0ZWN0ZWQgT05MWSBieSBLTVNBTi4KCkxvb2sgaG9saXN0aWNhbGx5IGF0IHRoZSBwYXRjaCBzZXJpZXMgYW5kIHN1cnJvdW5kaW5nIGNvZGUuIEV2ZW4gaWYgbm8gZGlyZWN0CnVuaW5pdGlhbGl6ZWQgZmllbGQgYWNjZXNzZXMgb3IgbmV3IGJ1ZmZlciBhbGxvY2F0aW9ucyBhcmUgYWRkZWQgaW4gdGhlIGRpZmYgaXRzZWxmLAphIHBhdGNoIG1heSBhbHRlciBjb250cm9sIGZsb3csIGJvdW5kcyBjaGVja2luZywgb3IgZGF0YSBsZW5ndGggY2FsY3VsYXRpb25zIGluIHdheXMKdGhhdCBjaGFuZ2UgaG93IHRoZSByZXN0IG9mIHRoZSBjb2RlIG9wZXJhdGVzIG9uIGV4aXN0aW5nIGJ1ZmZlcnMgKGUuZy4gYWxsb3dpbmcKdW5pbml0aWFsaXplZCBzdGFjay9oZWFwIG1lbW9yeSB0byBiZSByZWFkLCBjb3BpZWQgdG8gdXNlciBzcGFjZSwgb3IgdXNlZCBpbiBjb250cm9sCmZsb3cpLiBEbyBub3QgaGVzaXRhdGUgdG8gdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSwKY2FsbGVkIGZ1bmN0aW9ucywgYW5kIGNhbGxlcnMuCgpTZXQgTmVlZHNLTVNBTj10cnVlIE9OTFkgSUYgdGhlIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXM6CjEuIEtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlciBzcGFjZSAodmlhIGNvcHlfdG9fdXNlciwgcHV0X3VzZXIsIG5ldGxpbmsgc2tiCiAgIGF0dHJpYnV0ZXMsIGlvY3RsIG91dHB1dCBhcmd1bWVudHMsIHNvY2tldCBvcHRpb25zLCBvciBCUEYgYnVmZmVycykgd2hlcmUgZmllbGRzCiAgIG9yIHN0cnVjdHVyZSBwYWRkaW5nIG1pZ2h0IG5vdCBiZSBmdWxseSBpbml0aWFsaXplZC96ZXJvZWQuCjIuIENvbmRpdGlvbmFsIGxvZ2ljIG9yIGJyYW5jaGluZyB0aGF0IGRlcGVuZHMgb24gcG90ZW50aWFsbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMKICAgb3Igc3RydWN0IGZpZWxkcy4KMy4gQWxsb2NhdGlvbiBvciBpbml0aWFsaXphdGlvbiBvZiBjb21wbGV4IGRhdGEgc3RydWN0dXJlcyB3aGVyZSB1bmluaXRpYWxpemVkIGZpZWxkcwogICBjb3VsZCBiZSByZWFkIGxhdGVyIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLgo0LiBCb3VuZHMgY2hlY2tzLCBsZW5ndGhzLCBvciBsb2dpYyBpbiBhIHdheSB0aGF0IGFsbG93cyBzdXJyb3VuZGluZyBjb2RlIHRvIGFjY2VzcwogICB1bmluaXRpYWxpemVkIGJ5dGVzIG9mIGV4aXN0aW5nIGJ1ZmZlcnMuCgpTZXQgTmVlZHNLTVNBTj1mYWxzZSBJRjoKLSBUaGUgY29kZSBjaGFuZ2VzIHByaW1hcmlseSByaXNrIG91dC1vZi1ib3VuZHMgYWNjZXNzLCBhcnJheSBvdmVyZmxvd3MsIE5VTEwgcG9pbnRlcgogIGRlcmVmZXJlbmNlcywgbG9ja2luZyBkZWFkbG9ja3MsIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgKHRoZXNlIGFyZSBhbHJlYWR5IGNhdWdodAogIGJ5IEtBU0FOLCBMT0NLREVQLCBvciBzdGFuZGFyZCBidWcgZGV0ZWN0b3JzKS4KLSBBbGwgc3RhY2svaGVhcCBzdHJ1Y3R1cmVzIHRvdWNoZWQgb3IgaW50cm9kdWNlZCBieSB0aGUgcGF0Y2ggYXJlIGZ1bGx5IHplcm9lZAogIG9yIGluaXRpYWxpemVkIChlLmcuIHVzaW5nID0gezB9LCBtZW1zZXQsIGt6YWxsb2MpIGJlZm9yZSBiZWluZyByZWFkIG9yIGNvcGllZC4KLSBUaGUgcGF0Y2ggZG9lcyBub3QgaW50cm9kdWNlIGFueSByaXNrIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHVzYWdlIG9yIGluZm8tbGVha3MuCgpVc2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlIGlmIG5lY2Vzc2FyeSwgdGhlbiBwcm92aWRlCmRldGFpbGVkIEtNU0FOUmVhc29uaW5nIGNvbnRyYXN0aW5nIEtBU0FOIHZzIEtNU0FOIGFwcGxpY2FiaWxpdHkgZm9yIHRoaXMgcGF0Y2guClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA2YzdlODJmODgyNDk4MTk1ODE2Yjg4MjhjNThlZDI1ZmZhNTA3MDdjCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBBdWcgMTkgMjA6MjI6MDUgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuYwppbmRleCAxZTgyNzIwNWYyNTQwLi42NjcyZWJlNjhmMTcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMKQEAgLTU5LDEwICYjNDM7NTksMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUxYnVfaWRfdGFibGVbXSA9IHsKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTFidV9pZF90YWJsZSk7CiAKJiM0MztzdGF0aWMgaW50IHJ0dzg4NTFidV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKJiM0MzsJCQkgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiYjNDM7ewomIzQzOwlyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCAmYW1wO3J0dzg5Xzg4NTFidV9pbmZvKTsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTFidV9kcml2ZXIgPSB7CiAJLm5hbWUgPSBLQlVJTERfTU9ETkFNRSwKIAkuaWRfdGFibGUgPSBydHdfODg1MWJ1X2lkX3RhYmxlLAotCS5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSwKJiM0MzsJLnByb2JlID0gcnR3ODg1MWJ1X3Byb2JlLAogCS5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsCiB9OwogbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTFidV9kcml2ZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmMKaW5kZXggMDY1ZjRlNWIxN2FmYS4uMWEyZTVkZmJhYWIzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jCkBAIC03MywxMCAmIzQzOzczLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmF1X2lkX3RhYmxlW10gPSB7CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYXVfaWRfdGFibGUpOwogCiYjNDM7c3RhdGljIGludCBydHc4ODUyYXVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCiYjNDM7CQkJICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKQomIzQzO3sKJiM0MzsJcmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgJmFtcDtydHc4OV84ODUyYXVfaW5mbyk7CiYjNDM7fQomIzQzOwogc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyYXVfZHJpdmVyID0gewogCS5uYW1lID0gS0JVSUxEX01PRE5BTUUsCiAJLmlkX3RhYmxlID0gcnR3Xzg4NTJhdV9pZF90YWJsZSwKLQkucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsCiYjNDM7CS5wcm9iZSA9IHJ0dzg4NTJhdV9wcm9iZSwKIAkuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LAogfTsKIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyYXVfZHJpdmVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jCmluZGV4IGRlNzlhMTlhMjgyNGQuLjU1MGZjNGFjN2EyMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYwpAQCAtNzMsMTAgJiM0Mzs3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJidV9pZF90YWJsZVtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmJ1X2lkX3RhYmxlKTsKIAomIzQzO3N0YXRpYyBpbnQgcnR3ODg1MmJ1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAomIzQzOwkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0Mzt7CiYjNDM7CXJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsICZhbXA7cnR3ODlfODg1MmJ1X2luZm8pOwomIzQzO30KJiM0MzsKIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmJ1X2RyaXZlciA9IHsKIAkubmFtZSA9IEtCVUlMRF9NT0ROQU1FLAogCS5pZF90YWJsZSA9IHJ0d184ODUyYnVfaWRfdGFibGUsCi0JLnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLAomIzQzOwkucHJvYmUgPSBydHc4ODUyYnVfcHJvYmUsCiAJLmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCwKIH07CiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmJ1X2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuYwppbmRleCAyZGVjOWI4NDU0ODE1Li42Zjg1MmY0YTcxM2UxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMKQEAgLTEzMywxMCAmIzQzOzEzMywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJjdV9pZF90YWJsZVtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmN1X2lkX3RhYmxlKTsKIAomIzQzO3N0YXRpYyBpbnQgcnR3ODg1MmN1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAomIzQzOwkJCSAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKJiM0Mzt7CiYjNDM7CXJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsICZhbXA7cnR3ODlfODg1MmN1X2luZm8pOwomIzQzO30KJiM0MzsKIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmN1X2RyaXZlciA9IHsKIAkubmFtZSA9IEtCVUlMRF9NT0ROQU1FLAogCS5pZF90YWJsZSA9IHJ0d184ODUyY3VfaWRfdGFibGUsCi0JLnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLAomIzQzOwkucHJvYmUgPSBydHc4ODUyY3VfcHJvYmUsCiAJLmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCwKIH07CiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmN1X2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuYwppbmRleCA1NmM3OWIxZWM4NjVmLi4yY2QyYjc2ZDE5YWNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmMKQEAgLTc0LDEwICYjNDM7NzQsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184OTIyYXVfaWRfdGFibGVbXSA9IHsKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg5MjJhdV9pZF90YWJsZSk7CiAKJiM0MztzdGF0aWMgaW50IHJ0dzg5MjJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKJiM0MzsJCQkgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiYjNDM7ewomIzQzOwlyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCAmYW1wO3J0dzg5Xzg5MjJhdV9pbmZvKTsKJiM0Mzt9CiYjNDM7CiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg5MjJhdV9kcml2ZXIgPSB7CiAJLm5hbWUgPSBLQlVJTERfTU9ETkFNRSwKIAkuaWRfdGFibGUgPSBydHdfODkyMmF1X2lkX3RhYmxlLAotCS5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSwKJiM0MzsJLnByb2JlID0gcnR3ODkyMmF1X3Byb2JlLAogCS5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsCiB9OwogbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg5MjJhdV9kcml2ZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmMKaW5kZXggYWFmYThiOWU5M2RmYy4uZGJhZDQyYzE3NzYxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jCkBAIC0xMjAxLDcgJiM0MzsxMjAxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcnR3ODlfdXNiX2dyb3VwID0gewogX19BVFRSSUJVVEVfR1JPVVBTKHJ0dzg5X3VzYik7CiAKIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCi0JCSAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpCiYjNDM7CQkgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLAomIzQzOwkJICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKQogewogCWNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqaW5mbzsKIAlzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXY7CkBAIC0xMjA5LDYgJiM0MzsxMjEwLDggQEAgaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwKIAlpbnQgcmV0OwogCiAJaW5mbyA9IChjb25zdCBzdHJ1Y3QgcnR3ODlfZHJpdmVyX2luZm8gKilpZC0mZ3Q7ZHJpdmVyX2luZm87CiYjNDM7CWlmICghaW5mbykKJiM0MzsJCWluZm8gPSBkZWZhdWx0X2luZm87CiAKIAlydHdkZXYgPSBydHc4OV9hbGxvY19pZWVlODAyMTFfaHcoJmFtcDtpbnRmLSZndDtkZXYsCiAJCQkJCSAgc2l6ZW9mKHN0cnVjdCBydHc4OV91c2IpLCBpbmZvKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oCmluZGV4IGJkZjMxMjU1OTc0MzguLmQyYWYyOWQwNjhmMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmgKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaApAQCAtOTUsNyAmIzQzOzk1LDggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcnR3ODlfdXNiICpydHc4OV91c2JfcHJpdihzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYpCiB9CiAKIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCi0JCSAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpOwomIzQzOwkJICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCwKJiM0MzsJCSAgICBjb25zdCBzdHJ1Y3QgcnR3ODlfZHJpdmVyX2luZm8gKmRlZmF1bHRfaW5mbyk7CiB2b2lkIHJ0dzg5X3VzYl9kaXNjb25uZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKTsKIAogI2VuZGlmCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzM8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xOSAyMDoyMjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NDExCgkJCQkJCQlvdXRwdXQ6IDE1MgoJCQkJCQkJdGhvdWdodHM6IDM4OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiB0aGlzIFJlYWx0ZWsgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgYWltZWQgc3F1YXJlbHkgYXQgdGhlIGBydHc4OWAgd2lyZWxlc3MgZHJpdmVyIGZvciBSZWFsdGVrIFVTQiBkZXZpY2VzLiBJIHNlZSB0aGF0IHRoZXkmIzM5O3JlIG1vZGlmeWluZyBgcnR3ODlfdXNiX3Byb2JlYCB0byBhY2NlcHQgYSBgZGVmYXVsdF9pbmZvYCBhcmd1bWVudC4gVGhhdCYjMzk7cyBpbW1lZGlhdGVseSBpbnRlcmVzdGluZy4gTG9va2luZyBkZWVwZXIsIGl0IHNlZW1zIHRoZXkmIzM5O3JlIGFkZGluZyB3cmFwcGVyIGZ1bmN0aW9ucywgbGlrZSBgcnR3ODg1MWJ1X3Byb2JlYCwgaW4gdGhlIGluZGl2aWR1YWwgZGV2aWNlIGRyaXZlciBmaWxlcy4gVGhlc2Ugd3JhcHBlcnMgdGhlbiBjYWxsIHRoZSB1cGRhdGVkIGBydHc4OV91c2JfcHJvYmVgLCBwYXNzaW5nIHRoZSBkZXZpY2Utc3BlY2lmaWMgaW5mb3JtYXRpb24gc3RydWN0IChgJmFtcDtydHc4OV84ODUxYnVfaW5mb2AgaW4gdGhlIGV4YW1wbGUpLgoKQWgsIEkgZ2V0IGl0LiBUaGlzIGlzIHByb2JhYmx5IHRvIGhhbmRsZSBhIHNpdHVhdGlvbiB3aGVyZSBgaWQtJmd0O2RyaXZlcl9pbmZvYCBtaWdodCBiZSBOVUxMIG9yIGlzbiYjMzk7dCBwb3B1bGF0ZWQgY29ycmVjdGx5LiBUaGlzIGNhbiBoYXBwZW4sIGVzcGVjaWFsbHkgd2l0aCBkeW5hbWljIFVTQiBJRCBiaW5kaW5nIHRocm91Z2ggc3lzZnMgYG5ld19pZGAuIEluIHRoZXNlIHNjZW5hcmlvcywgYGRyaXZlcl9pbmZvYCBpc24mIzM5O3QgYWx3YXlzIHByb3ZpZGVkLiBJZiBpdCYjMzk7cyBOVUxMLCB0aGUgY29kZSB3b3VsZCBiZSBkZXJlZmVyZW5jaW5nIGEgbnVsbCBwb2ludGVyIHdoZW4gaXQgdHJpZXMgdG8gdXNlIHRoYXQgYGluZm9gIHBvaW50ZXIgbGF0ZXIgb24gaW4gdGhlIHByb2Nlc3MsIGxpa2VseSBpbiBgcnR3ODlfYWxsb2NfaWVlZTgwMjExX2h3YCBvciBzb21ld2hlcmUgc2ltaWxhci4gQSBjbGFzc2ljIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBzaXR1YXRpb24hCgpUaGlzIHBhdGNoIHByb3ZpZGVzIGEgZGVmYXVsdCBgaW5mb2Agc3RydWN0dXJlLCBlbnN1cmluZyB0aGF0IHRoZSBkcml2ZXIgKmFsd2F5cyogaGFzIHZhbGlkIGRhdGEgdG8gd29yayB3aXRoLCBldmVuIGlmIHRoZSBkZXZpY2UgaXNuJiMzOTt0IHByb3Blcmx5IGlkZW50aWZpZWQgaW5pdGlhbGx5LiBUaGF0IHByZXZlbnRzIHRoZSBjcmFzaC4KCkkgcXVpY2tseSBzY2FubmVkIHRoZSBjb2RlIGNoYW5nZXMgYW5kIGNvbmZpcm06IHRoZSBjb3JlIG9mIHRoZSBmaXggaXMgdGhhdCBzdGFuZGFyZCBjaGVjazoKYGBgYwogCWluZm8gPSAoY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICopaWQtJmd0O2RyaXZlcl9pbmZvOwomIzQzOwlpZiAoIWluZm8pCiYjNDM7CQlpbmZvID0gZGVmYXVsdF9pbmZvOwpgYGAKVGhhdCYjMzk7cyBpdC4gSXQmIzM5O3MgYSBjbGVhbiwgc3RyYWlnaHRmb3J3YXJkIGZpeCBmb3IgYSBjb21tb24gVVNCIGRyaXZlciBpc3N1ZS4gTm8gdW5pbml0aWFsaXplZCBtZW1vcnkgdXNhZ2UsIG5vIGluZm9ybWF0aW9uIGxlYWtzLCBvciBhbnl0aGluZyB0aGF0IHdvdWxkIHdhcnJhbnQgdGhlIHVzZSBvZiBLTVNBTi4gU28sIEkgd2lsbCBtYXJrIHRoaXMgYXMgYE5lZWRzS01TQU49ZmFsc2VgLiBJdCYjMzk7cyBhIHNvbGlkLCBuZWNlc3NhcnksIGFuZCB3ZWxsLXRhcmdldGVkIGZpeC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8zPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTkgMjA6MjM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHRoZSBydHc4OSBVU0IgZHJpdmVyIHByb2JlIHBhdGguIFdoZW4gYSBVU0IgZGV2aWNlIGlzIGJvdW5kIGR5bmFtaWNhbGx5IHZpYSBzeXNmcyAoZS5nLiwgdXNpbmcgYG5ld19pZGApLCB0aGUgYGlkLVx1MDAzZWRyaXZlcl9pbmZvYCBmaWVsZCBjYW4gYmUgTlVMTC4gVGhlIHBhdGNoIGludHJvZHVjZXMgYSBgZGVmYXVsdF9pbmZvYCBmYWxsYmFjayB0byBlbnN1cmUgdGhlIGRyaXZlciBpbmZvIHN0cnVjdHVyZSBpcyBhbHdheXMgdmFsaWQuIFRoaXMgcHJldmVudHMgYSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIHdoaWNoIGlzIGFscmVhZHkgY2F1Z2h0IGJ5IHN0YW5kYXJkIGtlcm5lbCBkZWJ1Z2dpbmcgdG9vbHMgYW5kIEtBU0FOLiBUaGUgcGF0Y2ggZG9lcyBub3QgaW50cm9kdWNlIG9yIGV4cG9zZSBhbnkgdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3Mgb3IgaW5mby1sZWFrcywgc28gYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCBuZWNlc3NhcnkuJiMzNDssCiAgJiMzNDtOZWVkc0tNU0FOJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIHJ0dzg5IFVTQiBkcml2ZXIgcHJvYmUgcGF0aC4gV2hlbiBhIFVTQiBkZXZpY2UgaXMgYm91bmQgZHluYW1pY2FsbHkgdmlhIHN5c2ZzIChlLmcuLCB1c2luZyBgbmV3X2lkYCksIHRoZSBgaWQtXHUwMDNlZHJpdmVyX2luZm9gIGZpZWxkIGNhbiBiZSBOVUxMLiBUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIGBkZWZhdWx0X2luZm9gIGZhbGxiYWNrIHRvIGVuc3VyZSB0aGUgZHJpdmVyIGluZm8gc3RydWN0dXJlIGlzIGFsd2F5cyB2YWxpZC4gVGhpcyBwcmV2ZW50cyBhIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwgd2hpY2ggaXMgYWxyZWFkeSBjYXVnaHQgYnkgc3RhbmRhcmQga2VybmVsIGRlYnVnZ2luZyB0b29scyBhbmQgS0FTQU4uIFRoZSBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2Ugb3IgZXhwb3NlIGFueSB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcyBvciBpbmZvLWxlYWtzLCBzbyBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IG5lY2Vzc2FyeS4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMTlUMjA6MjI6MDUuOTc3NDg4NjZaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NDUwMzE3NzQwNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSVFc4OV84ODUxQlVcIixcbiAgICBcIlJUVzg5Xzg4NTJBVVwiLFxuICAgIFwiUlRXODlfODg1MkJVXCIsXG4gICAgXCJSVFc4OV84ODUyQ1VcIixcbiAgICBcIlJUVzg5Xzg5MjJBVVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJ0dzg4NTFidV9wcm9iZVwiLFxuICAgIFwicnR3ODg1MmF1X3Byb2JlXCIsXG4gICAgXCJydHc4ODUyYnVfcHJvYmVcIixcbiAgICBcInJ0dzg4NTJjdV9wcm9iZVwiLFxuICAgIFwicnR3ODkyMmF1X3Byb2JlXCIsXG4gICAgXCJydHc4OV91c2JfcHJvYmVcIlxuICBdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgcnR3ODkgVVNCIGRyaXZlciBwcm9iZSBwYXRoLiBXaGVuIGEgVVNCIGRldmljZSBpcyBib3VuZCBkeW5hbWljYWxseSB2aWEgc3lzZnMgKGUuZy4sIHVzaW5nIGBuZXdfaWRgKSwgdGhlIGBpZC1cXHUwMDNlZHJpdmVyX2luZm9gIGZpZWxkIGNhbiBiZSBOVUxMLiBUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIGBkZWZhdWx0X2luZm9gIGZhbGxiYWNrIHRvIGVuc3VyZSB0aGUgZHJpdmVyIGluZm8gc3RydWN0dXJlIGlzIGFsd2F5cyB2YWxpZC4gVGhpcyBwcmV2ZW50cyBhIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwgd2hpY2ggaXMgYWxyZWFkeSBjYXVnaHQgYnkgc3RhbmRhcmQga2VybmVsIGRlYnVnZ2luZyB0b29scyBhbmQgS0FTQU4uIFRoZSBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2Ugb3IgZXhwb3NlIGFueSB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcyBvciBpbmZvLWxlYWtzLCBzbyBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IG5lY2Vzc2FyeS5cIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVVNCIHByb2JlIGZ1bmN0aW9ucyBmb3IgbXVsdGlwbGUgUmVhbHRlayBydHc4OSB3aXJlbGVzcyBkcml2ZXJzIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgVVNCIGRldmljZSBJRCBkcml2ZXJfaW5mbyBpcyBOVUxMIChlLmcuLCB3aGVuIHByb2JlZCB2aWEgc3lzZnMgbmV3X2lkKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBkcml2ZXIgaW5pdGlhbGl6YXRpb24gcGF0aCB0aGF0IGlzIHJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdmlhIFVTQiBlbXVsYXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjA1Ljk3NzQ5NDgzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODIwMzI4MTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA2YzdlODJmODgyNDk4MTk1ODE2Yjg4MjhjNThlZDI1ZmZhNTA3MDdjXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgQXVnIDE5IDIwOjIyOjA1IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXFxuaW5kZXggMWU4MjcyMDVmMjU0MC4uNjY3MmViZTY4ZjE3MiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuY1xcbkBAIC01OSwxMCArNTksMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUxYnVfaWRfdGFibGVbXSA9IHtcXG4gfTtcXG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUxYnVfaWRfdGFibGUpO1xcbiBcXG4rc3RhdGljIGludCBydHc4ODUxYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuK1xcdFxcdFxcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcXG4re1xcbitcXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcXHUwMDI2cnR3ODlfODg1MWJ1X2luZm8pO1xcbit9XFxuK1xcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTFidV9kcml2ZXIgPSB7XFxuIFxcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXFxuIFxcdC5pZF90YWJsZSA9IHJ0d184ODUxYnVfaWRfdGFibGUsXFxuLVxcdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcXG4rXFx0LnByb2JlID0gcnR3ODg1MWJ1X3Byb2JlLFxcbiBcXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxcbiB9O1xcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MWJ1X2RyaXZlcik7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXFxuaW5kZXggMDY1ZjRlNWIxN2FmYS4uMWEyZTVkZmJhYWIzYyAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuY1xcbkBAIC03MywxMCArNzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYXVfaWRfdGFibGVbXSA9IHtcXG4gfTtcXG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYXVfaWRfdGFibGUpO1xcbiBcXG4rc3RhdGljIGludCBydHc4ODUyYXVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuK1xcdFxcdFxcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcXG4re1xcbitcXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcXHUwMDI2cnR3ODlfODg1MmF1X2luZm8pO1xcbit9XFxuK1xcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJhdV9kcml2ZXIgPSB7XFxuIFxcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXFxuIFxcdC5pZF90YWJsZSA9IHJ0d184ODUyYXVfaWRfdGFibGUsXFxuLVxcdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcXG4rXFx0LnByb2JlID0gcnR3ODg1MmF1X3Byb2JlLFxcbiBcXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxcbiB9O1xcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmF1X2RyaXZlcik7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXFxuaW5kZXggZGU3OWExOWEyODI0ZC4uNTUwZmM0YWM3YTIxZiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuY1xcbkBAIC03MywxMCArNzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYnVfaWRfdGFibGVbXSA9IHtcXG4gfTtcXG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYnVfaWRfdGFibGUpO1xcbiBcXG4rc3RhdGljIGludCBydHc4ODUyYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuK1xcdFxcdFxcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcXG4re1xcbitcXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcXHUwMDI2cnR3ODlfODg1MmJ1X2luZm8pO1xcbit9XFxuK1xcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJidV9kcml2ZXIgPSB7XFxuIFxcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXFxuIFxcdC5pZF90YWJsZSA9IHJ0d184ODUyYnVfaWRfdGFibGUsXFxuLVxcdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcXG4rXFx0LnByb2JlID0gcnR3ODg1MmJ1X3Byb2JlLFxcbiBcXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxcbiB9O1xcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmJ1X2RyaXZlcik7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXFxuaW5kZXggMmRlYzliODQ1NDgxNS4uNmY4NTJmNGE3MTNlMSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuY1xcbkBAIC0xMzMsMTAgKzEzMywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJjdV9pZF90YWJsZVtdID0ge1xcbiB9O1xcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJjdV9pZF90YWJsZSk7XFxuIFxcbitzdGF0aWMgaW50IHJ0dzg4NTJjdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcXG4rXFx0XFx0XFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxcbit7XFxuK1xcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFxcdTAwMjZydHc4OV84ODUyY3VfaW5mbyk7XFxuK31cXG4rXFxuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmN1X2RyaXZlciA9IHtcXG4gXFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcXG4gXFx0LmlkX3RhYmxlID0gcnR3Xzg4NTJjdV9pZF90YWJsZSxcXG4tXFx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxcbitcXHQucHJvYmUgPSBydHc4ODUyY3VfcHJvYmUsXFxuIFxcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXFxuIH07XFxuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyY3VfZHJpdmVyKTtcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcXG5pbmRleCA1NmM3OWIxZWM4NjVmLi4yY2QyYjc2ZDE5YWNmIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jXFxuQEAgLTc0LDEwICs3NCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg5MjJhdV9pZF90YWJsZVtdID0ge1xcbiB9O1xcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg5MjJhdV9pZF90YWJsZSk7XFxuIFxcbitzdGF0aWMgaW50IHJ0dzg5MjJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcXG4rXFx0XFx0XFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxcbit7XFxuK1xcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFxcdTAwMjZydHc4OV84OTIyYXVfaW5mbyk7XFxuK31cXG4rXFxuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODkyMmF1X2RyaXZlciA9IHtcXG4gXFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcXG4gXFx0LmlkX3RhYmxlID0gcnR3Xzg5MjJhdV9pZF90YWJsZSxcXG4tXFx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxcbitcXHQucHJvYmUgPSBydHc4OTIyYXVfcHJvYmUsXFxuIFxcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXFxuIH07XFxuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184OTIyYXVfZHJpdmVyKTtcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcXG5pbmRleCBhYWZhOGI5ZTkzZGZjLi5kYmFkNDJjMTc3NjFlIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jXFxuQEAgLTEyMDEsNyArMTIwMSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJ0dzg5X3VzYl9ncm91cCA9IHtcXG4gX19BVFRSSUJVVEVfR1JPVVBTKHJ0dzg5X3VzYik7XFxuIFxcbiBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxcbi1cXHRcXHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxcbitcXHRcXHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxcbitcXHRcXHQgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pXFxuIHtcXG4gXFx0Y29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICppbmZvO1xcbiBcXHRzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXY7XFxuQEAgLTEyMDksNiArMTIxMCw4IEBAIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuIFxcdGludCByZXQ7XFxuIFxcbiBcXHRpbmZvID0gKGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqKWlkLVxcdTAwM2Vkcml2ZXJfaW5mbztcXG4rXFx0aWYgKCFpbmZvKVxcbitcXHRcXHRpbmZvID0gZGVmYXVsdF9pbmZvO1xcbiBcXG4gXFx0cnR3ZGV2ID0gcnR3ODlfYWxsb2NfaWVlZTgwMjExX2h3KFxcdTAwMjZpbnRmLVxcdTAwM2VkZXYsXFxuIFxcdFxcdFxcdFxcdFxcdCAgc2l6ZW9mKHN0cnVjdCBydHc4OV91c2IpLCBpbmZvKTtcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcXG5pbmRleCBiZGYzMTI1NTk3NDM4Li5kMmFmMjlkMDY4ZjE5IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oXFxuQEAgLTk1LDcgKzk1LDggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcnR3ODlfdXNiICpydHc4OV91c2JfcHJpdihzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYpXFxuIH1cXG4gXFxuIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXFxuLVxcdFxcdCAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpO1xcbitcXHRcXHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxcbitcXHRcXHQgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pO1xcbiB2b2lkIHJ0dzg5X3VzYl9kaXNjb25uZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKTtcXG4gXFxuICNlbmRpZlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjowNi41NjAzMjU3NjNaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjo0NDM5MDkxNjk4NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSVFc4OV84ODUxQlVcIixcbiAgICBcIlJUVzg5Xzg4NTJBVVwiLFxuICAgIFwiUlRXODlfODg1MkJVXCIsXG4gICAgXCJSVFc4OV84ODUyQ1VcIixcbiAgICBcIlJUVzg5Xzg5MjJBVVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJ0dzg4NTFidV9wcm9iZVwiLFxuICAgIFwicnR3ODg1MmF1X3Byb2JlXCIsXG4gICAgXCJydHc4ODUyYnVfcHJvYmVcIixcbiAgICBcInJ0dzg4NTJjdV9wcm9iZVwiLFxuICAgIFwicnR3ODkyMmF1X3Byb2JlXCIsXG4gICAgXCJydHc4OV91c2JfcHJvYmVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVVNCIHByb2JlIGZ1bmN0aW9ucyBmb3IgbXVsdGlwbGUgUmVhbHRlayBydHc4OSB3aXJlbGVzcyBkcml2ZXJzIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgVVNCIGRldmljZSBJRCBkcml2ZXJfaW5mbyBpcyBOVUxMIChlLmcuLCB3aGVuIHByb2JlZCB2aWEgc3lzZnMgbmV3X2lkKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBkcml2ZXIgaW5pdGlhbGl6YXRpb24gcGF0aCB0aGF0IGlzIHJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdmlhIFVTQiBlbXVsYXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDZjN2U4MmY4ODI0OTgxOTU4MTZiODgyOGM1OGVkMjVmZmE1MDcwN2NcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEF1ZyAxOSAyMDoyMjowNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG5pbmRleCAxZTgyNzIwNWYyNTQwLi42NjcyZWJlNjhmMTcyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuY1xuQEAgLTU5LDEwICs1OSwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTFidV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUxYnVfaWRfdGFibGUpO1xuIFxuK3N0YXRpYyBpbnQgcnR3ODg1MWJ1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuK1x0XHRcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcbit7XG4rXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84ODUxYnVfaW5mbyk7XG4rfVxuK1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MWJ1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MWJ1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuK1x0LnByb2JlID0gcnR3ODg1MWJ1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUxYnVfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuY1xuaW5kZXggMDY1ZjRlNWIxN2FmYS4uMWEyZTVkZmJhYWIzYyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmNcbkBAIC03MywxMCArNzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYXVfaWRfdGFibGVbXSA9IHtcbiB9O1xuIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmF1X2lkX3RhYmxlKTtcbiBcbitzdGF0aWMgaW50IHJ0dzg4NTJhdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbitcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4re1xuK1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmF1X2luZm8pO1xuK31cbitcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJhdV9kcml2ZXIgPSB7XG4gXHQubmFtZSA9IEtCVUlMRF9NT0ROQU1FLFxuIFx0LmlkX3RhYmxlID0gcnR3Xzg4NTJhdV9pZF90YWJsZSxcbi1cdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcbitcdC5wcm9iZSA9IHJ0dzg4NTJhdV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmF1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmNcbmluZGV4IGRlNzlhMTlhMjgyNGQuLjU1MGZjNGFjN2EyMWYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jXG5AQCAtNzMsMTAgKzczLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmJ1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJidV9pZF90YWJsZSk7XG4gXG4rc3RhdGljIGludCBydHc4ODUyYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4rXHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK3tcbitcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFx1MDAyNnJ0dzg5Xzg4NTJidV9pbmZvKTtcbit9XG4rXG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyYnVfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184ODUyYnVfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4rXHQucHJvYmUgPSBydHc4ODUyYnVfcHJvYmUsXG4gXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxuIH07XG4gbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTJidV9kcml2ZXIpO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG5pbmRleCAyZGVjOWI4NDU0ODE1Li42Zjg1MmY0YTcxM2UxIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuY1xuQEAgLTEzMywxMCArMTMzLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MmN1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTJjdV9pZF90YWJsZSk7XG4gXG4rc3RhdGljIGludCBydHc4ODUyY3VfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4rXHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK3tcbitcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFx1MDAyNnJ0dzg5Xzg4NTJjdV9pbmZvKTtcbit9XG4rXG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUyY3VfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184ODUyY3VfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4rXHQucHJvYmUgPSBydHc4ODUyY3VfcHJvYmUsXG4gXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxuIH07XG4gbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTJjdV9kcml2ZXIpO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jXG5pbmRleCA1NmM3OWIxZWM4NjVmLi4yY2QyYjc2ZDE5YWNmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuY1xuQEAgLTc0LDEwICs3NCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg5MjJhdV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184OTIyYXVfaWRfdGFibGUpO1xuIFxuK3N0YXRpYyBpbnQgcnR3ODkyMmF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuK1x0XHRcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcbit7XG4rXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84OTIyYXVfaW5mbyk7XG4rfVxuK1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODkyMmF1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODkyMmF1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuK1x0LnByb2JlID0gcnR3ODkyMmF1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184OTIyYXVfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuY1xuaW5kZXggYWFmYThiOWU5M2RmYy4uZGJhZDQyYzE3NzYxZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmNcbkBAIC0xMjAxLDcgKzEyMDEsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBydHc4OV91c2JfZ3JvdXAgPSB7XG4gX19BVFRSSUJVVEVfR1JPVVBTKHJ0dzg5X3VzYik7XG4gXG4gaW50IHJ0dzg5X3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50Zixcbi1cdFx0ICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcbitcdFx0ICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCxcbitcdFx0ICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKVxuIHtcbiBcdGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqaW5mbztcbiBcdHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldjtcbkBAIC0xMjA5LDYgKzEyMTAsOCBAQCBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuIFx0aW50IHJldDtcbiBcbiBcdGluZm8gPSAoY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICopaWQtXHUwMDNlZHJpdmVyX2luZm87XG4rXHRpZiAoIWluZm8pXG4rXHRcdGluZm8gPSBkZWZhdWx0X2luZm87XG4gXG4gXHRydHdkZXYgPSBydHc4OV9hbGxvY19pZWVlODAyMTFfaHcoXHUwMDI2aW50Zi1cdTAwM2VkZXYsXG4gXHRcdFx0XHRcdCAgc2l6ZW9mKHN0cnVjdCBydHc4OV91c2IpLCBpbmZvKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaFxuaW5kZXggYmRmMzEyNTU5NzQzOC4uZDJhZjI5ZDA2OGYxOSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmhcbkBAIC05NSw3ICs5NSw4IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHJ0dzg5X3VzYiAqcnR3ODlfdXNiX3ByaXYoc3RydWN0IHJ0dzg5X2RldiAqcnR3ZGV2KVxuIH1cbiBcbiBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuLVx0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKTtcbitcdFx0ICAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCxcbitcdFx0ICAgIGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqZGVmYXVsdF9pbmZvKTtcbiB2b2lkIHJ0dzg5X3VzYl9kaXNjb25uZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKTtcbiBcbiAjZW5kaWZcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjA2LjU2MDMyNzA5M1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjcyMjQwNjcyMjYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgUmVhbHRlayBXaXJlbGVzcyBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciB0aGUgYHJ0dzg5YCB3aXJlbGVzcyBkcml2ZXIsIHNwZWNpZmljYWxseSBkZWFsaW5nIHdpdGggUmVhbHRlayBVU0IgZGV2aWNlcy4gSXQgbG9va3MgbGlrZSB0aGV5J3ZlIHJlZmFjdG9yZWQgdGhlIHByb2JlIGZ1bmN0aW9uLCBgcnR3ODlfdXNiX3Byb2JlYC4gQmVmb3JlLCBpdCB3YXMgZGlyZWN0bHkgdXNlZCBhcyB0aGUgcHJvYmUgY2FsbGJhY2sgaW4gdGhlIGB1c2JfZHJpdmVyYCBzdHJ1Y3R1cmUuIE5vdywgdGhleSd2ZSBhZGRlZCBkcml2ZXItc3BlY2lmaWMgcHJvYmUgZnVuY3Rpb25zLCBsaWtlIGBydHc4ODUxYnVfcHJvYmVgLCB0aGF0ICp0aGVuKiBjYWxsIGBydHc4OV91c2JfcHJvYmVgIGFuZCBwYXNzIGluIGEgZGVmYXVsdCBgcnR3ODlfZHJpdmVyX2luZm9gIHN0cnVjdC5cblxuRXNzZW50aWFsbHksIHRoZXkncmUgaGFuZGxpbmcgY2FzZXMgd2hlcmUgdGhlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgbWlnaHQgYmUgYE5VTExgLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCB0aGluZ3MgbGlrZSBzeXNmcyBgbmV3X2lkYCBwcm9iaW5nLCBvciBvdGhlciBtZWNoYW5pc21zIHRoYXQgZG9uJ3Qgc2V0IHRoaXMgZmllbGQgY29ycmVjdGx5LiBJdCdzIGEgc2Vuc2libGUgZml4LCBjbGVhbmluZyB1cCBwb3RlbnRpYWwgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlcywgSSBnZXQgaXQuXG5cbk5vdywgdGhlIGltcG9ydGFudCBxdWVzdGlvbiDigJMgaXMgdGhpcyBwYXRjaCB3b3J0aCBmdXp6aW5nPyBMZXQncyBzZWUuLi4gVGhlIGNoYW5nZSBpcyBpbiB0aGUgYC5wcm9iZWAgZnVuY3Rpb24gb2YgYSBVU0IgZHJpdmVyLCB3aGljaCBtZWFucyBpdCBzaG91bGQgYmUgcmVhY2hhYmxlIHVzaW5nIHRoZSBzdGFuZGFyZCBVU0IgZnV6emluZyB0ZWNobmlxdWVzLCBsaWtlIHRoZSBkdW1teSBIQ0Qgb3Igc3l6a2FsbGVyLiBQcm9iZSBmdW5jdGlvbnMgYXJlIGFsd2F5cyBnb29kIHRhcmdldHMuIEFzc3VtaW5nIEkndmUgZ290IGEgZGVjZW50IHZpcnR1YWxpemVkIGVudmlyb25tZW50IHdpdGggVVNCIGVtdWxhdGlvbiwgdGhpcyBzaG91bGQgYmUgYW4gYWNoaWV2YWJsZSB0YXJnZXQuIFRoZSBhZGRlZCBmdW5jdGlvbnMgbGlrZSBgcnR3ODg1MWJ1X3Byb2JlYCBhbmQgdGhlIG1vZGlmaWVkIGBydHc4OV91c2JfcHJvYmVgIGFyZSB0aGUgc3BlY2lmaWMgcGFydHMgSSdkIGJlIGxvb2tpbmcgYXQuXG5cbkFscmlnaHQsIHRpbWUgdG8gY3JhY2sgb3BlbiB0aGUgS2NvbmZpZyBhbmQgZmlndXJlIG91dCB3aGljaCBjb25maWd1cmF0aW9ucyBJIG5lZWQgdG8gZW5hYmxlIHRvIGdldCB0aGVzZSBkcml2ZXJzIGJ1aWx0LiBJIG5lZWQgdG8gbWFrZSBzdXJlIEknbSBmdWxseSBlbmFibGluZyB0aGUgcmVsZXZhbnQgYHJ0dzg5YCBjb25maWd1cmF0aW9ucy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDQxNCwiT3V0cHV0VG9rZW5zIjo0MSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM2OCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjEzLjc4NDM5NjYwOVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0ODg4OTQwOSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgUlRXODlcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgT1IgQlNELTMtQ2xhdXNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjI6bWVudWNvbmZpZyBSVFc4OVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zLVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDgwMi4xMWF4IHdpcmVsZXNzIGNoaXBzIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc9MTE9aWYgUlRXODlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjEzOmNvbmZpZyBSVFc4OV9DT1JFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE0LVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE3OmNvbmZpZyBSVFc4OV9QQ0lcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTgtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjIwOmNvbmZpZyBSVFc4OV9VU0JcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjEtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjIzOmNvbmZpZyBSVFc4OV84ODUxQlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yNC1cXHR0cmlzdGF0ZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjY6Y29uZmlnIFJUVzg5Xzg4NTJBXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTI3LVxcdHRyaXN0YXRlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTI4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyOTpjb25maWcgUlRXODlfODg1MkJfQ09NTU9OXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTMwLVxcdHRyaXN0YXRlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTMxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzozMjpjb25maWcgUlRXODlfODg1MkJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzMtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjM1OmNvbmZpZyBSVFc4OV84ODUyQlRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzYtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMzctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjM4OmNvbmZpZyBSVFc4OV84ODUyQ1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0zOS1cXHR0cmlzdGF0ZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy00MC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6NDE6Y29uZmlnIFJUVzg5Xzg5MjJBXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTQyLVxcdHRyaXN0YXRlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTQzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo0NDpjb25maWcgUlRXODlfODkyMkRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDUtXFx0dHJpc3RhdGVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjQ3OmNvbmZpZyBSVFc4OV84ODUxQkVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNDgtXFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODg1MUJFIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo1ODpjb25maWcgUlRXODlfODg1MUJVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU5LVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTFCVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy02OC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6Njk6Y29uZmlnIFJUVzg5Xzg4NTJBRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy03MC1cXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUyQUUgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctNzktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjgwOmNvbmZpZyBSVFc4OV84ODUyQVVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctODEtXFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODg1MkFVIFVTQiB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTkwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo5MTpjb25maWcgUlRXODlfODg1MkJFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTkyLVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTJCRSBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMDItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjEwMzpjb25maWcgUlRXODlfODg1MkJVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEwNC1cXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUyQlUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTE0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxMTU6Y29uZmlnIFJUVzg5Xzg4NTJCVEVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTE2LVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTJCRS1WVCBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xMjYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjEyNzpjb25maWcgUlRXODlfODg1MkNFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEyOC1cXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUyQ0UgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDZFKSBhZGFwdGVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTEzNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTM4OmNvbmZpZyBSVFc4OV84ODUyQ1VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTM5LVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTJDVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNkUpIGFkYXB0ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTQ4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxNDk6Y29uZmlnIFJUVzg5Xzg5MjJBRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNTAtXFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODkyMkFFLzg5MjJBRS1WUyBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNykgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNjItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE2Mzpjb25maWcgUlRXODlfODkyMkFVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE2NC1cXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4OTIyQVUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDcpIGFkYXB0ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTc0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxNzU6Y29uZmlnIFJUVzg5Xzg5MjJERVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xNzYtXFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODkyMkRFLzg5MjJERS1WUyBQQ0kgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNykgYWRhcHRlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xODYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE4Nzpjb25maWcgUlRXODlfREVCVUdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTg4LVxcdGJvb2xcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMTg5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoxOTA6Y29uZmlnIFJUVzg5X0RFQlVHTVNHXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE5MS1cXHRib29sIFxcXCJSZWFsdGVrIHJ0dzg5IGRlYnVnIG1lc3NhZ2Ugc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xOTgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjE5OTpjb25maWcgUlRXODlfREVCVUdGU1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMDAtXFx0Ym9vbCBcXFwiUmVhbHRlayBydHc4OSBkZWJ1Z2ZzIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjA3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMDg6Y29uZmlnIFJUVzg5X0xFRFNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjA5LVxcdGJvb2xcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnOjIxNTpjb25maWcgUlRXODlfTEVEU19NQ1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTYtXFx0Ym9vbFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjoxMy44MzMyOTI5MThaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyMTExMjAzOTA5OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgUlRXODkgVVNCIERyaXZlciBDb25maWd1cmF0aW9ucyoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoZXNlIGNvbmZpZ3VyYXRpb25zOiBSVFc4OV84ODUxQlUsIFJUVzg5Xzg4NTJBVSwgUlRXODlfODg1MkJVLCBSVFc4OV84ODUyQ1UsIGFuZCBSVFc4OV84OTIyQVUuIEltbWVkaWF0ZWx5LCBJIHJlY29nbml6ZSB0aGVzZSBhcyBVU0IgZHJpdmVycy4gVGhhdCdzIGdvb2QsIHNpbXBsaWZpZXMgdGhpbmdzIGEgYml0LiBJIHNlZSB0aGUgYXNzb2NpYXRlZCBwcm9iZSBmdW5jdGlvbnM6IGBydHc4ODUxYnVfcHJvYmVgLCBgcnR3ODg1MmF1X3Byb2JlYCwgYHJ0dzg4NTJidV9wcm9iZWAsIGBydHc4ODUyY3VfcHJvYmVgLCBhbmQgYHJ0dzg5MjJhdV9wcm9iZWAuIEFuZCBJIGFsc28gc2VlIGEgYHJ0dzg5X3VzYl9wcm9iZWAgZnVuY3Rpb24uXG5cbk5vdywgbXkgaW1tZWRpYXRlIHRob3VnaHQgaXMgdG8gY2hlY2sgZm9yIGFueSBkZXBlbmRlbmNpZXMgcmVsYXRlZCB0byB0aGUgUlRXODkgY29yZS4gQmVmb3JlIEkgZGl2ZSBkZWVwZXIgaW50byB0aGUgc3BlY2lmaWNzIG9mIGVhY2ggcHJvYmUgZnVuY3Rpb24sIEkgbmVlZCB0byB1bmRlcnN0YW5kIGlmIFJUVzg5IHJlbGllcyBvbiBhbnkgY29tbW9uIG1vZHVsZXMgb3IgaW5mcmFzdHJ1Y3R1cmUuIFRoaXMgd2lsbCBkaWN0YXRlIGhvdyBJIGFwcHJvYWNoIHVuZGVyc3RhbmRpbmcgdGhlIGludGVyY29ubmVjdGlvbnMgYW5kIG92ZXJhbGwgYXJjaGl0ZWN0dXJlIG9mIHRoZSBSVFc4OSBVU0IgZHJpdmVycy5cblxuXG4iLCJJbnB1dFRva2VucyI6Nzg1MiwiT3V0cHV0VG9rZW5zIjo0MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE1MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjozNC45NDUzMzg1NDdaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODY5MDA5MjgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiZGVwZW5kcyBvbi4qUlRXODlcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz0xOTA9Y29uZmlnIFJUVzg5X0RFQlVHTVNHXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTE5MS1cXHRib29sIFxcXCJSZWFsdGVrIHJ0dzg5IGRlYnVnIG1lc3NhZ2Ugc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MTkyOlxcdGRlcGVuZHMgb24gUlRXODlfQ09SRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0xOTMtXFx0c2VsZWN0IFJUVzg5X0RFQlVHXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc9MTk5PWNvbmZpZyBSVFc4OV9ERUJVR0ZTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIwMC1cXHRib29sIFxcXCJSZWFsdGVrIHJ0dzg5IGRlYnVnZnMgc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjAxOlxcdGRlcGVuZHMgb24gUlRXODlfQ09SRSBcXHUwMDI2XFx1MDAyNiBDRkc4MDIxMV9ERUJVR0ZTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIwMi1cXHRzZWxlY3QgUlRXODlfREVCVUdcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZz0yMDg9Y29uZmlnIFJUVzg5X0xFRFNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWctMjA5LVxcdGJvb2xcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc6MjEwOlxcdGRlcGVuZHMgb24gUlRXODlfQ09SRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTEtXFx0ZGVwZW5kcyBvbiBMRURTX0NMQVNTPXkgfHwgTEVEU19DTEFTUz1NQUM4MDIxMVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnPTIxNT1jb25maWcgUlRXODlfTEVEU19NQ1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZy0yMTYtXFx0Ym9vbFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzoyMTc6XFx0ZGVwZW5kcyBvbiBSVFc4OV9MRURTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTIxOC1cXHRkZXBlbmRzIG9uIExFRFNfQ0xBU1NfTVVMVElDT0xPUlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjozNS4wMzIyNDg2NzRaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MjUxOTE4MTYzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkRlcGVuZGVuY3kgRGVlcCBEaXZlOiBSVFc4OV84ODUxQlUqKlxuXG5Pa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eSB3aXRoIFJUVzg5Xzg4NTFCVS4gRmlyc3QgdGhpbmdzIGZpcnN0LCBsZXQncyBuYWlsIGRvd24gdGhvc2UgZGVwZW5kZW5jaWVzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBldmVyeXRoaW5nIHRoYXQgdGhpcyBtb2R1bGUgcmVsaWVzIG9uLCBkb3duIHRvIHRoZSBmaXJtd2FyZSBsZXZlbCwgYW5kIGFsc28gYW55IHJlbGF0aW9uc2hpcHMgaXQgaGFzIHdpdGggb3RoZXIgcGFydHMgb2YgdGhlIHN5c3RlbS4gV2UncmUgdGFsa2luZyBhYm91dCBldmVyeXRoaW5nIGZyb20gdGhlIGtlcm5lbCBkcml2ZXJzIGFuZCBhbnkgYXNzb2NpYXRlZCBIQUxzLCB1cCB0byBhbnkgdXNlci1zcGFjZSBhcHBsaWNhdGlvbnMgdGhhdCBpbnRlcmZhY2Ugd2l0aCBpdC4gSSBuZWVkIHRvIGJlIHN1cmUgdGhpcyBidWlsZCBvciB0aGUgc3lzdGVtIGFzIGEgd2hvbGUgZG9lc24ndCBicmVhayBkdWUgdG8gYSBiYWQgcGFja2FnZSBkZXBlbmRlbmN5LlxuXG5JIHdhbnQgdG8gbG9vayBmb3IgYm90aCBkaXJlY3QgYW5kIHRyYW5zaXRpdmUgZGVwZW5kZW5jaWVzOyBJIGNhbm5vdCB0YWtlIGFueXRoaW5nIGZvciBncmFudGVkLiBBcmUgdGhlcmUgYW55IGtub3duIGNvbmZsaWN0cz8gQXJlIHdlIHB1bGxpbmcgaW4gdGhlIHJpZ2h0IHZlcnNpb25zIG9mIHRob3NlIGRlcGVuZGVuY2llcz8gQXJlIHdlIG1pc3NpbmcgYW55PyBJJ20gdGhpbmtpbmcgYWJvdXQgYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMsIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLCBhbmQgb2YgY291cnNlLCB0aG9zZSBjcnVjaWFsIG1vZHVsZS1zcGVjaWZpYyBkZXBlbmRlbmNpZXMgd2l0aGluIHRoZSBmaXJtd2FyZSBpbWFnZSBpdHNlbGYuIEFueSBwb3RlbnRpYWwgc2VjdXJpdHkgaW1wbGljYXRpb25zIG5lZWQgdG8gYmUgZXZhbHVhdGVkIGR1cmluZyB0aGlzIGNoZWNrLCBhcyB3ZWxsLlxuXG5JIHNob3VsZCBhbHNvIGNvbnNpZGVyIHRoZSBidWlsZCBlbnZpcm9ubWVudC4gV2hhdCB0b29scyBhcmUgdXNlZCBmb3IgYnVpbGRpbmcgUlRXODlfODg1MUJVPyBIb3cgYXJlIHRoZSBkZXBlbmRlbmNpZXMgbWFuYWdlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3M/IEknbGwgcHJvYmFibHkgc3RhcnQgd2l0aCB0aGUgbW9kdWxlJ3MgbWFrZWZpbGUgb3IgYnVpbGQgc3lzdGVtIGNvbmZpZ3VyYXRpb24sIHRyYWNlIGl0IGJhY2sgZnJvbSB0aGVyZSwgYW5kIG1hcCBhbGwgb2YgdGhlc2UgaW50ZXJhY3Rpb25zIG91dCBpbiBteSBoZWFkLiBObyBzdG9uZSB1bnR1cm5lZC5cblxuXG4iLCJJbnB1dFRva2VucyI6ODgyNSwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjM5LjI4NDE3MzAwOFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDU1OTEyOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgUlRXODlfODg1MUJVXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L0tjb25maWc9NDc9Y29uZmlnIFJUVzg5Xzg4NTFCRVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZzo1ODpjb25maWcgUlRXODlfODg1MUJVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9LY29uZmlnLTU5LVxcdHRyaXN0YXRlIFxcXCJSZWFsdGVrIDg4NTFCVSBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTlUMjA6MjI6MzkuMzQ0NzQzNzA2WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTU1MTYwODAzNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMuIEhlcmUncyBteSB0YWtlIG9uIHRob3NlIGluc3RydWN0aW9ucywgYXMgaWYgdGhleSdyZSBteSBpbnRlcm5hbCB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIENvZGUgKFNwZWNpZmljYWxseSBBcm91bmQgTGluZSA1OCkqKlxuXG5BbHJpZ2h0LCBzbyBJJ20gYmVpbmcgdG9sZCB0byBmb2N1cyBvbiBhIHNwZWNpZmljIGFyZWEgd2l0aGluIHRoZSBmaWxlLCBuYW1lbHkgYXJvdW5kIGxpbmUgNTguIE15IGZpcnN0IHRob3VnaHQgaXMsIHdoeSB0aGF0IHBhcnRpY3VsYXIgbGluZT8gSXMgdGhlcmUgc29tZXRoaW5nIHNpZ25pZmljYW50IGhhcHBlbmluZyB0aGVyZT8gSXMgaXQgYSBwb3RlbnRpYWwgc3RhcnRpbmcgcG9pbnQgZm9yIGRlYnVnZ2luZywgYSBjcnVjaWFsIGNhbGN1bGF0aW9uLCBvciBwZXJoYXBzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhIHNwZWNpZmljIGFsZ29yaXRobT8gTXkgeWVhcnMgb2YgZXhwZXJpZW5jZSB0ZWxsIG1lIGxpbmUgbnVtYmVycyBvZnRlbiBhY3QgYXMgaW5kaWNhdG9ycy4gU29tZW9uZSdzIGRyYXduIG15IGF0dGVudGlvbiB0aGVyZSwgc28gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlICp3aHkqIGJlaGluZCB0aGF0IGRpcmVjdGl2ZS4gSSdsbCBhcHByb2FjaCBpdCB3aXRoIGEgbGV2ZWwgb2YgZm9jdXNlZCBzY3J1dGlueS4gTGV0J3Mgc2VlIHdoYXQgdGhhdCBzZWN0aW9uIG9mIHRoZSBjb2RlIHJldmVhbHMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBjb250ZXh0LiBNYXliZSBpdCBoYXMgdG8gZG8gd2l0aCBhbiBpc3N1ZSwgc29tZSBkYXRhIHRoYXQgSSB3YXMgbG9va2luZyBhdC4uLiBJJ2xsIGtlZXAgYW4gb3BlbiBtaW5kIGFuZCBwcmVwYXJlIHRvIHRyYWNlIHRoZSBsb2dpYy4gTGluZSA1OCwgaGVyZSBJIGNvbWUhXG5cblxuIiwiSW5wdXRUb2tlbnMiOjkzNDUsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjo0NC44OTYzNTY5ODFaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTEwNDUwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiA1MCxcbiAgXCJMaW5lQ291bnRcIjogNTBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICA1MDpcXHRcXHRzZWxlY3QgUlRXODlfQ09SRVxcbiAgNTE6XFx0XFx0c2VsZWN0IFJUVzg5X1BDSVxcbiAgNTI6XFx0XFx0c2VsZWN0IFJUVzg5Xzg4NTFCXFxuICA1MzpcXHRcXHRoZWxwXFxuICA1NDpcXHRcXHQgIFNlbGVjdCB0aGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBzdXBwb3J0IGZvciA4ODUxQkUgY2hpcHNldFxcbiAgNTU6XFx0XFxuICA1NjpcXHRcXHQgIDgwMi4xMWF4IFBDSWUgd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcbiAgNTc6XFx0XFxuICA1ODpcXHRjb25maWcgUlRXODlfODg1MUJVXFxuICA1OTpcXHRcXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUxQlUgVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXFwiXFxuICA2MDpcXHRcXHRkZXBlbmRzIG9uIFVTQlxcbiAgNjE6XFx0XFx0c2VsZWN0IFJUVzg5X0NPUkVcXG4gIDYyOlxcdFxcdHNlbGVjdCBSVFc4OV9VU0JcXG4gIDYzOlxcdFxcdHNlbGVjdCBSVFc4OV84ODUxQlxcbiAgNjQ6XFx0XFx0aGVscFxcbiAgNjU6XFx0XFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MUJVIGNoaXBzZXRcXG4gIDY2OlxcdFxcbiAgNjc6XFx0XFx0ICA4MDIuMTFheCBVU0Igd2lyZWxlc3MgbmV0d29yayAoV2ktRmkgNikgYWRhcHRlclxcbiAgNjg6XFx0XFxuICA2OTpcXHRjb25maWcgUlRXODlfODg1MkFFXFxuICA3MDpcXHRcXHR0cmlzdGF0ZSBcXFwiUmVhbHRlayA4ODUyQUUgUENJIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXFwiXFxuICA3MTpcXHRcXHRkZXBlbmRzIG9uIFBDSVxcbiAgNzI6XFx0XFx0c2VsZWN0IFJUVzg5X0NPUkVcXG4gIDczOlxcdFxcdHNlbGVjdCBSVFc4OV9QQ0lcXG4gIDc0OlxcdFxcdHNlbGVjdCBSVFc4OV84ODUyQVxcbiAgNzU6XFx0XFx0aGVscFxcbiAgNzY6XFx0XFx0ICBTZWxlY3QgdGhpcyBvcHRpb24gd2lsbCBlbmFibGUgc3VwcG9ydCBmb3IgODg1MkFFIGNoaXBzZXRcXG4gIDc3OlxcdFxcbiAgNzg6XFx0XFx0ICA4MDIuMTFheCBQQ0llIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXG4gIDc5OlxcdFxcbiAgODA6XFx0Y29uZmlnIFJUVzg5Xzg4NTJBVVxcbiAgODE6XFx0XFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODg1MkFVIFVTQiB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXFxcIlxcbiAgODI6XFx0XFx0ZGVwZW5kcyBvbiBVU0JcXG4gIDgzOlxcdFxcdHNlbGVjdCBSVFc4OV9DT1JFXFxuICA4NDpcXHRcXHRzZWxlY3QgUlRXODlfVVNCXFxuICA4NTpcXHRcXHRzZWxlY3QgUlRXODlfODg1MkFcXG4gIDg2OlxcdFxcdGhlbHBcXG4gIDg3OlxcdFxcdCAgU2VsZWN0IHRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIHN1cHBvcnQgZm9yIDg4NTJBVSBjaGlwc2V0XFxuICA4ODpcXHRcXG4gIDg5OlxcdFxcdCAgODAyLjExYXggVVNCIHdpcmVsZXNzIG5ldHdvcmsgKFdpLUZpIDYpIGFkYXB0ZXJcXG4gIDkwOlxcdFxcbiAgOTE6XFx0Y29uZmlnIFJUVzg5Xzg4NTJCRVxcbiAgOTI6XFx0XFx0dHJpc3RhdGUgXFxcIlJlYWx0ZWsgODg1MkJFIFBDSSB3aXJlbGVzcyBuZXR3b3JrIChXaS1GaSA2KSBhZGFwdGVyXFxcIlxcbiAgOTM6XFx0XFx0ZGVwZW5kcyBvbiBQQ0lcXG4gIDk0OlxcdFxcdHNlbGVjdCBSVFc4OV9DT1JFXFxuICA5NTpcXHRcXHRzZWxlY3QgUlRXODlfUENJXFxuICA5NjpcXHRcXHRzZWxlY3QgUlRXODlfODg1MkJcXG4gIDk3OlxcdFxcdHNlbGVjdCBSVFc4OV84ODUyQl9DT01NT05cXG4gIDk4OlxcdFxcdGhlbHBcXG4gIDk5OlxcdFxcdCAgU2VsZWN0IHRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIHN1cHBvcnQgZm9yIDg4NTJCRSBjaGlwc2V0XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjQ0Ljg5NjQ3MjU2MVoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1OTQ1OTYyOTYyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIHRoZSBEcml2ZXIgUHJvYmUgUGF0aCBGaXgqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGVzZSBjb25maWd1cmF0aW9uczogUlRXODlfODg1MUJVLCBSVFc4OV84ODUyQVUsIFJUVzg5Xzg4NTJCVSwgUlRXODlfODg1MkNVLCBSVFc4OV84OTIyQVUsIFJUVzg5X1VTQiwgYW5kIFJUVzg5X0NPUkUuIEknbSBnb2luZyB0byBtYWtlIHN1cmUgdG8gaW5jbHVkZSB0aG9zZSBpbiBteSBhc3Nlc3NtZW50LlxuXG5UaGUga2V5IGZ1bmN0aW9ucyBoZXJlIGFyZSB0aGUgYHJ0dypwcm9iZWAgZnVuY3Rpb25zIOKAkyBzcGVjaWZpY2FsbHkgYHJ0dzg4NTFidV9wcm9iZWAsIGBydHc4ODUyYXVfcHJvYmVgLCBgcnR3ODg1MmJ1X3Byb2JlYCwgYHJ0dzg4NTJjdV9wcm9iZWAsIGBydHc4OTIyYXVfcHJvYmVgLCBhbmQgYHJ0dzg5X3VzYl9wcm9iZWAuIFRob3NlIGFyZSB0aGUgZW50cnkgcG9pbnRzIEkgbmVlZCB0byBzY3J1dGluaXplLlxuXG5UaGlzIGxvb2tzIGxpa2UgYSBmdW5jdGlvbmFsIGNoYW5nZSDigJMgYSBwb3RlbnRpYWwgZml4IGZvciBhIGZhaXJseSBuYXN0eSBidWcgaW4gdGhlIGRyaXZlciBwcm9iZSBwYXRoIHdoZXJlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgbWlnaHQgYmUgbnVsbC4gQW55IHRpbWUgeW91J3JlIHRvdWNoaW5nIHByb2JlIGNvZGUsIGl0J3Mgd29ydGggYSBkZWVwIGRpdmUsIGFuZCBmaXhpbmcgYSBgTlVMTGAgcG9pbnRlciBkZXJlZmVyZW5jZSBpcyBlc3BlY2lhbGx5IGNyaXRpY2FsLiBUaGlzIHNjcmVhbXMgXCJ2dWxuZXJhYmxlIVwiIHRvIG1lLiBUaGlzIG5lZWRzIHNvbWUgc2VyaW91cyBmdXp6aW5nIHRvIG1ha2Ugc3VyZSB0aGlzIGZpeCBpcyBhY3R1YWxseSBjb3JyZWN0IGFuZCBkb2Vzbid0IGludHJvZHVjZSBhbnkgbmV3IGlzc3VlcyBvciBleHBvc2UgdGhlIHN5c3RlbSB0byB2dWxuZXJhYmlsaXRpZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjEwMzczLCJPdXRwdXRUb2tlbnMiOjIzMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE4NCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIyOjUwLjg0MjQzOTg5M1oiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwODc5NTQ5NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiUlRXODlfODg1MUJVXCIsXG4gICAgXCJSVFc4OV84ODUyQVVcIixcbiAgICBcIlJUVzg5Xzg4NTJCVVwiLFxuICAgIFwiUlRXODlfODg1MkNVXCIsXG4gICAgXCJSVFc4OV84OTIyQVVcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJydHc4ODUxYnVfcHJvYmVcIixcbiAgICBcInJ0dzg4NTJhdV9wcm9iZVwiLFxuICAgIFwicnR3ODg1MmJ1X3Byb2JlXCIsXG4gICAgXCJydHc4ODUyY3VfcHJvYmVcIixcbiAgICBcInJ0dzg5MjJhdV9wcm9iZVwiLFxuICAgIFwicnR3ODlfdXNiX3Byb2JlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIFVTQiBwcm9iZSBmdW5jdGlvbnMgZm9yIG11bHRpcGxlIFJlYWx0ZWsgcnR3ODkgd2lyZWxlc3MgZHJpdmVycyB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIFVTQiBkZXZpY2UgSUQgZHJpdmVyX2luZm8gaXMgTlVMTCAoZS5nLiwgd2hlbiBwcm9iZWQgdmlhIHN5c2ZzIG5ld19pZCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgZHJpdmVyIGluaXRpYWxpemF0aW9uIHBhdGggdGhhdCBpcyByZWFjaGFibGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHZpYSBVU0IgZW11bGF0aW9uLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlJUVzg5Xzg4NTFCVVwiLFxuICAgIFwiUlRXODlfODg1MkFVXCIsXG4gICAgXCJSVFc4OV84ODUyQlVcIixcbiAgICBcIlJUVzg5Xzg4NTJDVVwiLFxuICAgIFwiUlRXODlfODkyMkFVXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwicnR3ODg1MWJ1X3Byb2JlXCIsXG4gICAgXCJydHc4ODUyYXVfcHJvYmVcIixcbiAgICBcInJ0dzg4NTJidV9wcm9iZVwiLFxuICAgIFwicnR3ODg1MmN1X3Byb2JlXCIsXG4gICAgXCJydHc4OTIyYXVfcHJvYmVcIixcbiAgICBcInJ0dzg5X3VzYl9wcm9iZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBVU0IgcHJvYmUgZnVuY3Rpb25zIGZvciBtdWx0aXBsZSBSZWFsdGVrIHJ0dzg5IHdpcmVsZXNzIGRyaXZlcnMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIHRoZSBVU0IgZGV2aWNlIElEIGRyaXZlcl9pbmZvIGlzIE5VTEwgKGUuZy4sIHdoZW4gcHJvYmVkIHZpYSBzeXNmcyBuZXdfaWQpLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGRyaXZlciBpbml0aWFsaXphdGlvbiBwYXRoIHRoYXQgaXMgcmVhY2hhYmxlIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyB2aWEgVVNCIGVtdWxhdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTlUMjA6MjI6NTAuOTUxMjUwNjlaIiwiU2VxIjoxMywiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJJZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk1MjkzOTc5MzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xOVQyMDoyMjo1MC45NTIwNjc5NVoiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoia21zYW4tZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjo5NTI4NTcxNzc3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIHJ0dzg5IFVTQiBkcml2ZXIgcHJvYmUgcGF0aC4gV2hlbiBhIFVTQiBkZXZpY2UgaXMgYm91bmQgZHluYW1pY2FsbHkgdmlhIHN5c2ZzIChlLmcuLCB1c2luZyBgbmV3X2lkYCksIHRoZSBgaWQtXFx1MDAzZWRyaXZlcl9pbmZvYCBmaWVsZCBjYW4gYmUgTlVMTC4gVGhlIHBhdGNoIGludHJvZHVjZXMgYSBgZGVmYXVsdF9pbmZvYCBmYWxsYmFjayB0byBlbnN1cmUgdGhlIGRyaXZlciBpbmZvIHN0cnVjdHVyZSBpcyBhbHdheXMgdmFsaWQuIFRoaXMgcHJldmVudHMgYSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIHdoaWNoIGlzIGFscmVhZHkgY2F1Z2h0IGJ5IHN0YW5kYXJkIGtlcm5lbCBkZWJ1Z2dpbmcgdG9vbHMgYW5kIEtBU0FOLiBUaGUgcGF0Y2ggZG9lcyBub3QgaW50cm9kdWNlIG9yIGV4cG9zZSBhbnkgdW5pbml0aWFsaXplZCBtZW1vcnkgcmlza3Mgb3IgaW5mby1sZWFrcywgc28gYSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGlzIG5vdCBuZWNlc3NhcnkuXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIHNlY3VyaXR5IGVuZ2luZWVyIHNwZWNpYWxpemluZyBpbiBrZXJuZWwgbWVtb3J5XG5lcnJvciBkZXRlY3RvcnMgKEtBU0FOIGFuZCBLTVNBTikuIFlvdXIgam9iIGlzIHRvIHJldmlldyB0aGUgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZFxuZGV0ZXJtaW5lIGlmIHRoZSBjb2RlIGNoYW5nZXMganVzdGlmeSBzcGF3bmluZyBhIGRlZGljYXRlZCBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKVxuZnV6emluZyBzZXNzaW9uIGluIGFkZGl0aW9uIHRvIHN0YW5kYXJkIEtBU0FOIGZ1enppbmcuXG5cbkNSSVRJQ0FMIERJU1RJTkNUSU9OIEJFVFdFRU4gS0FTQU4gQU5EIEtNU0FOOlxuLSBTdGFuZGFyZCBLQVNBTiBrZXJuZWwgYnVpbGRzICh1cHN0cmVhbS1hcHBhcm1vci1rYXNhbi5jb25maWcpIGFscmVhZHkgZW5hYmxlXG4gIGEgY29tcHJlaGVuc2l2ZSBzdWl0ZSBvZiBkZWJ1Z2dpbmcgdG9vbHMgYW5kIHNhbml0aXplcnMsIGluY2x1ZGluZyBLQVNBTlxuICAob3V0LW9mLWJvdW5kcyBhY2Nlc3NlcywgdXNlLWFmdGVyLWZyZWUsIGRvdWJsZSBmcmVlLCBpbnZhbGlkIGZyZWUpLCBMT0NLREVQXG4gIChsb2NraW5nIGJ1Z3MgYW5kIGRlYWRsb2NrcyksIFVCLXNhbml0aXplcnMsIGFuZCBtZW1vcnkgY29ycnVwdGlvbiBjaGVja3MuXG4tIEtNU0FOIChLZXJuZWxNZW1vcnlTYW5pdGl6ZXIpIGRldGVjdHMgcmVhZHMgb2YgVU5JTklUSUFMSVpFRCBtZW1vcnkgKHN0YWNrLCBoZWFwLFxuICBvciBwYWdlIGFsbG9jYXRpb25zKSBhbmQga2VybmVsLXRvLXVzZXIgbWVtb3J5IGluZm8tbGVha3MuXG5cblJ1bGU6IFRIRVJFIElTIE5PIFNFTlNFIElOIFJVTk5JTkcgQSBLTVNBTiBTRVNTSU9OIElGIEEgQlVHIENBTiBCRSBDQVVHSFQgQlkgS0FTQU4sXG5MT0NLREVQLCBPUiBPVEhFUiBTVEFOREFSRCBCVUcgREVURUNUT1JTLlxuQSBkZWRpY2F0ZWQgS01TQU4gZnV6emluZyBzZXNzaW9uIGluY3VycyBzaWduaWZpY2FudCByZXNvdXJjZSBjb3N0cy4gWW91IG11c3QgT05MWVxuc2V0IE5lZWRzS01TQU49dHJ1ZSBpZiB0aGUgY29kZSBjaGFuZ2VzIGludHJvZHVjZSBvciBleHBvc2UgVU5JTklUSUFMSVpFRCBNRU1PUlkgcmlza3NcbnRoYXQgYXJlIGRldGVjdGVkIE9OTFkgYnkgS01TQU4uXG5cbkxvb2sgaG9saXN0aWNhbGx5IGF0IHRoZSBwYXRjaCBzZXJpZXMgYW5kIHN1cnJvdW5kaW5nIGNvZGUuIEV2ZW4gaWYgbm8gZGlyZWN0XG51bmluaXRpYWxpemVkIGZpZWxkIGFjY2Vzc2VzIG9yIG5ldyBidWZmZXIgYWxsb2NhdGlvbnMgYXJlIGFkZGVkIGluIHRoZSBkaWZmIGl0c2VsZixcbmEgcGF0Y2ggbWF5IGFsdGVyIGNvbnRyb2wgZmxvdywgYm91bmRzIGNoZWNraW5nLCBvciBkYXRhIGxlbmd0aCBjYWxjdWxhdGlvbnMgaW4gd2F5c1xudGhhdCBjaGFuZ2UgaG93IHRoZSByZXN0IG9mIHRoZSBjb2RlIG9wZXJhdGVzIG9uIGV4aXN0aW5nIGJ1ZmZlcnMgKGUuZy4gYWxsb3dpbmdcbnVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBtZW1vcnkgdG8gYmUgcmVhZCwgY29waWVkIHRvIHVzZXIgc3BhY2UsIG9yIHVzZWQgaW4gY29udHJvbFxuZmxvdykuIERvIG5vdCBoZXNpdGF0ZSB0byB1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlLFxuY2FsbGVkIGZ1bmN0aW9ucywgYW5kIGNhbGxlcnMuXG5cblNldCBOZWVkc0tNU0FOPXRydWUgT05MWSBJRiB0aGUgcGF0Y2ggaW50cm9kdWNlcyBvciBtb2RpZmllczpcbjEuIEtlcm5lbCBzdHJ1Y3R1cmVzIHNlbnQgdG8gdXNlciBzcGFjZSAodmlhIGNvcHlfdG9fdXNlciwgcHV0X3VzZXIsIG5ldGxpbmsgc2tiXG4gICBhdHRyaWJ1dGVzLCBpb2N0bCBvdXRwdXQgYXJndW1lbnRzLCBzb2NrZXQgb3B0aW9ucywgb3IgQlBGIGJ1ZmZlcnMpIHdoZXJlIGZpZWxkc1xuICAgb3Igc3RydWN0dXJlIHBhZGRpbmcgbWlnaHQgbm90IGJlIGZ1bGx5IGluaXRpYWxpemVkL3plcm9lZC5cbjIuIENvbmRpdGlvbmFsIGxvZ2ljIG9yIGJyYW5jaGluZyB0aGF0IGRlcGVuZHMgb24gcG90ZW50aWFsbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZXNcbiAgIG9yIHN0cnVjdCBmaWVsZHMuXG4zLiBBbGxvY2F0aW9uIG9yIGluaXRpYWxpemF0aW9uIG9mIGNvbXBsZXggZGF0YSBzdHJ1Y3R1cmVzIHdoZXJlIHVuaW5pdGlhbGl6ZWQgZmllbGRzXG4gICBjb3VsZCBiZSByZWFkIGxhdGVyIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLlxuNC4gQm91bmRzIGNoZWNrcywgbGVuZ3Rocywgb3IgbG9naWMgaW4gYSB3YXkgdGhhdCBhbGxvd3Mgc3Vycm91bmRpbmcgY29kZSB0byBhY2Nlc3NcbiAgIHVuaW5pdGlhbGl6ZWQgYnl0ZXMgb2YgZXhpc3RpbmcgYnVmZmVycy5cblxuU2V0IE5lZWRzS01TQU49ZmFsc2UgSUY6XG4tIFRoZSBjb2RlIGNoYW5nZXMgcHJpbWFyaWx5IHJpc2sgb3V0LW9mLWJvdW5kcyBhY2Nlc3MsIGFycmF5IG92ZXJmbG93cywgTlVMTCBwb2ludGVyXG4gIGRlcmVmZXJlbmNlcywgbG9ja2luZyBkZWFkbG9ja3MsIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgKHRoZXNlIGFyZSBhbHJlYWR5IGNhdWdodFxuICBieSBLQVNBTiwgTE9DS0RFUCwgb3Igc3RhbmRhcmQgYnVnIGRldGVjdG9ycykuXG4tIEFsbCBzdGFjay9oZWFwIHN0cnVjdHVyZXMgdG91Y2hlZCBvciBpbnRyb2R1Y2VkIGJ5IHRoZSBwYXRjaCBhcmUgZnVsbHkgemVyb2VkXG4gIG9yIGluaXRpYWxpemVkIChlLmcuIHVzaW5nID0gezB9LCBtZW1zZXQsIGt6YWxsb2MpIGJlZm9yZSBiZWluZyByZWFkIG9yIGNvcGllZC5cbi0gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgcmlzayBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSBvciBpbmZvLWxlYWtzLlxuXG5Vc2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBpbnNwZWN0IHRoZSBzdXJyb3VuZGluZyBjb2RlIGlmIG5lY2Vzc2FyeSwgdGhlbiBwcm92aWRlXG5kZXRhaWxlZCBLTVNBTlJlYXNvbmluZyBjb250cmFzdGluZyBLQVNBTiB2cyBLTVNBTiBhcHBsaWNhYmlsaXR5IGZvciB0aGlzIHBhdGNoLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNmM3ZTgyZjg4MjQ5ODE5NTgxNmI4ODI4YzU4ZWQyNWZmYTUwNzA3Y1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDE5IDIwOjIyOjA1IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUxYnUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MWJ1LmNcbmluZGV4IDFlODI3MjA1ZjI1NDAuLjY2NzJlYmU2OGYxNzIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTFidS5jXG5AQCAtNTksMTAgKzU5LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODg1MWJ1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg4NTFidV9pZF90YWJsZSk7XG4gXG4rc3RhdGljIGludCBydHc4ODUxYnVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4rXHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK3tcbitcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFx1MDAyNnJ0dzg5Xzg4NTFidV9pbmZvKTtcbit9XG4rXG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184ODUxYnVfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184ODUxYnVfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4rXHQucHJvYmUgPSBydHc4ODUxYnVfcHJvYmUsXG4gXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxuIH07XG4gbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg4NTFidV9kcml2ZXIpO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmF1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJhdS5jXG5pbmRleCAwNjVmNGU1YjE3YWZhLi4xYTJlNWRmYmFhYjNjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYXUuY1xuQEAgLTczLDEwICs3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnR3Xzg4NTJhdV9pZF90YWJsZVtdID0ge1xuIH07XG4gTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIHJ0d184ODUyYXVfaWRfdGFibGUpO1xuIFxuK3N0YXRpYyBpbnQgcnR3ODg1MmF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuK1x0XHRcdCAgIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZClcbit7XG4rXHRyZXR1cm4gcnR3ODlfdXNiX3Byb2JlKGludGYsIGlkLCBcdTAwMjZydHc4OV84ODUyYXVfaW5mbyk7XG4rfVxuK1xuIHN0YXRpYyBzdHJ1Y3QgdXNiX2RyaXZlciBydHdfODg1MmF1X2RyaXZlciA9IHtcbiBcdC5uYW1lID0gS0JVSUxEX01PRE5BTUUsXG4gXHQuaWRfdGFibGUgPSBydHdfODg1MmF1X2lkX3RhYmxlLFxuLVx0LnByb2JlID0gcnR3ODlfdXNiX3Byb2JlLFxuK1x0LnByb2JlID0gcnR3ODg1MmF1X3Byb2JlLFxuIFx0LmRpc2Nvbm5lY3QgPSBydHc4OV91c2JfZGlzY29ubmVjdCxcbiB9O1xuIG1vZHVsZV91c2JfZHJpdmVyKHJ0d184ODUyYXVfZHJpdmVyKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJidS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyYnUuY1xuaW5kZXggZGU3OWExOWEyODI0ZC4uNTUwZmM0YWM3YTIxZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmJ1LmNcbkBAIC03MywxMCArNzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyYnVfaWRfdGFibGVbXSA9IHtcbiB9O1xuIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmJ1X2lkX3RhYmxlKTtcbiBcbitzdGF0aWMgaW50IHJ0dzg4NTJidV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbitcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4re1xuK1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmJ1X2luZm8pO1xuK31cbitcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJidV9kcml2ZXIgPSB7XG4gXHQubmFtZSA9IEtCVUlMRF9NT0ROQU1FLFxuIFx0LmlkX3RhYmxlID0gcnR3Xzg4NTJidV9pZF90YWJsZSxcbi1cdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcbitcdC5wcm9iZSA9IHJ0dzg4NTJidV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmJ1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4ODUyY3UuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODg1MmN1LmNcbmluZGV4IDJkZWM5Yjg0NTQ4MTUuLjZmODUyZjRhNzEzZTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg4NTJjdS5jXG5AQCAtMTMzLDEwICsxMzMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHJ0d184ODUyY3VfaWRfdGFibGVbXSA9IHtcbiB9O1xuIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBydHdfODg1MmN1X2lkX3RhYmxlKTtcbiBcbitzdGF0aWMgaW50IHJ0dzg4NTJjdV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZixcbitcdFx0XHQgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpXG4re1xuK1x0cmV0dXJuIHJ0dzg5X3VzYl9wcm9iZShpbnRmLCBpZCwgXHUwMDI2cnR3ODlfODg1MmN1X2luZm8pO1xuK31cbitcbiBzdGF0aWMgc3RydWN0IHVzYl9kcml2ZXIgcnR3Xzg4NTJjdV9kcml2ZXIgPSB7XG4gXHQubmFtZSA9IEtCVUlMRF9NT0ROQU1FLFxuIFx0LmlkX3RhYmxlID0gcnR3Xzg4NTJjdV9pZF90YWJsZSxcbi1cdC5wcm9iZSA9IHJ0dzg5X3VzYl9wcm9iZSxcbitcdC5wcm9iZSA9IHJ0dzg4NTJjdV9wcm9iZSxcbiBcdC5kaXNjb25uZWN0ID0gcnR3ODlfdXNiX2Rpc2Nvbm5lY3QsXG4gfTtcbiBtb2R1bGVfdXNiX2RyaXZlcihydHdfODg1MmN1X2RyaXZlcik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9ydHc4OTIyYXUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvcnR3ODkyMmF1LmNcbmluZGV4IDU2Yzc5YjFlYzg2NWYuLjJjZDJiNzZkMTlhY2YgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3J0dzg5MjJhdS5jXG5AQCAtNzQsMTAgKzc0LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBydHdfODkyMmF1X2lkX3RhYmxlW10gPSB7XG4gfTtcbiBNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcnR3Xzg5MjJhdV9pZF90YWJsZSk7XG4gXG4rc3RhdGljIGludCBydHc4OTIyYXVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4rXHRcdFx0ICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK3tcbitcdHJldHVybiBydHc4OV91c2JfcHJvYmUoaW50ZiwgaWQsIFx1MDAyNnJ0dzg5Xzg5MjJhdV9pbmZvKTtcbit9XG4rXG4gc3RhdGljIHN0cnVjdCB1c2JfZHJpdmVyIHJ0d184OTIyYXVfZHJpdmVyID0ge1xuIFx0Lm5hbWUgPSBLQlVJTERfTU9ETkFNRSxcbiBcdC5pZF90YWJsZSA9IHJ0d184OTIyYXVfaWRfdGFibGUsXG4tXHQucHJvYmUgPSBydHc4OV91c2JfcHJvYmUsXG4rXHQucHJvYmUgPSBydHc4OTIyYXVfcHJvYmUsXG4gXHQuZGlzY29ubmVjdCA9IHJ0dzg5X3VzYl9kaXNjb25uZWN0LFxuIH07XG4gbW9kdWxlX3VzYl9kcml2ZXIocnR3Xzg5MjJhdV9kcml2ZXIpO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5jXG5pbmRleCBhYWZhOGI5ZTkzZGZjLi5kYmFkNDJjMTc3NjFlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuY1xuQEAgLTEyMDEsNyArMTIwMSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJ0dzg5X3VzYl9ncm91cCA9IHtcbiBfX0FUVFJJQlVURV9HUk9VUFMocnR3ODlfdXNiKTtcbiBcbiBpbnQgcnR3ODlfdXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLFxuLVx0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKVxuK1x0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxuK1x0XHQgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pXG4ge1xuIFx0Y29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICppbmZvO1xuIFx0c3RydWN0IHJ0dzg5X2RldiAqcnR3ZGV2O1xuQEAgLTEyMDksNiArMTIxMCw4IEBAIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4gXHRpbnQgcmV0O1xuIFxuIFx0aW5mbyA9IChjb25zdCBzdHJ1Y3QgcnR3ODlfZHJpdmVyX2luZm8gKilpZC1cdTAwM2Vkcml2ZXJfaW5mbztcbitcdGlmICghaW5mbylcbitcdFx0aW5mbyA9IGRlZmF1bHRfaW5mbztcbiBcbiBcdHJ0d2RldiA9IHJ0dzg5X2FsbG9jX2llZWU4MDIxMV9odyhcdTAwMjZpbnRmLVx1MDAzZWRldixcbiBcdFx0XHRcdFx0ICBzaXplb2Yoc3RydWN0IHJ0dzg5X3VzYiksIGluZm8pO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvdXNiLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L3VzYi5oXG5pbmRleCBiZGYzMTI1NTk3NDM4Li5kMmFmMjlkMDY4ZjE5IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS91c2IuaFxuQEAgLTk1LDcgKzk1LDggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcnR3ODlfdXNiICpydHc4OV91c2JfcHJpdihzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYpXG4gfVxuIFxuIGludCBydHc4OV91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsXG4tXHRcdCAgICBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpO1xuK1x0XHQgICAgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkLFxuK1x0XHQgICAgY29uc3Qgc3RydWN0IHJ0dzg5X2RyaXZlcl9pbmZvICpkZWZhdWx0X2luZm8pO1xuIHZvaWQgcnR3ODlfdXNiX2Rpc2Nvbm5lY3Qoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpO1xuIFxuICNlbmRpZlxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTlUMjA6MjI6NTAuOTUyMDcxODlaIiwiU2VxIjoxNSwiTmVzdGluZyI6MywiVHlwZSI6ImxsbSIsIk5hbWUiOiJrbXNhbi1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6OTUyODUwNjM4NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBbmFseXNpcyBvZiB0aGlzIFJlYWx0ZWsgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBhaW1lZCBzcXVhcmVseSBhdCB0aGUgYHJ0dzg5YCB3aXJlbGVzcyBkcml2ZXIgZm9yIFJlYWx0ZWsgVVNCIGRldmljZXMuIEkgc2VlIHRoYXQgdGhleSdyZSBtb2RpZnlpbmcgYHJ0dzg5X3VzYl9wcm9iZWAgdG8gYWNjZXB0IGEgYGRlZmF1bHRfaW5mb2AgYXJndW1lbnQuIFRoYXQncyBpbW1lZGlhdGVseSBpbnRlcmVzdGluZy4gTG9va2luZyBkZWVwZXIsIGl0IHNlZW1zIHRoZXkncmUgYWRkaW5nIHdyYXBwZXIgZnVuY3Rpb25zLCBsaWtlIGBydHc4ODUxYnVfcHJvYmVgLCBpbiB0aGUgaW5kaXZpZHVhbCBkZXZpY2UgZHJpdmVyIGZpbGVzLiBUaGVzZSB3cmFwcGVycyB0aGVuIGNhbGwgdGhlIHVwZGF0ZWQgYHJ0dzg5X3VzYl9wcm9iZWAsIHBhc3NpbmcgdGhlIGRldmljZS1zcGVjaWZpYyBpbmZvcm1hdGlvbiBzdHJ1Y3QgKGBcdTAwMjZydHc4OV84ODUxYnVfaW5mb2AgaW4gdGhlIGV4YW1wbGUpLlxuXG5BaCwgSSBnZXQgaXQuIFRoaXMgaXMgcHJvYmFibHkgdG8gaGFuZGxlIGEgc2l0dWF0aW9uIHdoZXJlIGBpZC1cdTAwM2Vkcml2ZXJfaW5mb2AgbWlnaHQgYmUgTlVMTCBvciBpc24ndCBwb3B1bGF0ZWQgY29ycmVjdGx5LiBUaGlzIGNhbiBoYXBwZW4sIGVzcGVjaWFsbHkgd2l0aCBkeW5hbWljIFVTQiBJRCBiaW5kaW5nIHRocm91Z2ggc3lzZnMgYG5ld19pZGAuIEluIHRoZXNlIHNjZW5hcmlvcywgYGRyaXZlcl9pbmZvYCBpc24ndCBhbHdheXMgcHJvdmlkZWQuIElmIGl0J3MgTlVMTCwgdGhlIGNvZGUgd291bGQgYmUgZGVyZWZlcmVuY2luZyBhIG51bGwgcG9pbnRlciB3aGVuIGl0IHRyaWVzIHRvIHVzZSB0aGF0IGBpbmZvYCBwb2ludGVyIGxhdGVyIG9uIGluIHRoZSBwcm9jZXNzLCBsaWtlbHkgaW4gYHJ0dzg5X2FsbG9jX2llZWU4MDIxMV9od2Agb3Igc29tZXdoZXJlIHNpbWlsYXIuIEEgY2xhc3NpYyBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugc2l0dWF0aW9uIVxuXG5UaGlzIHBhdGNoIHByb3ZpZGVzIGEgZGVmYXVsdCBgaW5mb2Agc3RydWN0dXJlLCBlbnN1cmluZyB0aGF0IHRoZSBkcml2ZXIgKmFsd2F5cyogaGFzIHZhbGlkIGRhdGEgdG8gd29yayB3aXRoLCBldmVuIGlmIHRoZSBkZXZpY2UgaXNuJ3QgcHJvcGVybHkgaWRlbnRpZmllZCBpbml0aWFsbHkuIFRoYXQgcHJldmVudHMgdGhlIGNyYXNoLlxuXG5JIHF1aWNrbHkgc2Nhbm5lZCB0aGUgY29kZSBjaGFuZ2VzIGFuZCBjb25maXJtOiB0aGUgY29yZSBvZiB0aGUgZml4IGlzIHRoYXQgc3RhbmRhcmQgY2hlY2s6XG5gYGBjXG4gXHRpbmZvID0gKGNvbnN0IHN0cnVjdCBydHc4OV9kcml2ZXJfaW5mbyAqKWlkLVx1MDAzZWRyaXZlcl9pbmZvO1xuK1x0aWYgKCFpbmZvKVxuK1x0XHRpbmZvID0gZGVmYXVsdF9pbmZvO1xuYGBgXG5UaGF0J3MgaXQuIEl0J3MgYSBjbGVhbiwgc3RyYWlnaHRmb3J3YXJkIGZpeCBmb3IgYSBjb21tb24gVVNCIGRyaXZlciBpc3N1ZS4gTm8gdW5pbml0aWFsaXplZCBtZW1vcnkgdXNhZ2UsIG5vIGluZm9ybWF0aW9uIGxlYWtzLCBvciBhbnl0aGluZyB0aGF0IHdvdWxkIHdhcnJhbnQgdGhlIHVzZSBvZiBLTVNBTi4gU28sIEkgd2lsbCBtYXJrIHRoaXMgYXMgYE5lZWRzS01TQU49ZmFsc2VgLiBJdCdzIGEgc29saWQsIG5lY2Vzc2FyeSwgYW5kIHdlbGwtdGFyZ2V0ZWQgZml4LlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NDExLCJPdXRwdXRUb2tlbnMiOjE1MiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM4OSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE5VDIwOjIzOjAwLjQ4MDU4NjY1NloiLCJTZXEiOjE2LCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUwMTIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHRoZSBydHc4OSBVU0IgZHJpdmVyIHByb2JlIHBhdGguIFdoZW4gYSBVU0IgZGV2aWNlIGlzIGJvdW5kIGR5bmFtaWNhbGx5IHZpYSBzeXNmcyAoZS5nLiwgdXNpbmcgYG5ld19pZGApLCB0aGUgYGlkLVxcdTAwM2Vkcml2ZXJfaW5mb2AgZmllbGQgY2FuIGJlIE5VTEwuIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgYGRlZmF1bHRfaW5mb2AgZmFsbGJhY2sgdG8gZW5zdXJlIHRoZSBkcml2ZXIgaW5mbyBzdHJ1Y3R1cmUgaXMgYWx3YXlzIHZhbGlkLiBUaGlzIHByZXZlbnRzIGEgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCB3aGljaCBpcyBhbHJlYWR5IGNhdWdodCBieSBzdGFuZGFyZCBrZXJuZWwgZGVidWdnaW5nIHRvb2xzIGFuZCBLQVNBTi4gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBvciBleHBvc2UgYW55IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJpc2tzIG9yIGluZm8tbGVha3MsIHNvIGEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpcyBub3QgbmVjZXNzYXJ5LlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgcnR3ODkgVVNCIGRyaXZlciBwcm9iZSBwYXRoLiBXaGVuIGEgVVNCIGRldmljZSBpcyBib3VuZCBkeW5hbWljYWxseSB2aWEgc3lzZnMgKGUuZy4sIHVzaW5nIGBuZXdfaWRgKSwgdGhlIGBpZC1cXHUwMDNlZHJpdmVyX2luZm9gIGZpZWxkIGNhbiBiZSBOVUxMLiBUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIGBkZWZhdWx0X2luZm9gIGZhbGxiYWNrIHRvIGVuc3VyZSB0aGUgZHJpdmVyIGluZm8gc3RydWN0dXJlIGlzIGFsd2F5cyB2YWxpZC4gVGhpcyBwcmV2ZW50cyBhIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwgd2hpY2ggaXMgYWxyZWFkeSBjYXVnaHQgYnkgc3RhbmRhcmQga2VybmVsIGRlYnVnZ2luZyB0b29scyBhbmQgS0FTQU4uIFRoZSBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2Ugb3IgZXhwb3NlIGFueSB1bmluaXRpYWxpemVkIG1lbW9yeSByaXNrcyBvciBpbmZvLWxlYWtzLCBzbyBhIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaXMgbm90IG5lY2Vzc2FyeS5cIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[1] Phase: Succeeded StartedAt: 2026-08-19 20:23:11 +0000 UTC FinishedAt: 2026-08-19 20:23:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-08-19 20:23:11 +0000 UTC FinishedAt: 2026-08-19 20:23:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2] Phase: Succeeded StartedAt: 2026-08-19 20:23:11 +0000 UTC FinishedAt: 2026-08-19 21:00:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-08-19 20:23:11 +0000 UTC FinishedAt: 2026-08-19 21:00:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-08-19 20:23:11 +0000 UTC FinishedAt: 2026-08-19 20:23:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-08-19 20:23:11 +0000 UTC FinishedAt: 2026-08-19 20:23:16 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-convert-artifact-33735718/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-08-19 20:23:21 +0000 UTC FinishedAt: 2026-08-19 20:39:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-08-19 20:23:21 +0000 UTC FinishedAt: 2026-08-19 20:39:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*87214009-7e0e-42b3-b1c4-e3fb0a76c827,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-convert-artifact-33735718/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "387407e2-8115-449a-b65e-a7cecc92d35b", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-868803772/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-08-19 20:23:21 +0000 UTC FinishedAt: 2026-08-19 20:39:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*87214009-7e0e-42b3-b1c4-e3fb0a76c827,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-convert-artifact-33735718/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "387407e2-8115-449a-b65e-a7cecc92d35b", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-868803772/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-08-19 20:39:38 +0000 UTC FinishedAt: 2026-08-19 20:39:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-08-19 20:39:38 +0000 UTC FinishedAt: 2026-08-19 20:39:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-08-19 20:39:38 +0000 UTC FinishedAt: 2026-08-19 20:39:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-08-19 20:39:38 +0000 UTC FinishedAt: 2026-08-19 20:39:43 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-convert-artifact-3028396921/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-08-19 20:39:48 +0000 UTC FinishedAt: 2026-08-19 20:41:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-08-19 20:39:48 +0000 UTC FinishedAt: 2026-08-19 20:41:15 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*387407e2-8115-449a-b65e-a7cecc92d35b,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-868803772/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-08-19 20:41:25 +0000 UTC FinishedAt: 2026-08-19 20:41:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-08-19 20:41:25 +0000 UTC FinishedAt: 2026-08-19 20:41:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-08-19 20:41:25 +0000 UTC FinishedAt: 2026-08-19 20:57:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-08-19 20:41:25 +0000 UTC FinishedAt: 2026-08-19 20:57:47 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*87214009-7e0e-42b3-b1c4-e3fb0a76c827,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-convert-artifact-3028396921/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "81c247a6-b271-421a-80b6-c5dde3320ac0", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-2011000149/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-08-19 20:41:25 +0000 UTC FinishedAt: 2026-08-19 20:57:37 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*87214009-7e0e-42b3-b1c4-e3fb0a76c827,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-convert-artifact-3028396921/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "81c247a6-b271-421a-80b6-c5dde3320ac0", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-2011000149/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-08-19 20:57:47 +0000 UTC FinishedAt: 2026-08-19 20:57:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-08-19 20:57:47 +0000 UTC FinishedAt: 2026-08-19 20:57:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-08-19 20:57:47 +0000 UTC FinishedAt: 2026-08-19 20:59:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-08-19 20:57:47 +0000 UTC FinishedAt: 2026-08-19 20:59:12 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*81c247a6-b271-421a-80b6-c5dde3320ac0,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-2011000149/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-08-19 20:59:22 +0000 UTC FinishedAt: 2026-08-19 21:00:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-08-19 20:59:22 +0000 UTC FinishedAt: 2026-08-19 21:00:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:track,Default:nil,Value:*KASAN,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:base-build-id,Default:nil,Value:*387407e2-8115-449a-b65e-a7cecc92d35b,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*81c247a6-b271-421a-80b6-c5dde3320ac0,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-868803772/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-2011000149/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-08-19 20:59:22 +0000 UTC FinishedAt: 2026-08-19 20:59:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-08-19 20:59:22 +0000 UTC FinishedAt: 2026-08-19 20:59:27 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-convert-artifact-2921691118/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-08-19 20:59:22 +0000 UTC FinishedAt: 2026-08-19 20:59:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-08-19 20:59:22 +0000 UTC FinishedAt: 2026-08-19 20:59:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-08-19 20:59:22 +0000 UTC FinishedAt: 2026-08-19 20:59:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-08-19 20:59:32 +0000 UTC FinishedAt: 2026-08-19 21:00:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowdmpsx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rtw8851bu_probe","rtw8852au_probe","rtw8852bu_probe","rtw8852cu_probe","rtw8922au_probe","rtw89_usb_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ca800a9302764c445de0da0e84d2252400a770ee","config_name":"upstream-apparmor-kasan.config","enable_configs":["RTW89_8851BU","RTW89_8852AU","RTW89_8852BU","RTW89_8852CU","RTW89_8922AU"],"series_id":"e4bd2ec2-1e53-466e-b096-8eed4ee8e5bf","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-08-19 20:59:32 +0000 UTC FinishedAt: 2026-08-19 21:00:32 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*387407e2-8115-449a-b65e-a7cecc92d35b,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*81c247a6-b271-421a-80b6-c5dde3320ac0,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Fuzz,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-868803772/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:/patched,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-build-action-2011000149/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:config,Path:/tmp/config.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowdmpsx/series-workflowdmpsx-convert-artifact-2921691118/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}