From owner-freebsd-java@FreeBSD.ORG Thu May 4 12:52:22 2006 Return-Path: X-Original-To: freebsd-java@freebsd.org Delivered-To: freebsd-java@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D70A716A40A for ; Thu, 4 May 2006 12:52:22 +0000 (UTC) (envelope-from arnej@pvv.ntnu.no) Received: from decibel.pvv.ntnu.no (decibel.pvv.ntnu.no [129.241.210.179]) by mx1.FreeBSD.org (Postfix) with ESMTP id 088B643D48 for ; Thu, 4 May 2006 12:52:21 +0000 (GMT) (envelope-from arnej@pvv.ntnu.no) Received: from arnej by decibel.pvv.ntnu.no with local (Exim 4.52) id 1FbdJa-0008Js-9G for freebsd-java@freebsd.org; Thu, 04 May 2006 14:52:18 +0200 Date: Thu, 4 May 2006 14:52:18 +0200 (CEST) From: "Arne H. Juul" To: freebsd-java@freebsd.org Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-243158062-550527908-1146747138=:29744" Subject: jdk15 from update5 sources X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 May 2006 12:52:23 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---243158062-550527908-1146747138=:29744 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed For those of us who can't use the diablo binary release for one reason or the other, it's a problem that the BSD patches from eyesbeyond.com use the SCSL sources, since there are many problems in those that are fixed in the various update 1 to 6 releases. Sun has released sources on tiger.dev.java.net for update 3, 4, and 5 (but not update 6, at least not yet). These are under the JIUL license which seems to be more permissive than SCSL (too much legalese for me to say for sure). So I've downloaded the update 5 sources and applied the bsd-jdk15-patches-3.tar.bz2 (with some rejects). Then I've fixed the issues with rejected patches and done some changes based on the changes between SCSL sources and update 5 sources (see attached patch). The result works pretty well for me when compiled on FreeBSD 4.x for running standalone java applications; I have no idea if it works for webstart, or browser plugins, or as a basis for java frameworks. But maybe somebody else may find it useful to go this route; I still get the occasional crash deep inside the garbage collection parts of the VM but at least this is much more stable than the version I get from compiling ports/jdk the usual way. - Arne H. J. ---243158062-550527908-1146747138=:29744 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=diff.jdk-1_5_0-05.txt Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: diff.jdk-1_5_0-05.txt Content-Disposition: attachment; filename=diff.jdk-1_5_0-05.txt ZGlmZiAtcnVOIGpkay0xXzVfMC0wNS5ic2QtcDMvY29udHJvbC9tYWtlL2Nv bW1vbi9EZWZzLmdtayBqZGstMV81XzAtMDUuYnNkLXAzLXg0L2NvbnRyb2wv bWFrZS9jb21tb24vRGVmcy5nbWsNCi0tLSBqZGstMV81XzAtMDUuYnNkLXAz L2NvbnRyb2wvbWFrZS9jb21tb24vRGVmcy5nbWsJVGh1IE1heSAgNCAwNTow ODoyMSAyMDA2DQorKysgamRrLTFfNV8wLTA1LmJzZC1wMy14NC9jb250cm9s L21ha2UvY29tbW9uL0RlZnMuZ21rCVRodSBNYXkgIDQgMDU6MzA6NDcgMjAw Ng0KQEAgLTEwOCwxMiArMTA4LDEyIEBADQogZW5kaWYNCiANCiBpZm5kZWYg TUlMRVNUT05FDQotICAgTUlMRVNUT05FID0gaW50ZXJuYWwNCisgICBNSUxF U1RPTkUgPSB1NXAzDQogZW5kaWYNCiANCiBpZm5kZWYgQlVJTERfTlVNQkVS DQogIyAgIHVzZSAnOj0nIHRvIGtlZXAgdGhpcyB2YWx1ZSBmcm9tIGNoYW5n aW5nIGFzIHRpbWUgbWFyY2hlcyBvbi4uLg0KLSAgQlVJTERfTlVNQkVSIDo9 ICQoc2hlbGwgJChFQ0hPKSAkKFVTRVIpX2AkKERBVEUpICcrJWRfJWJfJVlf JUhfJU0nIHwgJChUUikgIkEtWiIgImEteiJgKQ0KKyAgQlVJTERfTlVNQkVS IDo9ICQoc2hlbGwgJChFQ0hPKSAkKFVTRVIpX2BMQ19BTEw9QyAkKERBVEUp ICcrJWRfJWJfJVlfJUhfJU0nIHwgJChUUikgIkEtWiIgImEteiJgKQ0KICAg SkRLX0JVSUxEX05VTUJFUiA9IGIwMA0KIGVsc2UNCiAgIEpES19CVUlMRF9O VU1CRVIgPSAkKEJVSUxEX05VTUJFUikNCmRpZmYgLXJ1TiBqZGstMV81XzAt MDUuYnNkLXAzL2RlcGxveS9tYWtlL2NvbW1vbi9TYW5pdHkuZ21rIGpkay0x XzVfMC0wNS5ic2QtcDMteDQvZGVwbG95L21ha2UvY29tbW9uL1Nhbml0eS5n bWsNCi0tLSBqZGstMV81XzAtMDUuYnNkLXAzL2RlcGxveS9tYWtlL2NvbW1v bi9TYW5pdHkuZ21rCVRodSBNYXkgIDQgMDU6MDg6MjEgMjAwNg0KKysrIGpk ay0xXzVfMC0wNS5ic2QtcDMteDQvZGVwbG95L21ha2UvY29tbW9uL1Nhbml0 eS5nbWsJVGh1IE1heSAgNCAwNTozMDo0NyAyMDA2DQpAQCAtMTQ3LDcgKzE0 Nyw2IEBADQogIyBNT1pJTExBX0hFQURFUlNfUEFUSCBtdXN0IGJlIHZhbGlk DQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjDQogbW96aWxsYToNCi1pZmVxICgkKEFSQ0hfREFUQV9N T0RFTCksIDMyKQ0KICAgaWZkZWYgQUxUX01PWklMTEFfSEVBREVSU19QQVRI DQogCUBpZiBbIGAkKEVDSE8pICQoc3Vic3QgXCwvLCQoQUxUX01PWklMTEFf SEVBREVSU19QQVRIKSkgfCAkKEVHUkVQKSAtY2kgJ14oW2Etel06KT8vJ2Ag LW5lIDEgXTsgdGhlbiBcDQogCSAgJChFQ0hPKSAiRVJST1I6IEFMVF9NT1pJ TExBX0hFQURFUlNfUEFUSCBtdXN0IGJlIGFuIEFic29sdXRlIFBhdGggTmFt ZSwgXG4iIFwNCmRpZmYgLXJ1TiBqZGstMV81XzAtMDUuYnNkLXAzL2RlcGxv eS9zcmMvamF2YXdzL3NvbGFyaXMvbmF0aXZlL3N5c3RlbV9tZC5jIGpkay0x XzVfMC0wNS5ic2QtcDMteDQvZGVwbG95L3NyYy9qYXZhd3Mvc29sYXJpcy9u YXRpdmUvc3lzdGVtX21kLmMNCi0tLSBqZGstMV81XzAtMDUuYnNkLXAzL2Rl cGxveS9zcmMvamF2YXdzL3NvbGFyaXMvbmF0aXZlL3N5c3RlbV9tZC5jCVRo dSBNYXkgIDQgMDU6MDg6MjEgMjAwNg0KKysrIGpkay0xXzVfMC0wNS5ic2Qt cDMteDQvZGVwbG95L3NyYy9qYXZhd3Mvc29sYXJpcy9uYXRpdmUvc3lzdGVt X21kLmMJVGh1IE1heSAgNCAwNTozMDo0NyAyMDA2DQpAQCAtOCw3ICs4LDkg QEANCiAvKiBJbXBsZW1lbnRhdGlvbiBvZiBzb2xhcmlzL2xpbnV4IHNwZWNp ZmljIE9TIGxheWVyICovDQogI2luY2x1ZGUgPGxvY2FsZS5oPg0KICNpbmNs dWRlIDx3Y2hhci5oPg0KKyNpZiAhZGVmaW5lZChfQUxMQlNEX1NPVVJDRSkN CiAjaW5jbHVkZSA8bWFsbG9jLmg+DQorI2VuZGlmDQogI2luY2x1ZGUgPGxh bmdpbmZvLmg+DQogI2luY2x1ZGUgPGljb252Lmg+DQogI2luY2x1ZGUgPHN5 cy90eXBlcy5oPg0KZGlmZiAtcnVOIGpkay0xXzVfMC0wNS5ic2QtcDMvaG90 c3BvdC9zcmMvb3MvYnNkL3ZtL2dsb2JhbHNfYnNkLmhwcCBqZGstMV81XzAt MDUuYnNkLXAzLXg0L2hvdHNwb3Qvc3JjL29zL2JzZC92bS9nbG9iYWxzX2Jz ZC5ocHANCi0tLSBqZGstMV81XzAtMDUuYnNkLXAzL2hvdHNwb3Qvc3JjL29z L2JzZC92bS9nbG9iYWxzX2JzZC5ocHAJV2VkIERlYyAzMSAxNjowMDowMCAx OTY5DQorKysgamRrLTFfNV8wLTA1LmJzZC1wMy14NC9ob3RzcG90L3NyYy9v cy9ic2Qvdm0vZ2xvYmFsc19ic2QuaHBwCVRodSBNYXkgIDQgMDU6MzA6NDcg MjAwNg0KQEAgLTAsMCArMSwxNiBAQA0KKy8qDQorICogJElkOiAkDQorICov DQorDQorLy8NCisvLyBEZWZpbmVzIEJTRCBzcGVjaWZpYyBmbGFncyAobm9u ZSkuDQorLy8NCisjZGVmaW5lIFJVTlRJTUVfT1NfRkxBR1MoZGV2ZWxvcCwg ZGV2ZWxvcF9wZCwgcHJvZHVjdCwgcHJvZHVjdF9wZCwgZGlhZ25vc3RpYykg XA0KKw0KKw0KKy8vDQorLy8gRGVmaW5lcyBCU0Qtc3BlY2lmaWMgZGVmYXVs dCB2YWx1ZXMuIFRoZSBmbGFncyBhcmUgYXZhaWxhYmxlIG9uIGFsbA0KKy8v IHBsYXRmb3JtcywgYnV0IHRoZXkgbWF5IGhhdmUgZGlmZmVyZW50IGRlZmF1 bHQgdmFsdWVzIG9uIG90aGVyIHBsYXRmb3Jtcy4NCisvLw0KK2RlZmluZV9w ZF9nbG9iYWwoYm9vbCwgVXNlTWVtYmFyLCBmYWxzZSk7DQorZGVmaW5lX3Bk X2dsb2JhbChib29sLCBVc2VMYXJnZVBhZ2VzLCBmYWxzZSk7DQpkaWZmIC1y dU4gamRrLTFfNV8wLTA1LmJzZC1wMy9ob3RzcG90L3NyYy9vcy9ic2Qvdm0v b3NfYnNkLmNwcCBqZGstMV81XzAtMDUuYnNkLXAzLXg0L2hvdHNwb3Qvc3Jj L29zL2JzZC92bS9vc19ic2QuY3BwDQotLS0gamRrLTFfNV8wLTA1LmJzZC1w My9ob3RzcG90L3NyYy9vcy9ic2Qvdm0vb3NfYnNkLmNwcAlUaHUgTWF5ICA0 IDA1OjA4OjIxIDIwMDYNCisrKyBqZGstMV81XzAtMDUuYnNkLXAzLXg0L2hv dHNwb3Qvc3JjL29zL2JzZC92bS9vc19ic2QuY3BwCVRodSBNYXkgIDQgMDU6 MzA6NDcgMjAwNg0KQEAgLTE5MTcsMTYgKzE5MTcsMTYgQEANCiAgIHJldHVy biBtcHJvdGVjdChhZGRyLCBieXRlcywgUFJPVF9SRUFEfFBST1RfV1JJVEV8 UFJPVF9FWEVDKSA9PSAwOw0KIH0NCiANCi0vLyBYWFhCU0Q6IHJlbW92ZSAo b3IgY2hlY2sgaWYgVXNlTVBTUyBpcyB0cnVlLCB0aGVuIGJhaWwgb3V0KQ0K LXZvaWQgb3M6OkJzZDo6bXBzc19zYW5pdHlfY2hlY2soKSB7DQotICBVc2VN UFNTID0gZmFsc2U7DQotfQ0KLQ0KIGNoYXIqIG9zOjpyZXNlcnZlX21lbW9y eV9zcGVjaWFsKHNpemVfdCBieXRlcykgew0KICAgU2hvdWxkTm90UmVhY2hI ZXJlKCk7DQogICByZXR1cm4gTlVMTDsNCiB9DQogDQoramludCBvczo6cmVs ZWFzZV9tZW1vcnlfc3BlY2lhbChjaGFyKiwgc2l6ZV90KSB7DQorICBTaG91 bGROb3RSZWFjaEhlcmUoKTsNCisgIHJldHVybiAwOw0KK30NCisNCiAvLyBC U0RYWFg6IGNhcCBuYW5vc2xlZXAgdG8gMTAwIG1pbGxpb24gdG8gYXZvaWQg b3ZlcmZsb3cgb2YgDQogLy8gdHZfc2VjLiBCb3RoIEZyZWVCU0QgYW5kIE9w ZW5CU0QgdXNlIGEgc2lnbmVkIHZhbHVlIGZvciB0dl9zZWMNCiAvLyBhbmQg YWRkIHRoZSB0aW1lIG9mIGRheSB0byB0dl9zZWMuDQpAQCAtMjY5OCw5ICsy Njk4LDI1IEBADQogI2VuZGlmDQogICB9DQogDQotICAvLyBDaGVjayB0byBt YWtlIHN1cmUgd2UgY2FuIHVzZSBNUFNTIG9uIHRoaXMgdmVyc2lvbiBvZiBP Uw0KKyAgaWYgKCFVc2VNZW1iYXIpIHsNCisgICAgYWRkcmVzcyBtZW1fc2Vy aWFsaXplX3BhZ2UgPSAoYWRkcmVzcykgOjptbWFwKE5VTEwsIHBhZ2Vfc2l6 ZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQVBf UFJJVkFURXxNQVBfQU5PTiwNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAwKTsNCisgICAgZ3VhcmFu dGVlKCBtZW1fc2VyaWFsaXplX3BhZ2UgIT0gTlVMTCwNCisgICAgICAgICAg ICAgICAibW1hcCBGYWlsZWQgZm9yIG1lbW9yeSBzZXJpYWxpemUgcGFnZSIp Ow0KKyAgICBvczo6c2V0X21lbW9yeV9zZXJpYWxpemVfcGFnZSggbWVtX3Nl cmlhbGl6ZV9wYWdlICk7DQorICB9DQorDQorI2lmIDANCiAgIGlmIChVc2VN UFNTKSB7DQotICAgIEJzZDo6bXBzc19zYW5pdHlfY2hlY2soKTsNCisgICAg dHR5LT5wcmludF9jcigiXG5DYW5ub3QgdXNlIE1QU1Mgb24gdGhpcyBPUy5c biIpOw0KKyAgICBleGl0KDEpOw0KKyAgfSAgICAgIA0KKyNlbmRpZg0KKyAg aWYgKFVzZUxhcmdlUGFnZXMpIHsNCisgICAgdHR5LT5wcmludF9jcigiXG5M YXJnZSBwYWdlcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgT1MuXG4iKTsNCisg ICAgZXhpdCgxKTsNCiAgIH0gICAgICANCiANCiAgIC8vIENoZWNrIG1pbmlt dW0gYWxsb3dhYmxlIHN0YWNrIHNpemUgZm9yIHRocmVhZCBjcmVhdGlvbiBh bmQgdG8gaW5pdGlhbGl6ZQ0KQEAgLTMwOTksNCArMzExNSw2MiBAQA0KICAg DQogI2VuZGlmDQogDQorLy8gV2UgZG8gbm90IHN1cHBvcnQgYW5vbnltb3Vz IG1tYXAgd2l0aCBsYXJnZSBwYWdlIG1lbW9yeS4NCitib29sIG9zOjpjYW5f Y29tbWl0X2xhcmdlX3BhZ2VfbWVtb3J5KCkgew0KKyAgcmV0dXJuIGZhbHNl Ow0KK30NCisNCitzdGF0aWMgdm9pZCBwcmludF9zaWduYWxfaGFuZGxlcihv dXRwdXRTdHJlYW0qIHN0LCBpbnQgc2lnLCANCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjaGFyKiBidWYsIGludCBidWZsZW4pIHsNCisg IHN0cnVjdCBzaWdhY3Rpb24gc2E7DQorDQorICBzaWdhY3Rpb24oc2lnLCBO VUxMLCAmc2EpOw0KKw0KKyAgc3QtPnByaW50KCIlczogIiwgb3M6OmV4Y2Vw dGlvbl9uYW1lKHNpZywgYnVmLCBidWZsZW4pKTsNCisNCisgIGFkZHJlc3Mg aGFuZGxlciA9IChzYS5zYV9mbGFncyAmIFNBX1NJR0lORk8pDQorICAgICAg ICAgICAgICAgICAgPyBDQVNUX0ZST01fRk5fUFRSKGFkZHJlc3MsIHNhLnNh X3NpZ2FjdGlvbikNCisgICAgICAgICAgICAgICAgICA6IENBU1RfRlJPTV9G Tl9QVFIoYWRkcmVzcywgc2Euc2FfaGFuZGxlcik7DQorDQorICBpZiAoaGFu ZGxlciA9PSBDQVNUX0ZST01fRk5fUFRSKGFkZHJlc3MsIFNJR19ERkwpKSB7 DQorICAgIHN0LT5wcmludCgiU0lHX0RGTCIpOw0KKyAgfSBlbHNlIGlmICho YW5kbGVyID09IENBU1RfRlJPTV9GTl9QVFIoYWRkcmVzcywgU0lHX0lHTikp IHsNCisgICAgc3QtPnByaW50KCJTSUdfSUdOIik7DQorICB9IGVsc2Ugew0K KyAgICBpbnQgb2Zmc2V0Ow0KKyAgICBib29sIGZvdW5kID0gb3M6OmRsbF9h ZGRyZXNzX3RvX2xpYnJhcnlfbmFtZShoYW5kbGVyLCBidWYsIGJ1Zmxlbiwg Jm9mZnNldCk7DQorICAgIGlmIChmb3VuZCkgew0KKyAgICAgIC8vIHNraXAg ZGlyZWN0b3J5IG5hbWVzDQorICAgICAgY29uc3QgY2hhciAqcDEsICpwMjsN CisgICAgICBwMSA9IGJ1ZjsNCisgICAgICBzaXplX3QgbGVuID0gc3RybGVu KG9zOjpmaWxlX3NlcGFyYXRvcigpKTsNCisgICAgICB3aGlsZSAoKHAyID0g c3Ryc3RyKHAxLCBvczo6ZmlsZV9zZXBhcmF0b3IoKSkpICE9IE5VTEwpIHAx ID0gcDIgKyBsZW47DQorICAgICAgc3QtPnByaW50KCJbJXMrMHgleF0iLCBw MSwgb2Zmc2V0KTsNCisgICAgfSBlbHNlIHsNCisgICAgICBzdC0+cHJpbnQo UFRSX0ZPUk1BVCwgaGFuZGxlcik7DQorICAgIH0NCisgIH0NCiANCisgIHN0 LT5wcmludCAgICgiLCBzYV9tYXNrWzBdPSIgUFRSMzJfRk9STUFULCAqKHVp bnQzMl90Kikmc2Euc2FfbWFzayk7DQorICBzdC0+cHJpbnRfY3IoIiwgc2Ff ZmxhZ3M9IiAgIFBUUjMyX0ZPUk1BVCwgc2Euc2FfZmxhZ3MpOw0KK30NCisN Cit2b2lkIG9zOjpwcmludF9zaWduYWxfaGFuZGxlcnMob3V0cHV0U3RyZWFt KiBzdCwgY2hhciogYnVmLCBpbnQgYnVmbGVuKSB7DQorICBzdC0+cHJpbnRf Y3IoIlNpZ25hbCBIYW5kbGVyczoiKTsNCisgIHByaW50X3NpZ25hbF9oYW5k bGVyKHN0LCBTSUdTRUdWLCBidWYsIGJ1Zmxlbik7DQorICBwcmludF9zaWdu YWxfaGFuZGxlcihzdCwgU0lHQlVTICwgYnVmLCBidWZsZW4pOw0KKyAgcHJp bnRfc2lnbmFsX2hhbmRsZXIoc3QsIFNJR0ZQRSAsIGJ1ZiwgYnVmbGVuKTsN CisgIHByaW50X3NpZ25hbF9oYW5kbGVyKHN0LCBTSUdQSVBFLCBidWYsIGJ1 Zmxlbik7DQorICBwcmludF9zaWduYWxfaGFuZGxlcihzdCwgU0lHSUxMICwg YnVmLCBidWZsZW4pOw0KKyAgcHJpbnRfc2lnbmFsX2hhbmRsZXIoc3QsIFNJ R1VTUjEsIGJ1ZiwgYnVmbGVuKTsNCisgIHByaW50X3NpZ25hbF9oYW5kbGVy KHN0LCBTSUdVU1IyLCBidWYsIGJ1Zmxlbik7DQorICBwcmludF9zaWduYWxf aGFuZGxlcihzdCwgU0lHSFVQICwgYnVmLCBidWZsZW4pOw0KKyAgcHJpbnRf c2lnbmFsX2hhbmRsZXIoc3QsIFNJR0lOVCAsIGJ1ZiwgYnVmbGVuKTsNCisg IHByaW50X3NpZ25hbF9oYW5kbGVyKHN0LCBTSUdRVUlULCBidWYsIGJ1Zmxl bik7DQorICBwcmludF9zaWduYWxfaGFuZGxlcihzdCwgU0lHVEVSTSwgYnVm LCBidWZsZW4pOw0KK30NCisNCitzaXplX3Qgb3M6OmxhcmdlX3BhZ2Vfc2l6 ZSgpIHsNCisgIFNob3VsZE5vdFJlYWNoSGVyZSgpOw0KKyAgcmV0dXJuIDA7 DQorfQ0KZGlmZiAtcnVOIGpkay0xXzVfMC0wNS5ic2QtcDMvaG90c3BvdC9z cmMvb3NfY3B1L2JzZF9pNDg2L3ZtL2JzZF9pNDg2LmFkIGpkay0xXzVfMC0w NS5ic2QtcDMteDQvaG90c3BvdC9zcmMvb3NfY3B1L2JzZF9pNDg2L3ZtL2Jz ZF9pNDg2LmFkDQotLS0gamRrLTFfNV8wLTA1LmJzZC1wMy9ob3RzcG90L3Ny Yy9vc19jcHUvYnNkX2k0ODYvdm0vYnNkX2k0ODYuYWQJVGh1IE1heSAgNCAw NTowODoyMSAyMDA2DQorKysgamRrLTFfNV8wLTA1LmJzZC1wMy14NC9ob3Rz cG90L3NyYy9vc19jcHUvYnNkX2k0ODYvdm0vYnNkX2k0ODYuYWQJVGh1IE1h eSAgNCAwNTozMDo0NyAyMDA2DQpAQCAtMTIxLDcgKzEyMSw3IEBADQogICBv cGNvZGUoMHhFOCk7IC8qIEU4IGNkICovDQogICAvLyBVc2UgRkZSRUVzIHRv IGNsZWFyIGVudHJpZXMgaW4gZmxvYXQgc3RhY2sNCiAgIGluc19lbmNvZGUo IHByZV9jYWxsX0ZQVSwgRkZyZWVfRmxvYXRfU3RhY2tfQWxsLCBKYXZhX1Rv X05hdGl2ZSggbWV0aCApLA0KLSAgICAgICAgICAgICAgY2FsbF9lcGlsb2cs IHBvc3RfY2FsbF9GUFUsIHBvc3RfY2FsbF9yZXN0b3JlX214Y3NyICk7DQor ICAgICAgICAgICAgICBjYWxsX2VwaWxvZywgcG9zdF9jYWxsX0ZQVSwgcG9z dF9jYWxsX3ZlcmlmeV9teGNzciApOw0KICAgaW5zX3BpcGUoIHBpcGVfc2xv dyApOw0KICAgaW5zX3BjX3JlbGF0aXZlKDEpOw0KICV9DQpkaWZmIC1ydU4g amRrLTFfNV8wLTA1LmJzZC1wMy9ob3RzcG90L3NyYy9vc19jcHUvYnNkX2k0 ODYvdm0vb3NfYnNkX2k0ODYuY3BwIGpkay0xXzVfMC0wNS5ic2QtcDMteDQv aG90c3BvdC9zcmMvb3NfY3B1L2JzZF9pNDg2L3ZtL29zX2JzZF9pNDg2LmNw cA0KLS0tIGpkay0xXzVfMC0wNS5ic2QtcDMvaG90c3BvdC9zcmMvb3NfY3B1 L2JzZF9pNDg2L3ZtL29zX2JzZF9pNDg2LmNwcAlUaHUgTWF5ICA0IDA1OjA4 OjIxIDIwMDYNCisrKyBqZGstMV81XzAtMDUuYnNkLXAzLXg0L2hvdHNwb3Qv c3JjL29zX2NwdS9ic2RfaTQ4Ni92bS9vc19ic2RfaTQ4Ni5jcHAJVGh1IE1h eSAgNCAwNTozMDo0NyAyMDA2DQpAQCAtNzIzLDYgKzcyMywxNiBAQA0KICAg ICB9DQogICB9DQogDQorICAvLyBDaGVjayB0byBzZWUgaWYgd2UgY2F1Z2h0 IHRoZSBzYWZlcG9pbnQgY29kZSBpbiB0aGUNCisgIC8vIHByb2Nlc3Mgb2Yg d3JpdGUgcHJvdGVjdGluZyB0aGUgbWVtb3J5IHNlcmlhbGl6YXRpb24gcGFn ZS4NCisgIC8vIEl0IHdyaXRlIGVuYWJsZXMgdGhlIHBhZ2UgaW1tZWRpYXRl bHkgYWZ0ZXIgcHJvdGVjdGluZyBpdA0KKyAgLy8gc28gd2UgY2FuIGp1c3Qg cmV0dXJuIHRvIHJldHJ5IHRoZSB3cml0ZS4NCisgIGlmIChzaWcgPT0gU0lH U0VHViB8fCBzaWcgPT0gU0lHQlVTKSB7DQorICAgIGlmIChvczo6aXNfbWVt b3J5X3NlcmlhbGl6ZV9wYWdlKHRocmVhZCwgKGFkZHJlc3MpIGluZm8tPnNp X2FkZHIpKSB7DQorICAgICAgcmV0dXJuIHRydWU7DQorICAgIH0NCisgIH0N CisNCiAgIC8vIHNpZ25hbC1jaGFpbmluZw0KICAgaWYgKFVzZVNpZ25hbENo YWluaW5nKSB7DQogICAgIGJvb2wgY2hhaW5lZCA9IGZhbHNlOw0KZGlmZiAt cnVOIGpkay0xXzVfMC0wNS5ic2QtcDMvajJzZS9tYWtlL2NvbW1vbi9EZWZz LWJzZC5nbWsgamRrLTFfNV8wLTA1LmJzZC1wMy14NC9qMnNlL21ha2UvY29t bW9uL0RlZnMtYnNkLmdtaw0KLS0tIGpkay0xXzVfMC0wNS5ic2QtcDMvajJz ZS9tYWtlL2NvbW1vbi9EZWZzLWJzZC5nbWsJVGh1IE1heSAgNCAwNTowODoy MSAyMDA2DQorKysgamRrLTFfNV8wLTA1LmJzZC1wMy14NC9qMnNlL21ha2Uv Y29tbW9uL0RlZnMtYnNkLmdtawlUaHUgTWF5ICA0IDA1OjMwOjQ3IDIwMDYN CkBAIC0xMjcsNiArMTI3LDggQEANCiBPU19WRVJTSU9OID0gJChzaGVsbCAk KFVOQU1FKSAtcikNCiBPU19OQU1FID0gYnNkDQogDQorQklORElSID0gJChP VVRQVVRESVIpL2Jpbg0KKw0KICMNCiAjIEZyZWVCU0QgYnVpbGRzIG1heSBi ZSAzMi1iaXQgb3IgNjQtYml0IGRhdGEgbW9kZWwuIFNlbGVjdA0KICMgdGhl IGRlZmF1bHQgYmFzZWQgb24gdGhlIGJ1aWxkIHBsYXRmb3JtIGFyY2hpdGVj dHVyZS4NCmRpZmYgLXJ1TiBqZGstMV81XzAtMDUuYnNkLXAzL2oyc2Uvc3Jj L3NoYXJlL2NsYXNzZXMvc3VuL2F3dC9Gb250Q29uZmlndXJhdGlvbi5qYXZh IGpkay0xXzVfMC0wNS5ic2QtcDMteDQvajJzZS9zcmMvc2hhcmUvY2xhc3Nl cy9zdW4vYXd0L0ZvbnRDb25maWd1cmF0aW9uLmphdmENCi0tLSBqZGstMV81 XzAtMDUuYnNkLXAzL2oyc2Uvc3JjL3NoYXJlL2NsYXNzZXMvc3VuL2F3dC9G b250Q29uZmlndXJhdGlvbi5qYXZhCVRodSBNYXkgIDQgMDU6MDg6MjIgMjAw Ng0KKysrIGpkay0xXzVfMC0wNS5ic2QtcDMteDQvajJzZS9zcmMvc2hhcmUv Y2xhc3Nlcy9zdW4vYXd0L0ZvbnRDb25maWd1cmF0aW9uLmphdmEJVGh1IE1h eSAgNCAwNTozMDo0NyAyMDA2DQpAQCAtMTA1Miw3ICsxMDUyLDcgQEANCiAg ICAgICovDQogICAgIEhhc2hNYXA8U3RyaW5nLCBCb29sZWFuPiBleGlzdHNN YXA7DQogICAgIHB1YmxpYyBib29sZWFuIG5lZWRUb1NlYXJjaEZvckZpbGUo U3RyaW5nIGZpbGVOYW1lKSB7DQotCWlmICghZW52aXJvbm1lbnQuaXNMaW51 eCkgew0KKwlpZiAoIWVudmlyb25tZW50LmlzTGludXhPckJTRCkgew0KIAkg ICAgcmV0dXJuIGZhbHNlOw0KIAl9IGVsc2UgaWYgKGV4aXN0c01hcCA9PSBu dWxsKSB7DQogCSAgIGV4aXN0c01hcCA9IG5ldyBIYXNoTWFwPFN0cmluZywg Qm9vbGVhbj4oKTsgDQpkaWZmIC1ydU4gamRrLTFfNV8wLTA1LmJzZC1wMy9q MnNlL3NyYy9zb2xhcmlzL2hwaS9uYXRpdmVfdGhyZWFkcy9pbmNsdWRlL3Ro cmVhZHNfbWQuaCBqZGstMV81XzAtMDUuYnNkLXAzLXg0L2oyc2Uvc3JjL3Nv bGFyaXMvaHBpL25hdGl2ZV90aHJlYWRzL2luY2x1ZGUvdGhyZWFkc19tZC5o DQotLS0gamRrLTFfNV8wLTA1LmJzZC1wMy9qMnNlL3NyYy9zb2xhcmlzL2hw aS9uYXRpdmVfdGhyZWFkcy9pbmNsdWRlL3RocmVhZHNfbWQuaAlUaHUgTWF5 ICA0IDA1OjA4OjIzIDIwMDYNCisrKyBqZGstMV81XzAtMDUuYnNkLXAzLXg0 L2oyc2Uvc3JjL3NvbGFyaXMvaHBpL25hdGl2ZV90aHJlYWRzL2luY2x1ZGUv dGhyZWFkc19tZC5oCVRodSBNYXkgIDQgMDU6MzA6NDcgMjAwNg0KQEAgLTE4 LDYgKzE4LDEwIEBADQogI2RlZmluZSBOX1RSQUNFRF9SRUdTIDEyDQogI2Vs aWYgaTM4Ng0KICNkZWZpbmUgTl9UUkFDRURfUkVHUyA3DQorI2VsaWYgaTQ4 Ng0KKyNkZWZpbmUgTl9UUkFDRURfUkVHUyA3DQorI2VsaWYgaTU4Ng0KKyNk ZWZpbmUgTl9UUkFDRURfUkVHUyA3DQogI2VsaWYgYW1kNjQNCiAjZGVmaW5l IE5fVFJBQ0VEX1JFR1MgMTUNCiAjZWxpZiBwcGMNCmRpZmYgLXJ1TiBqZGst MV81XzAtMDUuYnNkLXAzL2oyc2Uvc3JjL3NvbGFyaXMvbmF0aXZlL2NvbS9z dW4vbWFuYWdlbWVudC9Vbml4T3BlcmF0aW5nU3lzdGVtX21kLmMgamRrLTFf NV8wLTA1LmJzZC1wMy14NC9qMnNlL3NyYy9zb2xhcmlzL25hdGl2ZS9jb20v c3VuL21hbmFnZW1lbnQvVW5peE9wZXJhdGluZ1N5c3RlbV9tZC5jDQotLS0g amRrLTFfNV8wLTA1LmJzZC1wMy9qMnNlL3NyYy9zb2xhcmlzL25hdGl2ZS9j b20vc3VuL21hbmFnZW1lbnQvVW5peE9wZXJhdGluZ1N5c3RlbV9tZC5jCVRo dSBNYXkgIDQgMDU6MDg6MjMgMjAwNg0KKysrIGpkay0xXzVfMC0wNS5ic2Qt cDMteDQvajJzZS9zcmMvc29sYXJpcy9uYXRpdmUvY29tL3N1bi9tYW5hZ2Vt ZW50L1VuaXhPcGVyYXRpbmdTeXN0ZW1fbWQuYwlUaHUgTWF5ICA0IDA1OjMw OjQ3IDIwMDYNCkBAIC0yMSw3ICsyMSw5IEBADQogI2VuZGlmDQogI2luY2x1 ZGUgPHN5cy9yZXNvdXJjZS5oPg0KICNpbmNsdWRlIDxzeXMvdGltZXMuaD4N CisjaWYgIWRlZmluZWQoX0FMTEJTRF9TT1VSQ0UpDQogI2luY2x1ZGUgPHN5 cy9zeXNpbmZvLmg+DQorI2VuZGlmDQogI2luY2x1ZGUgPGN0eXBlLmg+DQog I2luY2x1ZGUgPGRpcmVudC5oPg0KICNpbmNsdWRlIDxlcnJuby5oPg0KQEAg LTExNiw3ICsxMTgsNyBAQA0KICAgICBmcmVlKHN0cnRhYik7DQogICAgIHJl dHVybiBhdmFpbGFibGUgPyAoKGpsb25nKWF2YWlsICogcGFnZV9zaXplKSA6 DQogICAgICAgICAgICAgICAgICAgICAgICAoKGpsb25nKXRvdGFsICogcGFn ZV9zaXplKTsNCi0jZWxzZSAvKiBfX2xpbnV4X18gKi8NCisjZWxpZiBkZWZp bmVkKF9fbGludXhfXykNCiAgICAgaW50IHJldDsNCiAgICAgRklMRSAqZnA7 DQogICAgIGpsb25nIHRvdGFsID0gMCwgYXZhaWwgPSAwOw0KQEAgLTEzMCw2 ICsxMzIsMTMgQEANCiAgICAgYXZhaWwgPSAoamxvbmcpc2kuZnJlZXN3YXAg KiBzaS5tZW1fdW5pdDsNCiANCiAgICAgcmV0dXJuIGF2YWlsYWJsZSA/IGF2 YWlsIDogdG90YWw7DQorI2Vsc2UgLyogX0FMTEJTRF9TT1VSQ0UgKi8NCisg ICAgLyoNCisgICAgICogWFhYQlNEOiB0aGVyZSdzIG5vIHdheSBhdmFpbGFi bGUgdG8gZ2V0IHN3YXAgaW5mbyBpbg0KKyAgICAgKiAgICAgICAgIEZyZWVC U0QuICBVc2FnZSBvZiBsaWJrdm0gaXMgbm90IGFuIG9wdGlvbiBoZXJlDQor ICAgICAqLw0KKyAgICAvLyB0aHJvd19pbnRlcm5hbF9lcnJvcihlbnYsICJV bmltcGxlbWVudGVkIGluIEZyZWVCU0QiKTsNCisgICAgcmV0dXJuICgwKTsN CiAjZW5kaWYNCiB9ICAgDQogDQpkaWZmIC1ydU4gamRrLTFfNV8wLTA1LmJz ZC1wMy9qMnNlL3NyYy9zb2xhcmlzL25hdGl2ZS9qYXZhL25pby9NYXBwZWRC eXRlQnVmZmVyLmMgamRrLTFfNV8wLTA1LmJzZC1wMy14NC9qMnNlL3NyYy9z b2xhcmlzL25hdGl2ZS9qYXZhL25pby9NYXBwZWRCeXRlQnVmZmVyLmMNCi0t LSBqZGstMV81XzAtMDUuYnNkLXAzL2oyc2Uvc3JjL3NvbGFyaXMvbmF0aXZl L2phdmEvbmlvL01hcHBlZEJ5dGVCdWZmZXIuYwlUaHUgTWF5ICA0IDA1OjA4 OjIzIDIwMDYNCisrKyBqZGstMV81XzAtMDUuYnNkLXAzLXg0L2oyc2Uvc3Jj L3NvbGFyaXMvbmF0aXZlL2phdmEvbmlvL01hcHBlZEJ5dGVCdWZmZXIuYwlU aHUgTWF5ICA0IDA1OjMwOjQ3IDIwMDYNCkBAIC03OCw3ICs3OCwxMSBAQA0K IEphdmFfamF2YV9uaW9fTWFwcGVkQnl0ZUJ1ZmZlcl9mb3JjZTAoSk5JRW52 ICplbnYsIGpvYmplY3Qgb2JqLCBqbG9uZyBhZGRyZXNzLA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamxvbmcgbGVuKQ0KIHsN CisjaWYgZGVmaW5lZChfQUxMQlNEX1NPVVJDRSkNCisgICAgamxvbmcgcGFn ZVNpemUgPSBnZXRwYWdlc2l6ZSgpOw0KKyNlbHNlDQogICAgIGpsb25nIHBh Z2VTaXplID0gc3lzY29uZihfU0NfUEFHRVNJWkUpOw0KKyNlbmRpZg0KICAg ICB1bnNpZ25lZCBsb25nIGxBZGRyZXNzID0gYWRkcmVzczsgDQogIA0KICAg ICBqbG9uZyBvZmZzZXQgPSBsQWRkcmVzcyAlIHBhZ2VTaXplOyANCg== ---243158062-550527908-1146747138=:29744--