From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 983EF1C045 for ; Thu, 5 Jul 2018 10:39:42 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Jul 2018 01:39:42 -0700 Message-Id: <0590c7$22vh02@orsmga001.jf.intel.com> Date: 05 Jul 2018 01:39:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,311,1526367600"; d="scan'208";a="70239234" Received: from unknown (HELO [127.0.1.1]) ([10.240.176.154]) by orsmga001.jf.intel.com with ESMTP; 05 Jul 2018 01:39:41 -0700 Content-Type: multipart/alternative; boundary="===============0235591606305661949==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: Subject: [dpdk-test-report] |FAILURE| pw37618[dpdk-dev, v2, 04/14] net/qede/base: upgrade FW to 8.33.12.0 X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2018 08:39:43 -0000 --===============0235591606305661949== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKaHR0cDov L2RwZGsub3JnL3BhdGNoLzM3NjE4CgpfYXBwbHkgaXNzdWVzXwoKU3VibWl0dGVyOiBSYXNlc2gg TW9keSA8cmFzZXNoLm1vZHlAY2F2aXVtLmNvbT4KRGF0ZTogMjAxOC0wNC0wOSAwNDo0ODowMApE UERLIGdpdCBiYXNlbGluZToKCVJlcG86ZHBkay1tYXN0ZXIsIENvbW1pdElEOiAwNWUwZWVlMDAw MWNiMTk2NzFlYjdlOGQzZGQ2ODY4MGE2OTVmZWEyCglSZXBvOmRwZGstbmV4dC1ldmVudGRldiwg Q29tbWl0SUQ6IGFhOWNiZmM4Y2QxY2FlM2U5MWU0NzQxZWRjMmFhZjNkMDgwNTZhMzkKCVJlcG86 ZHBkay1uZXh0LW5ldCwgQ29tbWl0SUQ6IDBiOGI5MmUzOGNkNTVjNjhlNGRjNDlkZDU5N2Y2MjMy Nzc5OGVjNzQKCVJlcG86ZHBkay1uZXh0LWNyeXB0bywgQ29tbWl0SUQ6IGE1MjAzZTA4YTVlOWI2 ZWU5ZmZiYmY0YzE1MGI3Nzc2ZGU4MzNiMDgKCVJlcG86ZHBkay1uZXh0LXZpcnRpbywgQ29tbWl0 SUQ6IDliOTU0ZjljNDU1YTc2MzA0NjAxZGViODhlMmRmMTU0OWRjOWUwOWEKCipSZXBvOiBkcGRr LW1hc3RlcgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvY29tbW9uX2hzaS5o Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgovKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgoj ZGVmaW5lIEZXX01BSk9SX1ZFUlNJT04JCTgKI2RlZmluZSBGV19NSU5PUl9WRVJTSU9OCQkzMAot LQojZGVmaW5lIEZXX0VOR0lORUVSSU5HX1ZFUlNJT04JMAoKLyoqKioqKioqKioqKioqKioqKioq KioqLwovKiBDT01NT04gSFcgQ09OU1RBTlRTICovCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2 ZXJzL25ldC9xZWRlL2Jhc2UvY29tbW9uX2hzaS5oOjk2CmVycm9yOiBkcml2ZXJzL25ldC9xZWRl L2Jhc2UvY29tbW9uX2hzaS5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGlu ZyBmb3I6Cgl9Cn0KCnZvaWQgZWNvcmVfcW1faW5pdF9wZihzdHJ1Y3QgZWNvcmVfaHdmbiAqcF9o d2ZuLCBzdHJ1Y3QgZWNvcmVfcHR0ICpwX3B0dCkKewoJc3RydWN0IGVjb3JlX3FtX2luZm8gKnFt X2luZm8gPSAmcF9od2ZuLT5xbV9pbmZvOwoJc3RydWN0IGVjb3JlX21jcF9saW5rX3N0YXRlICpw X2xpbms7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVf Y3h0LmM6MTQyNwplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5jOiBwYXRj aCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNv cmVfY3h0LmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiAqCiAqIEBwYXJhbSBwX2h3 Zm4KICogQHBhcmFtIHBfcHR0CiAqLwp2b2lkIGVjb3JlX3FtX2luaXRfcGYoc3RydWN0IGVjb3Jl X2h3Zm4gKnBfaHdmbiwgc3RydWN0IGVjb3JlX3B0dCAqcF9wdHQpOwoKIC8qKgogKiBAYnJpZWYg UmVjb25maWd1cmVzIFFNIHBmIG9uIHRoZSBmbHkKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQuaDoxMDcKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9jeHQuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2Rldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgoJCSAgICAgICAicHEgb3ZlcmZsb3chIHBxICVkLCBtYXggcHEgJWRcbiIsIHBxX2lkeCwg bWF4X3BxKTsKCgkvKiBpbml0IHBxIHBhcmFtcyAqLwoJcW1faW5mby0+cW1fcHFfcGFyYW1zW3Bx X2lkeF0udnBvcnRfaWQgPSBxbV9pbmZvLT5zdGFydF92cG9ydCArCgkJCQkJCSBxbV9pbmZvLT5u dW1fdnBvcnRzOwoJcW1faW5mby0+cW1fcHFfcGFyYW1zW3BxX2lkeF0udGNfaWQgPSB0YzsKCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYzo3MjEK ZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYzogcGF0Y2ggZG9lcyBub3Qg YXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9jb21t b24uaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCV9fbGUxNiByZXNlcnZlZDE2IC8q IHBoeXNpY2FsX3EyICovOwoJX19sZTE2IHR4X2JkX2NvbnMgLyogd29yZDMgKi87CglfX2xlMTYg dHhfYmRfb3Jfc3BxX3Byb2QgLyogd29yZDQgKi87CglfX2xlMTYgd29yZDUgLyogd29yZDUgKi87 CglfX2xlMTYgY29ubl9kcGkgLyogY29ubl9kcGkgKi87Cgl1OCBieXRlMyAvKiBieXRlMyAqLzsK CXU4IGJ5dGU0IC8qIGJ5dGU0ICovOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv cWVkZS9iYXNlL2Vjb3JlX2hzaV9jb21tb24uaDozODEKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9oc2lfY29tbW9uLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfZGVidWdfdG9vbHMuaC4uLgplcnJv cjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCURCR19HUkNfUEFSQU1fRFVNUF9DQVUgLyogZHVtcCBD QVUgbWVtb3JpZXMgKDAvMSkgKi8sCglEQkdfR1JDX1BBUkFNX0RVTVBfUU0gLyogZHVtcCBRTSBt ZW1vcmllcyAoMC8xKSAqLywKCURCR19HUkNfUEFSQU1fRFVNUF9NQ1AgLyogZHVtcCBNQ1AgbWVt b3JpZXMgKDAvMSkgKi8sCglEQkdfR1JDX1BBUkFNX1JFU0VSVkVEIC8qIHJlc2VydmVkICovLAoJ REJHX0dSQ19QQVJBTV9EVU1QX0NGQyAvKiBkdW1wIENGQyBtZW1vcmllcyAoMC8xKSAqLywKCURC R19HUkNfUEFSQU1fRFVNUF9JR1UgLyogZHVtcCBJR1UgbWVtb3JpZXMgKDAvMSkgKi8sCglEQkdf R1JDX1BBUkFNX0RVTVBfQlJCIC8qIGR1bXAgQlJCIG1lbW9yaWVzICgwLzEpICovLAoKZXJyb3I6 IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9kZWJ1Z190b29s cy5oOjk2MAplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9kZWJ1Z190b29s cy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRl L2Jhc2UvZWNvcmVfaHNpX2V0aC5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJX19s ZTE2IGVkcG1fbnVtX2JkcyAvKiBwaHlzaWNhbF9xMiAqLzsKCV9fbGUxNiB0eF9iZF9jb25zIC8q IHdvcmQzICovOwoJX19sZTE2IHR4X2JkX3Byb2QgLyogd29yZDQgKi87CglfX2xlMTYgdHhfY2xh c3MgLyogd29yZDUgKi87CglfX2xlMTYgY29ubl9kcGkgLyogY29ubl9kcGkgKi87Cgl1OCBieXRl MyAvKiBieXRlMyAqLzsKCXU4IGJ5dGU0IC8qIGJ5dGU0ICovOwoKZXJyb3I6IHBhdGNoIGZhaWxl ZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9ldGguaDozNDYKZXJyb3I6IGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfZXRoLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfaW5pdF9mdW5jLmgu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cgl1OCB3cnJfZ3JvdXAgLyogV1JSIGdyb3Vw ICovOwovKiBJbmRpY2F0ZXMgaWYgYSByYXRlIGxpbWl0ZXIgc2hvdWxkIGJlIGFsbG9jYXRlZCBm b3IgdGhlIFBRICgwLzEpICovCgl1OCBybF92YWxpZDsKfTsKCgoKZXJyb3I6IHBhdGNoIGZhaWxl ZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9pbml0X2Z1bmMuaDoxMTQKZXJyb3I6 IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfaW5pdF9mdW5jLmg6IHBhdGNoIGRvZXMg bm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pbml0 X2Z3X2Z1bmNzLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUgUU1fUkxf UEVSSU9EX0NMS18yNU0JCSgyNSAqIFFNX1JMX1BFUklPRCkKCi8qIFJMIGluY3JlbWVudCB2YWx1 ZSAtIHJhdGUgaXMgc3BlY2lmaWVkIGluIG1icHMuIHRoZSBmYWN0b3Igb2YgMS4wMSB3YXMKKiBh ZGRlZCBhZnRlciBzZWVpbmcgb25seSA5OSUgZmFjdG9yIHJlYWNoZWQgaW4gYSAyNUdicHMgcG9y dCB3aXRoIERQREsgUkZDCiogMjU0NCB0ZXN0LiBJbiB0aGlzIHNjZW5hcmlvIHRoZSBQRiBSTCB3 YXMgcmVkdWNpbmcgdGhlIGxpbmUgcmF0ZSB0byA5OSUKLS0KKi8KI2RlZmluZSBRTV9STF9JTkNf VkFMKHJhdGUpIFwKCU9TQUxfTUFYX1QodTMyLCAodTMyKSgoKHJhdGUgPyByYXRlIDogMTAwMDAw KSAqIFFNX1JMX1BFUklPRCAqIDEwMSkgLyBcCgkoOCAqIDEwMCkpLCAxKQoKZXJyb3I6IHBhdGNo IGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2luaXRfZndfZnVuY3MuYzo3Ngpl cnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2luaXRfZndfZnVuY3MuYzogcGF0Y2gg ZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3Jl X2luaXRfZndfZnVuY3MuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKICoKICogQHBh cmFtIHBfaHdmbgogKiBAcGFyYW0gcF9wdHQJCQktIHB0dCB3aW5kb3cgdXNlZCBmb3Igd3JpdGlu ZyB0aGUgcmVnaXN0ZXJzCiAqIEBwYXJhbSBwb3J0X2lkCQktIHBvcnQgSUQKICogQHBhcmFtIHBm X2lkCQkJLSBQRiBJRAogKiBAcGFyYW0gbWF4X3BoeXNfdGNzX3Blcl9wb3J0CS0gbWF4IG51bWJl ciBvZiBwaHlzaWNhbCBUQ3MgcGVyIHBvcnQgaW4gSFcKICogQHBhcmFtIG51bV9wZl9jaWRzCQkt IG51bWJlciBvZiBjb25uZWN0aW9ucyB1c2VkIGJ5IHRoaXMgUEYKICogQHBhcmFtIG51bV92Zl9j aWRzCQktIG51bWJlciBvZiBjb25uZWN0aW9ucyB1c2VkIGJ5IFZGcyBvZiB0aGlzIFBGCiAqIEBw YXJhbSBudW1fdGlkcwkJLSBudW1iZXIgb2YgdGFza3MgdXNlZCBieSB0aGlzIFBGCgplcnJvcjog cGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaW5pdF9md19mdW5jcy5o OjYxCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaW5pdF9md19mdW5jcy5oOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2Uv ZWNvcmVfaXJvX3ZhbHVlcy5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgovKiBZU1RP Uk1fRkxPV19DT05UUk9MX01PREVfT0ZGU0VUICovCgl7ICAgICAgMHgwLCAgICAgIDB4MCwgICAg ICAweDAsICAgICAgMHgwLCAgICAgIDB4OH0sCi8qIFRTVE9STV9QT1JUX1NUQVRfT0ZGU0VUKHBv cnRfaWQpICovCgl7ICAgMHg0Y2IwLCAgICAgMHg4MCwgICAgICAweDAsICAgICAgMHgwLCAgICAg MHg4MH0sCi8qIFRTVE9STV9MTDJfUE9SVF9TVEFUX09GRlNFVChwb3J0X2lkKSAqLwoJeyAgIDB4 NjUwOCwgICAgIDB4MjAsICAgICAgMHgwLCAgICAgIDB4MCwgICAgIDB4MjB9LAovKiBVU1RPUk1f VkZfUEZfQ0hBTk5FTF9SRUFEWV9PRkZTRVQodmZfaWQpICovCgl7ICAgIDB4YjAwLCAgICAgIDB4 OCwgICAgICAweDAsICAgICAgMHgwLCAgICAgIDB4NH0sCi8qIFVTVE9STV9GTFJfRklOQUxfQUNL X09GRlNFVChwZl9pZCkgKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9pcm9fdmFsdWVzLmg6MTMKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9l Y29yZV9pcm9fdmFsdWVzLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9sMi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgoJcF9yYW1yb2QtPmZsb3dfaWRfdmFsaWQgPSAwOwoJcF9yYW1yb2QtPmZsb3dfaWQgPSAw OwoKCXBfcmFtcm9kLT52cG9ydF9pZCA9IGFic192cG9ydF9pZDsKCXBfcmFtcm9kLT5maWx0ZXJf YWN0aW9uID0gYl9pc19hZGQgPyBHRlRfQUREX0ZJTFRFUgoJCQkJCSAgIDogR0ZUX0RFTEVURV9G SUxURVI7CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3Jl X2wyLmM6MjE1MAplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2wyLmM6IHBhdGNo IGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29y ZV9ydF9kZWZzLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUgUU1fUkVH X01BWFBRU0laRVRYU0VMXzYzX1JUX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgMzQw ODIKI2RlZmluZSBRTV9SRUdfQkFTRUFERFJPVEhFUlBRX1JUX09GRlNFVCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAzNDA4MwojZGVmaW5lIFFNX1JFR19CQVNFQUREUk9USEVSUFFfUlRfU0la RSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyOAojZGVmaW5lIFFNX1JFR19BRlVMTFFN QllQVEhSUEZXRlFfUlRfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgIDM0MjExCiNkZWZp bmUgUU1fUkVHX0FGVUxMUU1CWVBUSFJWUFdGUV9SVF9PRkZTRVQgICAgICAgICAgICAgICAgICAg ICAgICAgMzQyMTIKLS0KI2RlZmluZSBSVU5USU1FX0FSUkFZX1NJWkUgNDE3NDMKCi8qIEluaXQg Q2FsbGJhY2tzICovCiNkZWZpbmUgRE1BRV9SRUFEWV9DQiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9u ZXQvcWVkZS9iYXNlL2Vjb3JlX3J0X2RlZnMuaDoyMDUKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9ydF9kZWZzLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9ldGhfY29tbW9uLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJj aGluZyBmb3I6Ci8qIE51bWJlciBvZiBldGhlclR5cGUgdmFsdWVzIGNvbmZpZ3VyZWQgYnkgZHJp dmVyIGZvciBjb250cm9sIGZyYW1lIGNoZWNrICovCiNkZWZpbmUgRVRIX0NUTF9GUkFNRV9FVEhf VFlQRV9OVU0gICAgICAgICAgICAgIDQKCgoKLyoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9ldGhfY29tbW9uLmg6MTE5CmVycm9yOiBkcml2ZXJzL25ldC9xZWRl L2Jhc2UvZXRoX2NvbW1vbi5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvcmVnX2FkZHIuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKICAjZGVmaW5lIE1DUF9SRUdfQ1BVX1NUQVRFX1NPRlRfSEFMVEVEICgweDEgPDwgMTAp CiNkZWZpbmUgUFJTX1JFR19TRUFSQ0hfVEVOQU5UX0lEIDB4MWYwNDRjVUwKI2RlZmluZSBQR0xV RV9CX1JFR19WRl9CQVIxX1NJWkUgMHgyYWFlNjhVTAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvcWVkZS9iYXNlL3JlZ19hZGRyLmg6MTIyMgplcnJvcjogZHJpdmVycy9uZXQvcWVk ZS9iYXNlL3JlZ19hZGRyLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvbmV0L3FlZGUvcWVkZV9tYWluLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6 CmNoYXIgZndfZmlsZVtQQVRIX01BWF07Cgpjb25zdCBjaGFyICpRRURFX0RFRkFVTFRfRklSTVdB UkUgPQoJIi9saWIvZmlybXdhcmUvcWVkL3FlZF9pbml0X3ZhbHVlcy04LjMwLjEyLjAuYmluIjsK CnN0YXRpYyB2b2lkCnFlZF91cGRhdGVfcGZfcGFyYW1zKHN0cnVjdCBlY29yZV9kZXYgKmVkZXYs IHN0cnVjdCBlY29yZV9wZl9wYXJhbXMgKnBhcmFtcykKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRy aXZlcnMvbmV0L3FlZGUvcWVkZV9tYWluLmM6MTkKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvcWVk ZV9tYWluLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CipSZXBvOiBkcGRrLW5leHQtZXZlbnRkZXYK Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2NvbW1vbl9oc2kuaC4uLgplcnJv cjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKI2RlZmluZSBG V19NQUpPUl9WRVJTSU9OCQk4CiNkZWZpbmUgRldfTUlOT1JfVkVSU0lPTgkJMzAKLS0KI2RlZmlu ZSBGV19FTkdJTkVFUklOR19WRVJTSU9OCTAKCi8qKioqKioqKioqKioqKioqKioqKioqKi8KLyog Q09NTU9OIEhXIENPTlNUQU5UUyAqLwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv cWVkZS9iYXNlL2NvbW1vbl9oc2kuaDo5NgplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Nv bW1vbl9oc2kuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJ fQp9Cgp2b2lkIGVjb3JlX3FtX2luaXRfcGYoc3RydWN0IGVjb3JlX2h3Zm4gKnBfaHdmbiwgc3Ry dWN0IGVjb3JlX3B0dCAqcF9wdHQpCnsKCXN0cnVjdCBlY29yZV9xbV9pbmZvICpxbV9pbmZvID0g JnBfaHdmbi0+cW1faW5mbzsKCXN0cnVjdCBlY29yZV9tY3BfbGlua19zdGF0ZSAqcF9saW5rOwoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5jOjE0 MjcKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQuYzogcGF0Y2ggZG9lcyBu b3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5o Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKgogKiBAcGFyYW0gcF9od2ZuCiAqIEBw YXJhbSBwX3B0dAogKi8Kdm9pZCBlY29yZV9xbV9pbml0X3BmKHN0cnVjdCBlY29yZV9od2ZuICpw X2h3Zm4sIHN0cnVjdCBlY29yZV9wdHQgKnBfcHR0KTsKCiAvKioKICogQGJyaWVmIFJlY29uZmln dXJlcyBRTSBwZiBvbiB0aGUgZmx5CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9x ZWRlL2Jhc2UvZWNvcmVfY3h0Lmg6MTA3CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNv cmVfY3h0Lmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9lY29yZV9kZXYuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQkg ICAgICAgInBxIG92ZXJmbG93ISBwcSAlZCwgbWF4IHBxICVkXG4iLCBwcV9pZHgsIG1heF9wcSk7 CgoJLyogaW5pdCBwcSBwYXJhbXMgKi8KCXFtX2luZm8tPnFtX3BxX3BhcmFtc1twcV9pZHhdLnZw b3J0X2lkID0gcW1faW5mby0+c3RhcnRfdnBvcnQgKwoJCQkJCQkgcW1faW5mby0+bnVtX3Zwb3J0 czsKCXFtX2luZm8tPnFtX3BxX3BhcmFtc1twcV9pZHhdLnRjX2lkID0gdGM7CgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmM6NzIxCmVycm9yOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfY29tbW9uLmguLi4K ZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglfX2xlMTYgcmVzZXJ2ZWQxNiAvKiBwaHlzaWNh bF9xMiAqLzsKCV9fbGUxNiB0eF9iZF9jb25zIC8qIHdvcmQzICovOwoJX19sZTE2IHR4X2JkX29y X3NwcV9wcm9kIC8qIHdvcmQ0ICovOwoJX19sZTE2IHdvcmQ1IC8qIHdvcmQ1ICovOwoJX19sZTE2 IGNvbm5fZHBpIC8qIGNvbm5fZHBpICovOwoJdTggYnl0ZTMgLyogYnl0ZTMgKi87Cgl1OCBieXRl NCAvKiBieXRlNCAqLzsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9oc2lfY29tbW9uLmg6MzgxCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNv cmVfaHNpX2NvbW1vbi5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2 ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2RlYnVnX3Rvb2xzLmguLi4KZXJyb3I6IHdoaWxl IHNlYXJjaGluZyBmb3I6CglEQkdfR1JDX1BBUkFNX0RVTVBfQ0FVIC8qIGR1bXAgQ0FVIG1lbW9y aWVzICgwLzEpICovLAoJREJHX0dSQ19QQVJBTV9EVU1QX1FNIC8qIGR1bXAgUU0gbWVtb3JpZXMg KDAvMSkgKi8sCglEQkdfR1JDX1BBUkFNX0RVTVBfTUNQIC8qIGR1bXAgTUNQIG1lbW9yaWVzICgw LzEpICovLAoJREJHX0dSQ19QQVJBTV9SRVNFUlZFRCAvKiByZXNlcnZlZCAqLywKCURCR19HUkNf UEFSQU1fRFVNUF9DRkMgLyogZHVtcCBDRkMgbWVtb3JpZXMgKDAvMSkgKi8sCglEQkdfR1JDX1BB UkFNX0RVTVBfSUdVIC8qIGR1bXAgSUdVIG1lbW9yaWVzICgwLzEpICovLAoJREJHX0dSQ19QQVJB TV9EVU1QX0JSQiAvKiBkdW1wIEJSQiBtZW1vcmllcyAoMC8xKSAqLywKCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfZGVidWdfdG9vbHMuaDo5NjAK ZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfZGVidWdfdG9vbHMuaDogcGF0 Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vj b3JlX2hzaV9ldGguaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCV9fbGUxNiBlZHBt X251bV9iZHMgLyogcGh5c2ljYWxfcTIgKi87CglfX2xlMTYgdHhfYmRfY29ucyAvKiB3b3JkMyAq LzsKCV9fbGUxNiB0eF9iZF9wcm9kIC8qIHdvcmQ0ICovOwoJX19sZTE2IHR4X2NsYXNzIC8qIHdv cmQ1ICovOwoJX19sZTE2IGNvbm5fZHBpIC8qIGNvbm5fZHBpICovOwoJdTggYnl0ZTMgLyogYnl0 ZTMgKi87Cgl1OCBieXRlNCAvKiBieXRlNCAqLzsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfZXRoLmg6MzQ2CmVycm9yOiBkcml2ZXJzL25ldC9x ZWRlL2Jhc2UvZWNvcmVfaHNpX2V0aC5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2luaXRfZnVuYy5oLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJdTggd3JyX2dyb3VwIC8qIFdSUiBncm91cCAqLzsKLyog SW5kaWNhdGVzIGlmIGEgcmF0ZSBsaW1pdGVyIHNob3VsZCBiZSBhbGxvY2F0ZWQgZm9yIHRoZSBQ USAoMC8xKSAqLwoJdTggcmxfdmFsaWQ7Cn07CgoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfaW5pdF9mdW5jLmg6MTE0CmVycm9yOiBkcml2ZXJz L25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2luaXRfZnVuYy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBs eQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaW5pdF9md19mdW5j cy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojZGVmaW5lIFFNX1JMX1BFUklPRF9D TEtfMjVNCQkoMjUgKiBRTV9STF9QRVJJT0QpCgovKiBSTCBpbmNyZW1lbnQgdmFsdWUgLSByYXRl IGlzIHNwZWNpZmllZCBpbiBtYnBzLiB0aGUgZmFjdG9yIG9mIDEuMDEgd2FzCiogYWRkZWQgYWZ0 ZXIgc2VlaW5nIG9ubHkgOTklIGZhY3RvciByZWFjaGVkIGluIGEgMjVHYnBzIHBvcnQgd2l0aCBE UERLIFJGQwoqIDI1NDQgdGVzdC4gSW4gdGhpcyBzY2VuYXJpbyB0aGUgUEYgUkwgd2FzIHJlZHVj aW5nIHRoZSBsaW5lIHJhdGUgdG8gOTklCi0tCiovCiNkZWZpbmUgUU1fUkxfSU5DX1ZBTChyYXRl KSBcCglPU0FMX01BWF9UKHUzMiwgKHUzMikoKChyYXRlID8gcmF0ZSA6IDEwMDAwMCkgKiBRTV9S TF9QRVJJT0QgKiAxMDEpIC8gXAoJKDggKiAxMDApKSwgMSkKCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pbml0X2Z3X2Z1bmNzLmM6NzYKZXJyb3I6IGRy aXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pbml0X2Z3X2Z1bmNzLmM6IHBhdGNoIGRvZXMgbm90 IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pbml0X2Z3 X2Z1bmNzLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiAqCiAqIEBwYXJhbSBwX2h3 Zm4KICogQHBhcmFtIHBfcHR0CQkJLSBwdHQgd2luZG93IHVzZWQgZm9yIHdyaXRpbmcgdGhlIHJl Z2lzdGVycwogKiBAcGFyYW0gcG9ydF9pZAkJLSBwb3J0IElECiAqIEBwYXJhbSBwZl9pZAkJCS0g UEYgSUQKICogQHBhcmFtIG1heF9waHlzX3Rjc19wZXJfcG9ydAktIG1heCBudW1iZXIgb2YgcGh5 c2ljYWwgVENzIHBlciBwb3J0IGluIEhXCiAqIEBwYXJhbSBudW1fcGZfY2lkcwkJLSBudW1iZXIg b2YgY29ubmVjdGlvbnMgdXNlZCBieSB0aGlzIFBGCiAqIEBwYXJhbSBudW1fdmZfY2lkcwkJLSBu dW1iZXIgb2YgY29ubmVjdGlvbnMgdXNlZCBieSBWRnMgb2YgdGhpcyBQRgogKiBAcGFyYW0gbnVt X3RpZHMJCS0gbnVtYmVyIG9mIHRhc2tzIHVzZWQgYnkgdGhpcyBQRgoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2luaXRfZndfZnVuY3MuaDo2MQplcnJv cjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2luaXRfZndfZnVuY3MuaDogcGF0Y2ggZG9l cyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2ly b192YWx1ZXMuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKLyogWVNUT1JNX0ZMT1df Q09OVFJPTF9NT0RFX09GRlNFVCAqLwoJeyAgICAgIDB4MCwgICAgICAweDAsICAgICAgMHgwLCAg ICAgIDB4MCwgICAgICAweDh9LAovKiBUU1RPUk1fUE9SVF9TVEFUX09GRlNFVChwb3J0X2lkKSAq LwoJeyAgIDB4NGNiMCwgICAgIDB4ODAsICAgICAgMHgwLCAgICAgIDB4MCwgICAgIDB4ODB9LAov KiBUU1RPUk1fTEwyX1BPUlRfU1RBVF9PRkZTRVQocG9ydF9pZCkgKi8KCXsgICAweDY1MDgsICAg ICAweDIwLCAgICAgIDB4MCwgICAgICAweDAsICAgICAweDIwfSwKLyogVVNUT1JNX1ZGX1BGX0NI QU5ORUxfUkVBRFlfT0ZGU0VUKHZmX2lkKSAqLwoJeyAgICAweGIwMCwgICAgICAweDgsICAgICAg MHgwLCAgICAgIDB4MCwgICAgICAweDR9LAovKiBVU1RPUk1fRkxSX0ZJTkFMX0FDS19PRkZTRVQo cGZfaWQpICovCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNv cmVfaXJvX3ZhbHVlcy5oOjEzCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaXJv X3ZhbHVlcy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9xZWRlL2Jhc2UvZWNvcmVfbDIuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCXBf cmFtcm9kLT5mbG93X2lkX3ZhbGlkID0gMDsKCXBfcmFtcm9kLT5mbG93X2lkID0gMDsKCglwX3Jh bXJvZC0+dnBvcnRfaWQgPSBhYnNfdnBvcnRfaWQ7CglwX3JhbXJvZC0+ZmlsdGVyX2FjdGlvbiA9 IGJfaXNfYWRkID8gR0ZUX0FERF9GSUxURVIKCQkJCQkgICA6IEdGVF9ERUxFVEVfRklMVEVSOwoK CmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9sMi5jOjIx NTAKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9sMi5jOiBwYXRjaCBkb2VzIG5v dCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfcnRfZGVm cy5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojZGVmaW5lIFFNX1JFR19NQVhQUVNJ WkVUWFNFTF82M19SVF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgIDM0MDgyCiNkZWZp bmUgUU1fUkVHX0JBU0VBRERST1RIRVJQUV9SVF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMzQwODMKI2RlZmluZSBRTV9SRUdfQkFTRUFERFJPVEhFUlBRX1JUX1NJWkUgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAxMjgKI2RlZmluZSBRTV9SRUdfQUZVTExRTUJZUFRIUlBG V0ZRX1JUX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAzNDIxMQojZGVmaW5lIFFNX1JF R19BRlVMTFFNQllQVEhSVlBXRlFfUlRfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgIDM0 MjEyCi0tCiNkZWZpbmUgUlVOVElNRV9BUlJBWV9TSVpFIDQxNzQzCgovKiBJbml0IENhbGxiYWNr cyAqLwojZGVmaW5lIERNQUVfUkVBRFlfQ0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDAKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9ydF9kZWZzLmg6MjA1CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNv cmVfcnRfZGVmcy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJz L25ldC9xZWRlL2Jhc2UvZXRoX2NvbW1vbi5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgovKiBOdW1iZXIgb2YgZXRoZXJUeXBlIHZhbHVlcyBjb25maWd1cmVkIGJ5IGRyaXZlciBmb3Ig Y29udHJvbCBmcmFtZSBjaGVjayAqLwojZGVmaW5lIEVUSF9DVExfRlJBTUVfRVRIX1RZUEVfTlVN ICAgICAgICAgICAgICA0CgoKCi8qCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9x ZWRlL2Jhc2UvZXRoX2NvbW1vbi5oOjExOQplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2V0 aF9jb21tb24uaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvcWVkZS9iYXNlL3JlZ19hZGRyLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiAg I2RlZmluZSBNQ1BfUkVHX0NQVV9TVEFURV9TT0ZUX0hBTFRFRCAoMHgxIDw8IDEwKQojZGVmaW5l IFBSU19SRUdfU0VBUkNIX1RFTkFOVF9JRCAweDFmMDQ0Y1VMCiNkZWZpbmUgUEdMVUVfQl9SRUdf VkZfQkFSMV9TSVpFIDB4MmFhZTY4VUwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9yZWdfYWRkci5oOjEyMjIKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9y ZWdfYWRkci5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9xZWRlL3FlZGVfbWFpbi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpjaGFyIGZ3 X2ZpbGVbUEFUSF9NQVhdOwoKY29uc3QgY2hhciAqUUVERV9ERUZBVUxUX0ZJUk1XQVJFID0KCSIv bGliL2Zpcm13YXJlL3FlZC9xZWRfaW5pdF92YWx1ZXMtOC4zMC4xMi4wLmJpbiI7CgpzdGF0aWMg dm9pZApxZWRfdXBkYXRlX3BmX3BhcmFtcyhzdHJ1Y3QgZWNvcmVfZGV2ICplZGV2LCBzdHJ1Y3Qg ZWNvcmVfcGZfcGFyYW1zICpwYXJhbXMpCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25l dC9xZWRlL3FlZGVfbWFpbi5jOjE5CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL3FlZGVfbWFpbi5j OiBwYXRjaCBkb2VzIG5vdCBhcHBseQoqUmVwbzogZHBkay1uZXh0LW5ldApDaGVja2luZyBwYXRj aCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvY29tbW9uX2hzaS5oLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgojZGVmaW5lIEZXX01BSk9SX1ZFUlNJ T04JCTgKI2RlZmluZSBGV19NSU5PUl9WRVJTSU9OCQkzMAotLQojZGVmaW5lIEZXX0VOR0lORUVS SU5HX1ZFUlNJT04JMAoKLyoqKioqKioqKioqKioqKioqKioqKioqLwovKiBDT01NT04gSFcgQ09O U1RBTlRTICovCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvY29t bW9uX2hzaS5oOjk2CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvY29tbW9uX2hzaS5oOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2Uv ZWNvcmVfY3h0LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cgl9Cn0KCnZvaWQgZWNv cmVfcW1faW5pdF9wZihzdHJ1Y3QgZWNvcmVfaHdmbiAqcF9od2ZuLCBzdHJ1Y3QgZWNvcmVfcHR0 ICpwX3B0dCkKewoJc3RydWN0IGVjb3JlX3FtX2luZm8gKnFtX2luZm8gPSAmcF9od2ZuLT5xbV9p bmZvOwoJc3RydWN0IGVjb3JlX21jcF9saW5rX3N0YXRlICpwX2xpbms7CgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmM6MTQyNwplcnJvcjogZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0LmguLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CiAqCiAqIEBwYXJhbSBwX2h3Zm4KICogQHBhcmFtIHBfcHR0CiAq Lwp2b2lkIGVjb3JlX3FtX2luaXRfcGYoc3RydWN0IGVjb3JlX2h3Zm4gKnBfaHdmbiwgc3RydWN0 IGVjb3JlX3B0dCAqcF9wdHQpOwoKIC8qKgogKiBAYnJpZWYgUmVjb25maWd1cmVzIFFNIHBmIG9u IHRoZSBmbHkKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29y ZV9jeHQuaDoxMDcKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQuaDogcGF0 Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vj b3JlX2Rldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCSAgICAgICAicHEgb3Zl cmZsb3chIHBxICVkLCBtYXggcHEgJWRcbiIsIHBxX2lkeCwgbWF4X3BxKTsKCgkvKiBpbml0IHBx IHBhcmFtcyAqLwoJcW1faW5mby0+cW1fcHFfcGFyYW1zW3BxX2lkeF0udnBvcnRfaWQgPSBxbV9p bmZvLT5zdGFydF92cG9ydCArCgkJCQkJCSBxbV9pbmZvLT5udW1fdnBvcnRzOwoJcW1faW5mby0+ cW1fcHFfcGFyYW1zW3BxX2lkeF0udGNfaWQgPSB0YzsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRy aXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYzo3MjEKZXJyb3I6IGRyaXZlcnMvbmV0L3Fl ZGUvYmFzZS9lY29yZV9kZXYuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9jb21tb24uaC4uLgplcnJvcjogd2hpbGUg c2VhcmNoaW5nIGZvcjoKCV9fbGUxNiByZXNlcnZlZDE2IC8qIHBoeXNpY2FsX3EyICovOwoJX19s ZTE2IHR4X2JkX2NvbnMgLyogd29yZDMgKi87CglfX2xlMTYgdHhfYmRfb3Jfc3BxX3Byb2QgLyog d29yZDQgKi87CglfX2xlMTYgd29yZDUgLyogd29yZDUgKi87CglfX2xlMTYgY29ubl9kcGkgLyog Y29ubl9kcGkgKi87Cgl1OCBieXRlMyAvKiBieXRlMyAqLzsKCXU4IGJ5dGU0IC8qIGJ5dGU0ICov OwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9j b21tb24uaDozODEKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfY29tbW9u Lmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9oc2lfZGVidWdfdG9vbHMuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKCURCR19HUkNfUEFSQU1fRFVNUF9DQVUgLyogZHVtcCBDQVUgbWVtb3JpZXMgKDAvMSkgKi8s CglEQkdfR1JDX1BBUkFNX0RVTVBfUU0gLyogZHVtcCBRTSBtZW1vcmllcyAoMC8xKSAqLywKCURC R19HUkNfUEFSQU1fRFVNUF9NQ1AgLyogZHVtcCBNQ1AgbWVtb3JpZXMgKDAvMSkgKi8sCglEQkdf R1JDX1BBUkFNX1JFU0VSVkVEIC8qIHJlc2VydmVkICovLAoJREJHX0dSQ19QQVJBTV9EVU1QX0NG QyAvKiBkdW1wIENGQyBtZW1vcmllcyAoMC8xKSAqLywKCURCR19HUkNfUEFSQU1fRFVNUF9JR1Ug LyogZHVtcCBJR1UgbWVtb3JpZXMgKDAvMSkgKi8sCglEQkdfR1JDX1BBUkFNX0RVTVBfQlJCIC8q IGR1bXAgQlJCIG1lbW9yaWVzICgwLzEpICovLAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVy cy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9kZWJ1Z190b29scy5oOjk2MAplcnJvcjogZHJpdmVy cy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9kZWJ1Z190b29scy5oOiBwYXRjaCBkb2VzIG5vdCBh cHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2V0aC5o Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJX19sZTE2IGVkcG1fbnVtX2JkcyAvKiBw aHlzaWNhbF9xMiAqLzsKCV9fbGUxNiB0eF9iZF9jb25zIC8qIHdvcmQzICovOwoJX19sZTE2IHR4 X2JkX3Byb2QgLyogd29yZDQgKi87CglfX2xlMTYgdHhfY2xhc3MgLyogd29yZDUgKi87CglfX2xl MTYgY29ubl9kcGkgLyogY29ubl9kcGkgKi87Cgl1OCBieXRlMyAvKiBieXRlMyAqLzsKCXU4IGJ5 dGU0IC8qIGJ5dGU0ICovOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9i YXNlL2Vjb3JlX2hzaV9ldGguaDozNDYKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29y ZV9oc2lfZXRoLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfaW5pdF9mdW5jLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJj aGluZyBmb3I6Cgl1OCB3cnJfZ3JvdXAgLyogV1JSIGdyb3VwICovOwovKiBJbmRpY2F0ZXMgaWYg YSByYXRlIGxpbWl0ZXIgc2hvdWxkIGJlIGFsbG9jYXRlZCBmb3IgdGhlIFBRICgwLzEpICovCgl1 OCBybF92YWxpZDsKfTsKCgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9i YXNlL2Vjb3JlX2hzaV9pbml0X2Z1bmMuaDoxMTQKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9oc2lfaW5pdF9mdW5jLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pbml0X2Z3X2Z1bmNzLmMuLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUgUU1fUkxfUEVSSU9EX0NMS18yNU0JCSgyNSAq IFFNX1JMX1BFUklPRCkKCi8qIFJMIGluY3JlbWVudCB2YWx1ZSAtIHJhdGUgaXMgc3BlY2lmaWVk IGluIG1icHMuIHRoZSBmYWN0b3Igb2YgMS4wMSB3YXMKKiBhZGRlZCBhZnRlciBzZWVpbmcgb25s eSA5OSUgZmFjdG9yIHJlYWNoZWQgaW4gYSAyNUdicHMgcG9ydCB3aXRoIERQREsgUkZDCiogMjU0 NCB0ZXN0LiBJbiB0aGlzIHNjZW5hcmlvIHRoZSBQRiBSTCB3YXMgcmVkdWNpbmcgdGhlIGxpbmUg cmF0ZSB0byA5OSUKLS0KKi8KI2RlZmluZSBRTV9STF9JTkNfVkFMKHJhdGUpIFwKCU9TQUxfTUFY X1QodTMyLCAodTMyKSgoKHJhdGUgPyByYXRlIDogMTAwMDAwKSAqIFFNX1JMX1BFUklPRCAqIDEw MSkgLyBcCgkoOCAqIDEwMCkpLCAxKQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv cWVkZS9iYXNlL2Vjb3JlX2luaXRfZndfZnVuY3MuYzo3NgplcnJvcjogZHJpdmVycy9uZXQvcWVk ZS9iYXNlL2Vjb3JlX2luaXRfZndfZnVuY3MuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2luaXRfZndfZnVuY3MuaC4uLgpl cnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKICoKICogQHBhcmFtIHBfaHdmbgogKiBAcGFyYW0g cF9wdHQJCQktIHB0dCB3aW5kb3cgdXNlZCBmb3Igd3JpdGluZyB0aGUgcmVnaXN0ZXJzCiAqIEBw YXJhbSBwb3J0X2lkCQktIHBvcnQgSUQKICogQHBhcmFtIHBmX2lkCQkJLSBQRiBJRAogKiBAcGFy YW0gbWF4X3BoeXNfdGNzX3Blcl9wb3J0CS0gbWF4IG51bWJlciBvZiBwaHlzaWNhbCBUQ3MgcGVy IHBvcnQgaW4gSFcKICogQHBhcmFtIG51bV9wZl9jaWRzCQktIG51bWJlciBvZiBjb25uZWN0aW9u cyB1c2VkIGJ5IHRoaXMgUEYKICogQHBhcmFtIG51bV92Zl9jaWRzCQktIG51bWJlciBvZiBjb25u ZWN0aW9ucyB1c2VkIGJ5IFZGcyBvZiB0aGlzIFBGCiAqIEBwYXJhbSBudW1fdGlkcwkJLSBudW1i ZXIgb2YgdGFza3MgdXNlZCBieSB0aGlzIFBGCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJz L25ldC9xZWRlL2Jhc2UvZWNvcmVfaW5pdF9md19mdW5jcy5oOjYxCmVycm9yOiBkcml2ZXJzL25l dC9xZWRlL2Jhc2UvZWNvcmVfaW5pdF9md19mdW5jcy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaXJvX3ZhbHVlcy5oLi4u CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgovKiBZU1RPUk1fRkxPV19DT05UUk9MX01PREVf T0ZGU0VUICovCgl7ICAgICAgMHgwLCAgICAgIDB4MCwgICAgICAweDAsICAgICAgMHgwLCAgICAg IDB4OH0sCi8qIFRTVE9STV9QT1JUX1NUQVRfT0ZGU0VUKHBvcnRfaWQpICovCgl7ICAgMHg0Y2Iw LCAgICAgMHg4MCwgICAgICAweDAsICAgICAgMHgwLCAgICAgMHg4MH0sCi8qIFRTVE9STV9MTDJf UE9SVF9TVEFUX09GRlNFVChwb3J0X2lkKSAqLwoJeyAgIDB4NjUwOCwgICAgIDB4MjAsICAgICAg MHgwLCAgICAgIDB4MCwgICAgIDB4MjB9LAovKiBVU1RPUk1fVkZfUEZfQ0hBTk5FTF9SRUFEWV9P RkZTRVQodmZfaWQpICovCgl7ICAgIDB4YjAwLCAgICAgIDB4OCwgICAgICAweDAsICAgICAgMHgw LCAgICAgIDB4NH0sCi8qIFVTVE9STV9GTFJfRklOQUxfQUNLX09GRlNFVChwZl9pZCkgKi8KCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pcm9fdmFsdWVz Lmg6MTMKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pcm9fdmFsdWVzLmg6IHBh dGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9l Y29yZV9sMi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJcF9yYW1yb2QtPmZsb3df aWRfdmFsaWQgPSAwOwoJcF9yYW1yb2QtPmZsb3dfaWQgPSAwOwoKCXBfcmFtcm9kLT52cG9ydF9p ZCA9IGFic192cG9ydF9pZDsKCXBfcmFtcm9kLT5maWx0ZXJfYWN0aW9uID0gYl9pc19hZGQgPyBH RlRfQUREX0ZJTFRFUgoJCQkJCSAgIDogR0ZUX0RFTEVURV9GSUxURVI7CgoKZXJyb3I6IHBhdGNo IGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2wyLmM6MjE1MAplcnJvcjogZHJp dmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2wyLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9ydF9kZWZzLmguLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUgUU1fUkVHX01BWFBRU0laRVRYU0VMXzYzX1JU X09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgMzQwODIKI2RlZmluZSBRTV9SRUdfQkFT RUFERFJPVEhFUlBRX1JUX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNDA4Mwoj ZGVmaW5lIFFNX1JFR19CQVNFQUREUk9USEVSUFFfUlRfU0laRSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDEyOAojZGVmaW5lIFFNX1JFR19BRlVMTFFNQllQVEhSUEZXRlFfUlRfT0ZGU0VU ICAgICAgICAgICAgICAgICAgICAgICAgIDM0MjExCiNkZWZpbmUgUU1fUkVHX0FGVUxMUU1CWVBU SFJWUFdGUV9SVF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgMzQyMTIKLS0KI2RlZmlu ZSBSVU5USU1FX0FSUkFZX1NJWkUgNDE3NDMKCi8qIEluaXQgQ2FsbGJhY2tzICovCiNkZWZpbmUg RE1BRV9SRUFEWV9DQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3J0 X2RlZnMuaDoyMDUKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9ydF9kZWZzLmg6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9ldGhfY29tbW9uLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Ci8qIE51bWJlciBv ZiBldGhlclR5cGUgdmFsdWVzIGNvbmZpZ3VyZWQgYnkgZHJpdmVyIGZvciBjb250cm9sIGZyYW1l IGNoZWNrICovCiNkZWZpbmUgRVRIX0NUTF9GUkFNRV9FVEhfVFlQRV9OVU0gICAgICAgICAgICAg IDQKCgoKLyoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9ldGhf Y29tbW9uLmg6MTE5CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZXRoX2NvbW1vbi5oOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2Uv cmVnX2FkZHIuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKICAjZGVmaW5lIE1DUF9S RUdfQ1BVX1NUQVRFX1NPRlRfSEFMVEVEICgweDEgPDwgMTApCiNkZWZpbmUgUFJTX1JFR19TRUFS Q0hfVEVOQU5UX0lEIDB4MWYwNDRjVUwKI2RlZmluZSBQR0xVRV9CX1JFR19WRl9CQVIxX1NJWkUg MHgyYWFlNjhVTAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL3Jl Z19hZGRyLmg6MTIyMgplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL3JlZ19hZGRyLmg6IHBh dGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvcWVkZV9t YWluLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CmNoYXIgZndfZmlsZVtQQVRIX01B WF07Cgpjb25zdCBjaGFyICpRRURFX0RFRkFVTFRfRklSTVdBUkUgPQoJIi9saWIvZmlybXdhcmUv cWVkL3FlZF9pbml0X3ZhbHVlcy04LjMwLjEyLjAuYmluIjsKCnN0YXRpYyB2b2lkCnFlZF91cGRh dGVfcGZfcGFyYW1zKHN0cnVjdCBlY29yZV9kZXYgKmVkZXYsIHN0cnVjdCBlY29yZV9wZl9wYXJh bXMgKnBhcmFtcykKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvcWVkZV9t YWluLmM6MTkKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvcWVkZV9tYWluLmM6IHBhdGNoIGRvZXMg bm90IGFwcGx5CipSZXBvOiBkcGRrLW5leHQtY3J5cHRvCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L3FlZGUvYmFzZS9jb21tb25faHNpLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6 Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqLwoKCiNkZWZpbmUgRldfTUFKT1JfVkVSU0lPTgkJOAojZGVm aW5lIEZXX01JTk9SX1ZFUlNJT04JCTMwCi0tCiNkZWZpbmUgRldfRU5HSU5FRVJJTkdfVkVSU0lP TgkwCgovKioqKioqKioqKioqKioqKioqKioqKiovCi8qIENPTU1PTiBIVyBDT05TVEFOVFMgKi8K CmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9jb21tb25faHNpLmg6 OTYKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9jb21tb25faHNpLmg6IHBhdGNoIGRvZXMg bm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQu Yy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCX0KfQoKdm9pZCBlY29yZV9xbV9pbml0 X3BmKHN0cnVjdCBlY29yZV9od2ZuICpwX2h3Zm4sIHN0cnVjdCBlY29yZV9wdHQgKnBfcHR0KQp7 CglzdHJ1Y3QgZWNvcmVfcW1faW5mbyAqcW1faW5mbyA9ICZwX2h3Zm4tPnFtX2luZm87CglzdHJ1 Y3QgZWNvcmVfbWNwX2xpbmtfc3RhdGUgKnBfbGluazsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRy aXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQuYzoxNDI3CmVycm9yOiBkcml2ZXJzL25ldC9x ZWRlL2Jhc2UvZWNvcmVfY3h0LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9jeHQuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNo aW5nIGZvcjoKICoKICogQHBhcmFtIHBfaHdmbgogKiBAcGFyYW0gcF9wdHQKICovCnZvaWQgZWNv cmVfcW1faW5pdF9wZihzdHJ1Y3QgZWNvcmVfaHdmbiAqcF9od2ZuLCBzdHJ1Y3QgZWNvcmVfcHR0 ICpwX3B0dCk7CgogLyoqCiAqIEBicmllZiBSZWNvbmZpZ3VyZXMgUU0gcGYgb24gdGhlIGZseQoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5oOjEw NwplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5oOiBwYXRjaCBkb2VzIG5v dCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmMu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJICAgICAgICJwcSBvdmVyZmxvdyEgcHEg JWQsIG1heCBwcSAlZFxuIiwgcHFfaWR4LCBtYXhfcHEpOwoKCS8qIGluaXQgcHEgcGFyYW1zICov CglxbV9pbmZvLT5xbV9wcV9wYXJhbXNbcHFfaWR4XS52cG9ydF9pZCA9IHFtX2luZm8tPnN0YXJ0 X3Zwb3J0ICsKCQkJCQkJIHFtX2luZm8tPm51bV92cG9ydHM7CglxbV9pbmZvLT5xbV9wcV9wYXJh bXNbcHFfaWR4XS50Y19pZCA9IHRjOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv cWVkZS9iYXNlL2Vjb3JlX2Rldi5jOjcyMQplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vj b3JlX2Rldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2NvbW1vbi5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgoJX19sZTE2IHJlc2VydmVkMTYgLyogcGh5c2ljYWxfcTIgKi87CglfX2xlMTYgdHhfYmRf Y29ucyAvKiB3b3JkMyAqLzsKCV9fbGUxNiB0eF9iZF9vcl9zcHFfcHJvZCAvKiB3b3JkNCAqLzsK CV9fbGUxNiB3b3JkNSAvKiB3b3JkNSAqLzsKCV9fbGUxNiBjb25uX2RwaSAvKiBjb25uX2RwaSAq LzsKCXU4IGJ5dGUzIC8qIGJ5dGUzICovOwoJdTggYnl0ZTQgLyogYnl0ZTQgKi87CgplcnJvcjog cGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2NvbW1vbi5oOjM4 MQplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9jb21tb24uaDogcGF0Y2gg ZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3Jl X2hzaV9kZWJ1Z190b29scy5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJREJHX0dS Q19QQVJBTV9EVU1QX0NBVSAvKiBkdW1wIENBVSBtZW1vcmllcyAoMC8xKSAqLywKCURCR19HUkNf UEFSQU1fRFVNUF9RTSAvKiBkdW1wIFFNIG1lbW9yaWVzICgwLzEpICovLAoJREJHX0dSQ19QQVJB TV9EVU1QX01DUCAvKiBkdW1wIE1DUCBtZW1vcmllcyAoMC8xKSAqLywKCURCR19HUkNfUEFSQU1f UkVTRVJWRUQgLyogcmVzZXJ2ZWQgKi8sCglEQkdfR1JDX1BBUkFNX0RVTVBfQ0ZDIC8qIGR1bXAg Q0ZDIG1lbW9yaWVzICgwLzEpICovLAoJREJHX0dSQ19QQVJBTV9EVU1QX0lHVSAvKiBkdW1wIElH VSBtZW1vcmllcyAoMC8xKSAqLywKCURCR19HUkNfUEFSQU1fRFVNUF9CUkIgLyogZHVtcCBCUkIg bWVtb3JpZXMgKDAvMSkgKi8sCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRl L2Jhc2UvZWNvcmVfaHNpX2RlYnVnX3Rvb2xzLmg6OTYwCmVycm9yOiBkcml2ZXJzL25ldC9xZWRl L2Jhc2UvZWNvcmVfaHNpX2RlYnVnX3Rvb2xzLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfZXRoLmguLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CglfX2xlMTYgZWRwbV9udW1fYmRzIC8qIHBoeXNpY2FsX3Ey ICovOwoJX19sZTE2IHR4X2JkX2NvbnMgLyogd29yZDMgKi87CglfX2xlMTYgdHhfYmRfcHJvZCAv KiB3b3JkNCAqLzsKCV9fbGUxNiB0eF9jbGFzcyAvKiB3b3JkNSAqLzsKCV9fbGUxNiBjb25uX2Rw aSAvKiBjb25uX2RwaSAqLzsKCXU4IGJ5dGUzIC8qIGJ5dGUzICovOwoJdTggYnl0ZTQgLyogYnl0 ZTQgKi87CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVf aHNpX2V0aC5oOjM0NgplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9ldGgu aDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9i YXNlL2Vjb3JlX2hzaV9pbml0X2Z1bmMuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK CXU4IHdycl9ncm91cCAvKiBXUlIgZ3JvdXAgKi87Ci8qIEluZGljYXRlcyBpZiBhIHJhdGUgbGlt aXRlciBzaG91bGQgYmUgYWxsb2NhdGVkIGZvciB0aGUgUFEgKDAvMSkgKi8KCXU4IHJsX3ZhbGlk Owp9OwoKCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVf aHNpX2luaXRfZnVuYy5oOjExNAplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hz aV9pbml0X2Z1bmMuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2luaXRfZndfZnVuY3MuYy4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKI2RlZmluZSBRTV9STF9QRVJJT0RfQ0xLXzI1TQkJKDI1ICogUU1fUkxfUEVS SU9EKQoKLyogUkwgaW5jcmVtZW50IHZhbHVlIC0gcmF0ZSBpcyBzcGVjaWZpZWQgaW4gbWJwcy4g dGhlIGZhY3RvciBvZiAxLjAxIHdhcwoqIGFkZGVkIGFmdGVyIHNlZWluZyBvbmx5IDk5JSBmYWN0 b3IgcmVhY2hlZCBpbiBhIDI1R2JwcyBwb3J0IHdpdGggRFBESyBSRkMKKiAyNTQ0IHRlc3QuIElu IHRoaXMgc2NlbmFyaW8gdGhlIFBGIFJMIHdhcyByZWR1Y2luZyB0aGUgbGluZSByYXRlIHRvIDk5 JQotLQoqLwojZGVmaW5lIFFNX1JMX0lOQ19WQUwocmF0ZSkgXAoJT1NBTF9NQVhfVCh1MzIsICh1 MzIpKCgocmF0ZSA/IHJhdGUgOiAxMDAwMDApICogUU1fUkxfUEVSSU9EICogMTAxKSAvIFwKCSg4 ICogMTAwKSksIDEpCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2Uv ZWNvcmVfaW5pdF9md19mdW5jcy5jOjc2CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNv cmVfaW5pdF9md19mdW5jcy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaW5pdF9md19mdW5jcy5oLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgogKgogKiBAcGFyYW0gcF9od2ZuCiAqIEBwYXJhbSBwX3B0dAkJCS0g cHR0IHdpbmRvdyB1c2VkIGZvciB3cml0aW5nIHRoZSByZWdpc3RlcnMKICogQHBhcmFtIHBvcnRf aWQJCS0gcG9ydCBJRAogKiBAcGFyYW0gcGZfaWQJCQktIFBGIElECiAqIEBwYXJhbSBtYXhfcGh5 c190Y3NfcGVyX3BvcnQJLSBtYXggbnVtYmVyIG9mIHBoeXNpY2FsIFRDcyBwZXIgcG9ydCBpbiBI VwogKiBAcGFyYW0gbnVtX3BmX2NpZHMJCS0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHVzZWQgYnkg dGhpcyBQRgogKiBAcGFyYW0gbnVtX3ZmX2NpZHMJCS0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHVz ZWQgYnkgVkZzIG9mIHRoaXMgUEYKICogQHBhcmFtIG51bV90aWRzCQktIG51bWJlciBvZiB0YXNr cyB1c2VkIGJ5IHRoaXMgUEYKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUv YmFzZS9lY29yZV9pbml0X2Z3X2Z1bmNzLmg6NjEKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9pbml0X2Z3X2Z1bmNzLmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pcm9fdmFsdWVzLmguLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6Ci8qIFlTVE9STV9GTE9XX0NPTlRST0xfTU9ERV9PRkZTRVQgKi8K CXsgICAgICAweDAsICAgICAgMHgwLCAgICAgIDB4MCwgICAgICAweDAsICAgICAgMHg4fSwKLyog VFNUT1JNX1BPUlRfU1RBVF9PRkZTRVQocG9ydF9pZCkgKi8KCXsgICAweDRjYjAsICAgICAweDgw LCAgICAgIDB4MCwgICAgICAweDAsICAgICAweDgwfSwKLyogVFNUT1JNX0xMMl9QT1JUX1NUQVRf T0ZGU0VUKHBvcnRfaWQpICovCgl7ICAgMHg2NTA4LCAgICAgMHgyMCwgICAgICAweDAsICAgICAg MHgwLCAgICAgMHgyMH0sCi8qIFVTVE9STV9WRl9QRl9DSEFOTkVMX1JFQURZX09GRlNFVCh2Zl9p ZCkgKi8KCXsgICAgMHhiMDAsICAgICAgMHg4LCAgICAgIDB4MCwgICAgICAweDAsICAgICAgMHg0 fSwKLyogVVNUT1JNX0ZMUl9GSU5BTF9BQ0tfT0ZGU0VUKHBmX2lkKSAqLwoKZXJyb3I6IHBhdGNo IGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2lyb192YWx1ZXMuaDoxMwplcnJv cjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2lyb192YWx1ZXMuaDogcGF0Y2ggZG9lcyBu b3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2wyLmMu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglwX3JhbXJvZC0+Zmxvd19pZF92YWxpZCA9 IDA7CglwX3JhbXJvZC0+Zmxvd19pZCA9IDA7CgoJcF9yYW1yb2QtPnZwb3J0X2lkID0gYWJzX3Zw b3J0X2lkOwoJcF9yYW1yb2QtPmZpbHRlcl9hY3Rpb24gPSBiX2lzX2FkZCA/IEdGVF9BRERfRklM VEVSCgkJCQkJICAgOiBHRlRfREVMRVRFX0ZJTFRFUjsKCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfbDIuYzoyMTUwCmVycm9yOiBkcml2ZXJzL25ldC9x ZWRlL2Jhc2UvZWNvcmVfbDIuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3J0X2RlZnMuaC4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKI2RlZmluZSBRTV9SRUdfTUFYUFFTSVpFVFhTRUxfNjNfUlRfT0ZGU0VUICAg ICAgICAgICAgICAgICAgICAgICAgICAzNDA4MgojZGVmaW5lIFFNX1JFR19CQVNFQUREUk9USEVS UFFfUlRfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM0MDgzCiNkZWZpbmUgUU1f UkVHX0JBU0VBRERST1RIRVJQUV9SVF9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MTI4CiNkZWZpbmUgUU1fUkVHX0FGVUxMUU1CWVBUSFJQRldGUV9SVF9PRkZTRVQgICAgICAgICAg ICAgICAgICAgICAgICAgMzQyMTEKI2RlZmluZSBRTV9SRUdfQUZVTExRTUJZUFRIUlZQV0ZRX1JU X09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAzNDIxMgotLQojZGVmaW5lIFJVTlRJTUVf QVJSQVlfU0laRSA0MTc0MwoKLyogSW5pdCBDYWxsYmFja3MgKi8KI2RlZmluZSBETUFFX1JFQURZ X0NCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCgplcnJv cjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfcnRfZGVmcy5oOjIw NQplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX3J0X2RlZnMuaDogcGF0Y2ggZG9l cyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2V0aF9jb21t b24uaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKLyogTnVtYmVyIG9mIGV0aGVyVHlw ZSB2YWx1ZXMgY29uZmlndXJlZCBieSBkcml2ZXIgZm9yIGNvbnRyb2wgZnJhbWUgY2hlY2sgKi8K I2RlZmluZSBFVEhfQ1RMX0ZSQU1FX0VUSF9UWVBFX05VTSAgICAgICAgICAgICAgNAoKCgovKgoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2V0aF9jb21tb24uaDox MTkKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9ldGhfY29tbW9uLmg6IHBhdGNoIGRvZXMg bm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9yZWdfYWRkci5o Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogICNkZWZpbmUgTUNQX1JFR19DUFVfU1RB VEVfU09GVF9IQUxURUQgKDB4MSA8PCAxMCkKI2RlZmluZSBQUlNfUkVHX1NFQVJDSF9URU5BTlRf SUQgMHgxZjA0NGNVTAojZGVmaW5lIFBHTFVFX0JfUkVHX1ZGX0JBUjFfU0laRSAweDJhYWU2OFVM CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvcmVnX2FkZHIuaDox MjIyCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvcmVnX2FkZHIuaDogcGF0Y2ggZG9lcyBu b3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9xZWRlX21haW4uYy4uLgpl cnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKY2hhciBmd19maWxlW1BBVEhfTUFYXTsKCmNvbnN0 IGNoYXIgKlFFREVfREVGQVVMVF9GSVJNV0FSRSA9CgkiL2xpYi9maXJtd2FyZS9xZWQvcWVkX2lu aXRfdmFsdWVzLTguMzAuMTIuMC5iaW4iOwoKc3RhdGljIHZvaWQKcWVkX3VwZGF0ZV9wZl9wYXJh bXMoc3RydWN0IGVjb3JlX2RldiAqZWRldiwgc3RydWN0IGVjb3JlX3BmX3BhcmFtcyAqcGFyYW1z KQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9xZWRlX21haW4uYzoxOQpl cnJvcjogZHJpdmVycy9uZXQvcWVkZS9xZWRlX21haW4uYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkK KlJlcG86IGRwZGstbmV4dC12aXJ0aW8KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9i YXNlL2NvbW1vbl9oc2kuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKiovCgoKI2RlZmluZSBGV19NQUpPUl9WRVJTSU9OCQk4CiNkZWZpbmUgRldfTUlO T1JfVkVSU0lPTgkJMzAKLS0KI2RlZmluZSBGV19FTkdJTkVFUklOR19WRVJTSU9OCTAKCi8qKioq KioqKioqKioqKioqKioqKioqKi8KLyogQ09NTU9OIEhXIENPTlNUQU5UUyAqLwoKZXJyb3I6IHBh dGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2NvbW1vbl9oc2kuaDo5NgplcnJvcjog ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2NvbW1vbl9oc2kuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkK Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5jLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJfQp9Cgp2b2lkIGVjb3JlX3FtX2luaXRfcGYoc3RydWN0 IGVjb3JlX2h3Zm4gKnBfaHdmbiwgc3RydWN0IGVjb3JlX3B0dCAqcF9wdHQpCnsKCXN0cnVjdCBl Y29yZV9xbV9pbmZvICpxbV9pbmZvID0gJnBfaHdmbi0+cW1faW5mbzsKCXN0cnVjdCBlY29yZV9t Y3BfbGlua19zdGF0ZSAqcF9saW5rOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv cWVkZS9iYXNlL2Vjb3JlX2N4dC5jOjE0MjcKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9l Y29yZV9jeHQuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvcWVkZS9iYXNlL2Vjb3JlX2N4dC5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgog KgogKiBAcGFyYW0gcF9od2ZuCiAqIEBwYXJhbSBwX3B0dAogKi8Kdm9pZCBlY29yZV9xbV9pbml0 X3BmKHN0cnVjdCBlY29yZV9od2ZuICpwX2h3Zm4sIHN0cnVjdCBlY29yZV9wdHQgKnBfcHR0KTsK CiAvKioKICogQGJyaWVmIFJlY29uZmlndXJlcyBRTSBwZiBvbiB0aGUgZmx5CgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0Lmg6MTA3CmVycm9yOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfY3h0Lmg6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9kZXYuYy4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCQkgICAgICAgInBxIG92ZXJmbG93ISBwcSAlZCwgbWF4IHBx ICVkXG4iLCBwcV9pZHgsIG1heF9wcSk7CgoJLyogaW5pdCBwcSBwYXJhbXMgKi8KCXFtX2luZm8t PnFtX3BxX3BhcmFtc1twcV9pZHhdLnZwb3J0X2lkID0gcW1faW5mby0+c3RhcnRfdnBvcnQgKwoJ CQkJCQkgcW1faW5mby0+bnVtX3Zwb3J0czsKCXFtX2luZm8tPnFtX3BxX3BhcmFtc1twcV9pZHhd LnRjX2lkID0gdGM7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2Uv ZWNvcmVfZGV2LmM6NzIxCmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfZGV2LmM6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3FlZGUvYmFz ZS9lY29yZV9oc2lfY29tbW9uLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglfX2xl MTYgcmVzZXJ2ZWQxNiAvKiBwaHlzaWNhbF9xMiAqLzsKCV9fbGUxNiB0eF9iZF9jb25zIC8qIHdv cmQzICovOwoJX19sZTE2IHR4X2JkX29yX3NwcV9wcm9kIC8qIHdvcmQ0ICovOwoJX19sZTE2IHdv cmQ1IC8qIHdvcmQ1ICovOwoJX19sZTE2IGNvbm5fZHBpIC8qIGNvbm5fZHBpICovOwoJdTggYnl0 ZTMgLyogYnl0ZTMgKi87Cgl1OCBieXRlNCAvKiBieXRlNCAqLzsKCmVycm9yOiBwYXRjaCBmYWls ZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfY29tbW9uLmg6MzgxCmVycm9yOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2NvbW1vbi5oOiBwYXRjaCBkb2VzIG5vdCBh cHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2RlYnVn X3Rvb2xzLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglEQkdfR1JDX1BBUkFNX0RV TVBfQ0FVIC8qIGR1bXAgQ0FVIG1lbW9yaWVzICgwLzEpICovLAoJREJHX0dSQ19QQVJBTV9EVU1Q X1FNIC8qIGR1bXAgUU0gbWVtb3JpZXMgKDAvMSkgKi8sCglEQkdfR1JDX1BBUkFNX0RVTVBfTUNQ IC8qIGR1bXAgTUNQIG1lbW9yaWVzICgwLzEpICovLAoJREJHX0dSQ19QQVJBTV9SRVNFUlZFRCAv KiByZXNlcnZlZCAqLywKCURCR19HUkNfUEFSQU1fRFVNUF9DRkMgLyogZHVtcCBDRkMgbWVtb3Jp ZXMgKDAvMSkgKi8sCglEQkdfR1JDX1BBUkFNX0RVTVBfSUdVIC8qIGR1bXAgSUdVIG1lbW9yaWVz ICgwLzEpICovLAoJREJHX0dSQ19QQVJBTV9EVU1QX0JSQiAvKiBkdW1wIEJSQiBtZW1vcmllcyAo MC8xKSAqLywKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29y ZV9oc2lfZGVidWdfdG9vbHMuaDo5NjAKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29y ZV9oc2lfZGVidWdfdG9vbHMuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2hzaV9ldGguaC4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKCV9fbGUxNiBlZHBtX251bV9iZHMgLyogcGh5c2ljYWxfcTIgKi87CglfX2xl MTYgdHhfYmRfY29ucyAvKiB3b3JkMyAqLzsKCV9fbGUxNiB0eF9iZF9wcm9kIC8qIHdvcmQ0ICov OwoJX19sZTE2IHR4X2NsYXNzIC8qIHdvcmQ1ICovOwoJX19sZTE2IGNvbm5fZHBpIC8qIGNvbm5f ZHBpICovOwoJdTggYnl0ZTMgLyogYnl0ZTMgKi87Cgl1OCBieXRlNCAvKiBieXRlNCAqLzsKCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfZXRoLmg6 MzQ2CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2V0aC5oOiBwYXRjaCBk b2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVf aHNpX2luaXRfZnVuYy5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJdTggd3JyX2dy b3VwIC8qIFdSUiBncm91cCAqLzsKLyogSW5kaWNhdGVzIGlmIGEgcmF0ZSBsaW1pdGVyIHNob3Vs ZCBiZSBhbGxvY2F0ZWQgZm9yIHRoZSBQUSAoMC8xKSAqLwoJdTggcmxfdmFsaWQ7Cn07CgoKCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9oc2lfaW5pdF9m dW5jLmg6MTE0CmVycm9yOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaHNpX2luaXRfZnVu Yy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRl L2Jhc2UvZWNvcmVfaW5pdF9md19mdW5jcy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgojZGVmaW5lIFFNX1JMX1BFUklPRF9DTEtfMjVNCQkoMjUgKiBRTV9STF9QRVJJT0QpCgovKiBS TCBpbmNyZW1lbnQgdmFsdWUgLSByYXRlIGlzIHNwZWNpZmllZCBpbiBtYnBzLiB0aGUgZmFjdG9y IG9mIDEuMDEgd2FzCiogYWRkZWQgYWZ0ZXIgc2VlaW5nIG9ubHkgOTklIGZhY3RvciByZWFjaGVk IGluIGEgMjVHYnBzIHBvcnQgd2l0aCBEUERLIFJGQwoqIDI1NDQgdGVzdC4gSW4gdGhpcyBzY2Vu YXJpbyB0aGUgUEYgUkwgd2FzIHJlZHVjaW5nIHRoZSBsaW5lIHJhdGUgdG8gOTklCi0tCiovCiNk ZWZpbmUgUU1fUkxfSU5DX1ZBTChyYXRlKSBcCglPU0FMX01BWF9UKHUzMiwgKHUzMikoKChyYXRl ID8gcmF0ZSA6IDEwMDAwMCkgKiBRTV9STF9QRVJJT0QgKiAxMDEpIC8gXAoJKDggKiAxMDApKSwg MSkKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pbml0 X2Z3X2Z1bmNzLmM6NzYKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9pbml0X2Z3 X2Z1bmNzLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9lY29yZV9pbml0X2Z3X2Z1bmNzLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGlu ZyBmb3I6CiAqCiAqIEBwYXJhbSBwX2h3Zm4KICogQHBhcmFtIHBfcHR0CQkJLSBwdHQgd2luZG93 IHVzZWQgZm9yIHdyaXRpbmcgdGhlIHJlZ2lzdGVycwogKiBAcGFyYW0gcG9ydF9pZAkJLSBwb3J0 IElECiAqIEBwYXJhbSBwZl9pZAkJCS0gUEYgSUQKICogQHBhcmFtIG1heF9waHlzX3Rjc19wZXJf cG9ydAktIG1heCBudW1iZXIgb2YgcGh5c2ljYWwgVENzIHBlciBwb3J0IGluIEhXCiAqIEBwYXJh bSBudW1fcGZfY2lkcwkJLSBudW1iZXIgb2YgY29ubmVjdGlvbnMgdXNlZCBieSB0aGlzIFBGCiAq IEBwYXJhbSBudW1fdmZfY2lkcwkJLSBudW1iZXIgb2YgY29ubmVjdGlvbnMgdXNlZCBieSBWRnMg b2YgdGhpcyBQRgogKiBAcGFyYW0gbnVtX3RpZHMJCS0gbnVtYmVyIG9mIHRhc2tzIHVzZWQgYnkg dGhpcyBQRgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3Jl X2luaXRfZndfZnVuY3MuaDo2MQplcnJvcjogZHJpdmVycy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2lu aXRfZndfZnVuY3MuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9uZXQvcWVkZS9iYXNlL2Vjb3JlX2lyb192YWx1ZXMuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNo aW5nIGZvcjoKLyogWVNUT1JNX0ZMT1dfQ09OVFJPTF9NT0RFX09GRlNFVCAqLwoJeyAgICAgIDB4 MCwgICAgICAweDAsICAgICAgMHgwLCAgICAgIDB4MCwgICAgICAweDh9LAovKiBUU1RPUk1fUE9S VF9TVEFUX09GRlNFVChwb3J0X2lkKSAqLwoJeyAgIDB4NGNiMCwgICAgIDB4ODAsICAgICAgMHgw LCAgICAgIDB4MCwgICAgIDB4ODB9LAovKiBUU1RPUk1fTEwyX1BPUlRfU1RBVF9PRkZTRVQocG9y dF9pZCkgKi8KCXsgICAweDY1MDgsICAgICAweDIwLCAgICAgIDB4MCwgICAgICAweDAsICAgICAw eDIwfSwKLyogVVNUT1JNX1ZGX1BGX0NIQU5ORUxfUkVBRFlfT0ZGU0VUKHZmX2lkKSAqLwoJeyAg ICAweGIwMCwgICAgICAweDgsICAgICAgMHgwLCAgICAgIDB4MCwgICAgICAweDR9LAovKiBVU1RP Uk1fRkxSX0ZJTkFMX0FDS19PRkZTRVQocGZfaWQpICovCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfaXJvX3ZhbHVlcy5oOjEzCmVycm9yOiBkcml2ZXJz L25ldC9xZWRlL2Jhc2UvZWNvcmVfaXJvX3ZhbHVlcy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfbDIuYy4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCXBfcmFtcm9kLT5mbG93X2lkX3ZhbGlkID0gMDsKCXBfcmFt cm9kLT5mbG93X2lkID0gMDsKCglwX3JhbXJvZC0+dnBvcnRfaWQgPSBhYnNfdnBvcnRfaWQ7Cglw X3JhbXJvZC0+ZmlsdGVyX2FjdGlvbiA9IGJfaXNfYWRkID8gR0ZUX0FERF9GSUxURVIKCQkJCQkg ICA6IEdGVF9ERUxFVEVfRklMVEVSOwoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L3FlZGUvYmFzZS9lY29yZV9sMi5jOjIxNTAKZXJyb3I6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9l Y29yZV9sMi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9xZWRlL2Jhc2UvZWNvcmVfcnRfZGVmcy5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgojZGVmaW5lIFFNX1JFR19NQVhQUVNJWkVUWFNFTF82M19SVF9PRkZTRVQgICAgICAgICAgICAg ICAgICAgICAgICAgIDM0MDgyCiNkZWZpbmUgUU1fUkVHX0JBU0VBRERST1RIRVJQUV9SVF9PRkZT RVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzQwODMKI2RlZmluZSBRTV9SRUdfQkFTRUFE RFJPVEhFUlBRX1JUX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjgKI2RlZmlu ZSBRTV9SRUdfQUZVTExRTUJZUFRIUlBGV0ZRX1JUX09GRlNFVCAgICAgICAgICAgICAgICAgICAg ICAgICAzNDIxMQojZGVmaW5lIFFNX1JFR19BRlVMTFFNQllQVEhSVlBXRlFfUlRfT0ZGU0VUICAg ICAgICAgICAgICAgICAgICAgICAgIDM0MjEyCi0tCiNkZWZpbmUgUlVOVElNRV9BUlJBWV9TSVpF IDQxNzQzCgovKiBJbml0IENhbGxiYWNrcyAqLwojZGVmaW5lIERNQUVfUkVBRFlfQ0IgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9lY29yZV9ydF9kZWZzLmg6MjA1CmVycm9yOiBk cml2ZXJzL25ldC9xZWRlL2Jhc2UvZWNvcmVfcnRfZGVmcy5oOiBwYXRjaCBkb2VzIG5vdCBhcHBs eQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZXRoX2NvbW1vbi5oLi4uCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgovKiBOdW1iZXIgb2YgZXRoZXJUeXBlIHZhbHVlcyBj b25maWd1cmVkIGJ5IGRyaXZlciBmb3IgY29udHJvbCBmcmFtZSBjaGVjayAqLwojZGVmaW5lIEVU SF9DVExfRlJBTUVfRVRIX1RZUEVfTlVNICAgICAgICAgICAgICA0CgoKCi8qCgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL2Jhc2UvZXRoX2NvbW1vbi5oOjExOQplcnJvcjog ZHJpdmVycy9uZXQvcWVkZS9iYXNlL2V0aF9jb21tb24uaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkK Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvcWVkZS9iYXNlL3JlZ19hZGRyLmguLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CiAgI2RlZmluZSBNQ1BfUkVHX0NQVV9TVEFURV9TT0ZUX0hB TFRFRCAoMHgxIDw8IDEwKQojZGVmaW5lIFBSU19SRUdfU0VBUkNIX1RFTkFOVF9JRCAweDFmMDQ0 Y1VMCiNkZWZpbmUgUEdMVUVfQl9SRUdfVkZfQkFSMV9TSVpFIDB4MmFhZTY4VUwKCmVycm9yOiBw YXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9yZWdfYWRkci5oOjEyMjIKZXJyb3I6 IGRyaXZlcnMvbmV0L3FlZGUvYmFzZS9yZWdfYWRkci5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9xZWRlL3FlZGVfbWFpbi5jLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgpjaGFyIGZ3X2ZpbGVbUEFUSF9NQVhdOwoKY29uc3QgY2hhciAqUUVE RV9ERUZBVUxUX0ZJUk1XQVJFID0KCSIvbGliL2Zpcm13YXJlL3FlZC9xZWRfaW5pdF92YWx1ZXMt OC4zMC4xMi4wLmJpbiI7CgpzdGF0aWMgdm9pZApxZWRfdXBkYXRlX3BmX3BhcmFtcyhzdHJ1Y3Qg ZWNvcmVfZGV2ICplZGV2LCBzdHJ1Y3QgZWNvcmVfcGZfcGFyYW1zICpwYXJhbXMpCgplcnJvcjog cGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9xZWRlL3FlZGVfbWFpbi5jOjE5CmVycm9yOiBkcml2 ZXJzL25ldC9xZWRlL3FlZGVfbWFpbi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQoKRFBESyBTVFYg dGVhbQ== --===============0235591606305661949==--