Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:26301 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 69788 invoked by uid 1010); 3 Nov 2006 18:00:47 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 69773 invoked from network); 3 Nov 2006 18:00:47 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Nov 2006 18:00:47 -0000 Authentication-Results: pb1.pair.com smtp.mail=hannes.magnusson@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=hannes.magnusson@gmail.com; sender-id=pass; domainkeys=good Received-SPF: pass (pb1.pair.com: domain gmail.com designates 64.233.182.187 as permitted sender) DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: hannes.magnusson@gmail.com X-Host-Fingerprint: 64.233.182.187 nf-out-0910.google.com Linux 2.4/2.6 Received: from [64.233.182.187] ([64.233.182.187:33267] helo=nf-out-0910.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 9E/BF-02428-BC38B454 for ; Fri, 03 Nov 2006 13:00:45 -0500 Received: by nf-out-0910.google.com with SMTP id n29so247867nfc for ; Fri, 03 Nov 2006 10:00:39 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=tpkOnxPTnrj4VJDregO336gE1ypmc9b901tiXHsuHhx7sgYy9Gc0K+DgfO9/vvSZwdYZURtxSQdvdoLosfQnpFo/jVzzP8ROn5pMY8/NSqxhG+vx0CGe4JMXHDgrDl9RPULzeEPJMy2J780VGH8ctSZWeeCiTZxwFzV5u6ZeJqA= Received: by 10.49.8.1 with SMTP id l1mr1745987nfi.1162576838577; Fri, 03 Nov 2006 10:00:38 -0800 (PST) Received: by 10.48.230.3 with HTTP; Fri, 3 Nov 2006 10:00:38 -0800 (PST) Message-ID: <7f3ed2c30611031000j2dc48a6amb7f04c8011442b56@mail.gmail.com> Date: Fri, 3 Nov 2006 19:00:38 +0100 To: internals@lists.php.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_30245_21378393.1162576838414" Subject: [PATCH] Scalar type hinting ;) From: hannes.magnusson@gmail.com ("Hannes Magnusson") ------=_Part_30245_21378393.1162576838414 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello all! Attached is a patch (against 5_2) to allow scalar type hinting \o/ I realize that maaany will be against it so I won't be pushing it (a lot), just wanted the patch archived somewhere :) A .tar.bz2 archive can be found at http://home.oslo.nith.no/~maghan/scalar.type.hint.tar.bz2 containing the patch, phpt fixes and new phpt tests. -Hannes (maybe I should had said "if there are no objections I'll commit this by the end of next week" hoping everyone were busy and wouldn't notice this mail *evil wink*) ------=_Part_30245_21378393.1162576838414 Content-Type: text/plain; name="scalar_type_hint.patch.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="scalar_type_hint.patch.txt" X-Attachment-Id: f_eu2w31hf SW5kZXg6IFplbmQvemVuZF9BUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3NpdG9yeS9a ZW5kRW5naW5lMi96ZW5kX0FQSS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIwNy4yLjguMi41 CmRpZmYgLXUgLXIxLjIwNy4yLjguMi41IHplbmRfQVBJLmgKLS0tIFplbmQvemVuZF9BUEkuaAkx OCBKdWwgMjAwNiAwOTowNjozMiAtMDAwMAkxLjIwNy4yLjguMi41CisrKyBaZW5kL3plbmRfQVBJ LmgJMyBOb3YgMjAwNiAxMzoyODo1MSAtMDAwMApAQCAtNjIsOCArNjIsOCBAQAogCiAjZGVmaW5l IFpFTkRfQVJHX0lORk8ocGFzc19ieV9yZWYsIG5hbWUpCQkJCQkJCXsgI25hbWUsIHNpemVvZigj bmFtZSktMSwgTlVMTCwgMCwgMCwgMCwgcGFzc19ieV9yZWYsIDAsIDAgfSwKICNkZWZpbmUgWkVO RF9BUkdfUEFTU19JTkZPKHBhc3NfYnlfcmVmKQkJCQkJCQkJeyBOVUxMLCAwLCBOVUxMLCAwLCAw LCAwLCBwYXNzX2J5X3JlZiwgMCwgMCB9LAotI2RlZmluZSBaRU5EX0FSR19PQkpfSU5GTyhwYXNz X2J5X3JlZiwgbmFtZSwgY2xhc3NuYW1lLCBhbGxvd19udWxsKSB7ICNuYW1lLCBzaXplb2YoI25h bWUpLTEsICNjbGFzc25hbWUsIHNpemVvZigjY2xhc3NuYW1lKS0xLCAwLCBhbGxvd19udWxsLCBw YXNzX2J5X3JlZiwgMCwgMCB9LAotI2RlZmluZSBaRU5EX0FSR19BUlJBWV9JTkZPKHBhc3NfYnlf cmVmLCBuYW1lLCBhbGxvd19udWxsKSB7ICNuYW1lLCBzaXplb2YoI25hbWUpLTEsIE5VTEwsIDAs IDEsIGFsbG93X251bGwsIHBhc3NfYnlfcmVmLCAwLCAwIH0sCisjZGVmaW5lIFpFTkRfQVJHX09C Sl9JTkZPKHBhc3NfYnlfcmVmLCBuYW1lLCBjbGFzc25hbWUsIGFsbG93X251bGwpIHsgI25hbWUs IHNpemVvZigjbmFtZSktMSwgI2NsYXNzbmFtZSwgc2l6ZW9mKCNjbGFzc25hbWUpLTEsIElTX09C SkVDVCwgYWxsb3dfbnVsbCwgcGFzc19ieV9yZWYsIDAsIDAgfSwKKyNkZWZpbmUgWkVORF9BUkdf QVJSQVlfSU5GTyhwYXNzX2J5X3JlZiwgbmFtZSwgYWxsb3dfbnVsbCkgeyAjbmFtZSwgc2l6ZW9m KCNuYW1lKS0xLCBOVUxMLCAwLCBJU19BUlJBWSwgYWxsb3dfbnVsbCwgcGFzc19ieV9yZWYsIDAs IDAgfSwKICNkZWZpbmUgWkVORF9CRUdJTl9BUkdfSU5GT19FWChuYW1lLCBwYXNzX3Jlc3RfYnlf cmVmZXJlbmNlLCByZXR1cm5fcmVmZXJlbmNlLCByZXF1aXJlZF9udW1fYXJncykJXAogCXplbmRf YXJnX2luZm8gbmFtZVtdID0gewkJCQkJCQkJCQkJCQkJCQkJCVwKIAkJeyBOVUxMLCAwLCBOVUxM LCAwLCAwLCAwLCBwYXNzX3Jlc3RfYnlfcmVmZXJlbmNlLCByZXR1cm5fcmVmZXJlbmNlLCByZXF1 aXJlZF9udW1fYXJncyB9LApJbmRleDogWmVuZC96ZW5kX2NvbXBpbGUuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvcmVwb3NpdG9yeS9aZW5kRW5naW5lMi96ZW5kX2NvbXBpbGUuYyx2CnJldHJpZXZp bmcgcmV2aXNpb24gMS42NDcuMi4yNy4yLjIwCmRpZmYgLXUgLXIxLjY0Ny4yLjI3LjIuMjAgemVu ZF9jb21waWxlLmMKLS0tIFplbmQvemVuZF9jb21waWxlLmMJMjAgT2N0IDIwMDYgMDI6NDQ6MDIg LTAwMDAJMS42NDcuMi4yNy4yLjIwCisrKyBaZW5kL3plbmRfY29tcGlsZS5jCTMgTm92IDIwMDYg MTM6Mjg6NTEgLTAwMDAKQEAgLTEyNzgsMTMgKzEyNzgsMTggQEAKIAljdXJfYXJnX2luZm8gPSAm Q0coYWN0aXZlX29wX2FycmF5KS0+YXJnX2luZm9bQ0coYWN0aXZlX29wX2FycmF5KS0+bnVtX2Fy Z3MtMV07CiAJY3VyX2FyZ19pbmZvLT5uYW1lID0gZXN0cm5kdXAodmFybmFtZS0+dS5jb25zdGFu dC52YWx1ZS5zdHIudmFsLCB2YXJuYW1lLT51LmNvbnN0YW50LnZhbHVlLnN0ci5sZW4pOwogCWN1 cl9hcmdfaW5mby0+bmFtZV9sZW4gPSB2YXJuYW1lLT51LmNvbnN0YW50LnZhbHVlLnN0ci5sZW47 Ci0JY3VyX2FyZ19pbmZvLT5hcnJheV90eXBlX2hpbnQgPSAwOworCWN1cl9hcmdfaW5mby0+Y2xh c3NfbmFtZSA9IE5VTEw7CisJY3VyX2FyZ19pbmZvLT5jbGFzc19uYW1lX2xlbiA9IDA7CisJY3Vy X2FyZ19pbmZvLT50eXBlX2hpbnQgPSAwOwogCWN1cl9hcmdfaW5mby0+YWxsb3dfbnVsbCA9IDE7 CiAJY3VyX2FyZ19pbmZvLT5wYXNzX2J5X3JlZmVyZW5jZSA9IHBhc3NfYnlfcmVmZXJlbmNlOwog CiAJaWYgKGNsYXNzX3R5cGUtPm9wX3R5cGUgIT0gSVNfVU5VU0VEKSB7CiAJCWN1cl9hcmdfaW5m by0+YWxsb3dfbnVsbCA9IDA7Ci0JCWlmIChjbGFzc190eXBlLT51LmNvbnN0YW50LnR5cGUgPT0g SVNfU1RSSU5HKSB7CisJCWN1cl9hcmdfaW5mby0+dHlwZV9oaW50ID0gY2xhc3NfdHlwZS0+dS5j b25zdGFudC50eXBlOworCisJCXN3aXRjaCAoY2xhc3NfdHlwZS0+dS5jb25zdGFudC50eXBlKSB7 CisJCWNhc2UgSVNfT0JKRUNUOgogCQkJY3VyX2FyZ19pbmZvLT5jbGFzc19uYW1lID0gY2xhc3Nf dHlwZS0+dS5jb25zdGFudC52YWx1ZS5zdHIudmFsOwogCQkJY3VyX2FyZ19pbmZvLT5jbGFzc19u YW1lX2xlbiA9IGNsYXNzX3R5cGUtPnUuY29uc3RhbnQudmFsdWUuc3RyLmxlbjsKIAkJCWlmIChv cCA9PSBaRU5EX1JFQ1ZfSU5JVCkgewpAQCAtMTI5NCwxMCArMTI5OSw5IEBACiAJCQkJCXplbmRf ZXJyb3IoRV9DT01QSUxFX0VSUk9SLCAiRGVmYXVsdCB2YWx1ZSBmb3IgcGFyYW1ldGVycyB3aXRo IGEgY2xhc3MgdHlwZSBoaW50IGNhbiBvbmx5IGJlIE5VTEwiKTsKIAkJCQl9CiAJCQl9Ci0JCX0g ZWxzZSB7Ci0JCQljdXJfYXJnX2luZm8tPmFycmF5X3R5cGVfaGludCA9IDE7Ci0JCQljdXJfYXJn X2luZm8tPmNsYXNzX25hbWUgPSBOVUxMOwotCQkJY3VyX2FyZ19pbmZvLT5jbGFzc19uYW1lX2xl biA9IDA7CisJCQlicmVhazsKKworCQljYXNlIElTX0FSUkFZOgogCQkJaWYgKG9wID09IFpFTkRf UkVDVl9JTklUKSB7CiAJCQkJaWYgKFpfVFlQRShpbml0aWFsaXphdGlvbi0+dS5jb25zdGFudCkg PT0gSVNfTlVMTCB8fCAoWl9UWVBFKGluaXRpYWxpemF0aW9uLT51LmNvbnN0YW50KSA9PSBJU19D T05TVEFOVCAmJiAhc3RyY2FzZWNtcChaX1NUUlZBTChpbml0aWFsaXphdGlvbi0+dS5jb25zdGFu dCksICJOVUxMIikpKSB7CiAJCQkJCWN1cl9hcmdfaW5mby0+YWxsb3dfbnVsbCA9IDE7CkBAIC0x MzA1LDExICsxMzA5LDIzIEBACiAJCQkJCXplbmRfZXJyb3IoRV9DT01QSUxFX0VSUk9SLCAiRGVm YXVsdCB2YWx1ZSBmb3IgcGFyYW1ldGVycyB3aXRoIGFycmF5IHR5cGUgaGludCBjYW4gb25seSBi ZSBhbiBhcnJheSBvciBOVUxMIik7CiAJCQkJfQogCQkJfQorCQkJYnJlYWs7CisKKwkJLyogc2Nh bGFyIHR5cGUgaGludGluZyAqLworCQljYXNlIElTX0JPT0w6CisJCWNhc2UgSVNfU1RSSU5HOgor CQljYXNlIElTX0xPTkc6CisJCWNhc2UgSVNfRE9VQkxFOgorCQkJaWYgKG9wID09IFpFTkRfUkVD Vl9JTklUICYmIFpfVFlQRShpbml0aWFsaXphdGlvbi0+dS5jb25zdGFudCkgIT0gY2xhc3NfdHlw ZS0+dS5jb25zdGFudC50eXBlKSB7CisJCQkJemVuZF9lcnJvcihFX0NPTVBJTEVfRVJST1IsICJE ZWZhdWx0IHZhbHVlIGZvciBwYXJhbWV0ZXJzIHdpdGggJXMgdHlwZSBoaW50IGNhbiBvbmx5IGJl ICVzIiwgemVuZF9nZXRfdHlwZV9ieV9jb25zdChjbGFzc190eXBlLT51LmNvbnN0YW50LnR5cGUp LCB6ZW5kX2dldF90eXBlX2J5X2NvbnN0KGNsYXNzX3R5cGUtPnUuY29uc3RhbnQudHlwZSkpOwor CQkJfQorCQkJYnJlYWs7CisKKwkJZGVmYXVsdDoKKwkJCXplbmRfZXJyb3IoRV9DT01QSUxFX0VS Uk9SLCAiVW5rb3duIHR5cGUgaGludCIpOwogCQl9Ci0JfSBlbHNlIHsKLQkJY3VyX2FyZ19pbmZv LT5jbGFzc19uYW1lID0gTlVMTDsKLQkJY3VyX2FyZ19pbmZvLT5jbGFzc19uYW1lX2xlbiA9IDA7 CiAJfQorCQogCW9wbGluZS0+cmVzdWx0LnUuRUEudHlwZSB8PSBFWFRfVFlQRV9VTlVTRUQ7CiB9 CiAKQEAgLTE5NTAsOCArMTk2Niw4IEBACiAJCQkmJiBzdHJjbXAoZmUtPmNvbW1vbi5hcmdfaW5m b1tpXS5jbGFzc19uYW1lLCBwcm90by0+Y29tbW9uLmFyZ19pbmZvW2ldLmNsYXNzX25hbWUpIT0w KSB7CiAJCQlyZXR1cm4gMDsKIAkJfQotCQlpZiAoZmUtPmNvbW1vbi5hcmdfaW5mb1tpXS5hcnJh eV90eXBlX2hpbnQgIT0gcHJvdG8tPmNvbW1vbi5hcmdfaW5mb1tpXS5hcnJheV90eXBlX2hpbnQp IHsKLQkJCS8qIE9ubHkgb25lIGhhcyBhbiBhcnJheSB0eXBlIGhpbnQgYW5kIHRoZSBvdGhlciBv bmUgZG9lc24ndCAqLworCQlpZiAoZmUtPmNvbW1vbi5hcmdfaW5mb1tpXS50eXBlX2hpbnQgIT0g cHJvdG8tPmNvbW1vbi5hcmdfaW5mb1tpXS50eXBlX2hpbnQpIHsKKwkJCS8qIEluY29tcGF0aWJs ZSB0eXBlIGhpbnQgKi8KIAkJCXJldHVybiAwOwogCQl9CiAJCWlmIChmZS0+Y29tbW9uLmFyZ19p bmZvW2ldLnBhc3NfYnlfcmVmZXJlbmNlICE9IHByb3RvLT5jb21tb24uYXJnX2luZm9baV0ucGFz c19ieV9yZWZlcmVuY2UpIHsKSW5kZXg6IFplbmQvemVuZF9jb21waWxlLmgKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS Q1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF9jb21waWxlLmgsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMzE2LjIuOC4yLjcKZGlmZiAtdSAtcjEuMzE2LjIuOC4yLjcgemVuZF9j b21waWxlLmgKLS0tIFplbmQvemVuZF9jb21waWxlLmgJMjYgU2VwIDIwMDYgMTA6MzA6NTAgLTAw MDAJMS4zMTYuMi44LjIuNworKysgWmVuZC96ZW5kX2NvbXBpbGUuaAkzIE5vdiAyMDA2IDEzOjI4 OjUxIC0wMDAwCkBAIC0xNTksNyArMTU5LDcgQEAKIAl6ZW5kX3VpbnQgbmFtZV9sZW47CiAJY2hh ciAqY2xhc3NfbmFtZTsKIAl6ZW5kX3VpbnQgY2xhc3NfbmFtZV9sZW47Ci0JemVuZF9ib29sIGFy cmF5X3R5cGVfaGludDsKKwl6ZW5kX3VpbnQgdHlwZV9oaW50OwogCXplbmRfYm9vbCBhbGxvd19u dWxsOwogCXplbmRfYm9vbCBwYXNzX2J5X3JlZmVyZW5jZTsKIAl6ZW5kX2Jvb2wgcmV0dXJuX3Jl ZmVyZW5jZTsKSW5kZXg6IFplbmQvemVuZF9leGVjdXRlLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF9leGVjdXRlLmMsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuNzE2LjIuMTIuMi4xMgpkaWZmIC11IC1yMS43MTYuMi4xMi4yLjEyIHplbmRfZXhlY3V0 ZS5jCi0tLSBaZW5kL3plbmRfZXhlY3V0ZS5jCTIgT2N0IDIwMDYgMTE6MDk6NTIgLTAwMDAJMS43 MTYuMi4xMi4yLjEyCisrKyBaZW5kL3plbmRfZXhlY3V0ZS5jCTMgTm92IDIwMDYgMTM6Mjg6NTIg LTAwMDAKQEAgLTUxMywxMiArNTEzLDEyIEBACiAJCQluZWVkX21zZyA9IHplbmRfdmVyaWZ5X2Fy Z19jbGFzc19raW5kKGN1cl9hcmdfaW5mbywgJmNsYXNzX25hbWUsICZjZSBUU1JNTFNfQ0MpOwog CQkJcmV0dXJuIHplbmRfdmVyaWZ5X2FyZ19lcnJvcih6ZiwgYXJnX251bSwgY3VyX2FyZ19pbmZv LCBuZWVkX21zZywgY2xhc3NfbmFtZSwgemVuZF96dmFsX3R5cGVfbmFtZShhcmcpLCAiIiBUU1JN TFNfQ0MpOwogCQl9Ci0JfSBlbHNlIGlmIChjdXJfYXJnX2luZm8tPmFycmF5X3R5cGVfaGludCkg eworCX0gZWxzZSBpZiAoY3VyX2FyZ19pbmZvLT50eXBlX2hpbnQpIHsKIAkJaWYgKCFhcmcpIHsK LQkJCXJldHVybiB6ZW5kX3ZlcmlmeV9hcmdfZXJyb3IoemYsIGFyZ19udW0sIGN1cl9hcmdfaW5m bywgImJlIGFuIGFycmF5IiwgIiIsICJub25lIiwgIiIgVFNSTUxTX0NDKTsKKwkJCXJldHVybiB6 ZW5kX3ZlcmlmeV9hcmdfZXJyb3IoemYsIGFyZ19udW0sIGN1cl9hcmdfaW5mbywgImJlICIsIHpl bmRfZ2V0X3R5cGVfYnlfY29uc3QoY3VyX2FyZ19pbmZvLT50eXBlX2hpbnQpLCAibm9uZSIsICIi IFRTUk1MU19DQyk7CiAJCX0KLQkJaWYgKFpfVFlQRV9QKGFyZykgIT0gSVNfQVJSQVkgJiYgKFpf VFlQRV9QKGFyZykgIT0gSVNfTlVMTCB8fCAhY3VyX2FyZ19pbmZvLT5hbGxvd19udWxsKSkgewot CQkJcmV0dXJuIHplbmRfdmVyaWZ5X2FyZ19lcnJvcih6ZiwgYXJnX251bSwgY3VyX2FyZ19pbmZv LCAiYmUgYW4gYXJyYXkiLCAiIiwgemVuZF96dmFsX3R5cGVfbmFtZShhcmcpLCAiIiBUU1JNTFNf Q0MpOworCQlpZiAoWl9UWVBFX1AoYXJnKSAhPSBjdXJfYXJnX2luZm8tPnR5cGVfaGludCAmJiAo Wl9UWVBFX1AoYXJnKSAhPSBJU19OVUxMIHx8ICFjdXJfYXJnX2luZm8tPmFsbG93X251bGwpKSB7 CisJCQlyZXR1cm4gemVuZF92ZXJpZnlfYXJnX2Vycm9yKHpmLCBhcmdfbnVtLCBjdXJfYXJnX2lu Zm8sICJiZSAiLCB6ZW5kX2dldF90eXBlX2J5X2NvbnN0KGN1cl9hcmdfaW5mby0+dHlwZV9oaW50 KSwgIiIsIHplbmRfenZhbF90eXBlX25hbWUoYXJnKSBUU1JNTFNfQ0MpOwogCQl9CiAJfQogCXJl dHVybiAxOwpJbmRleDogWmVuZC96ZW5kX2xhbmd1YWdlX3BhcnNlci55Cj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT IGZpbGU6IC9yZXBvc2l0b3J5L1plbmRFbmdpbmUyL3plbmRfbGFuZ3VhZ2VfcGFyc2VyLnksdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMTYwLjIuNC4yLjEKZGlmZiAtdSAtcjEuMTYwLjIuNC4yLjEg emVuZF9sYW5ndWFnZV9wYXJzZXIueQotLS0gWmVuZC96ZW5kX2xhbmd1YWdlX3BhcnNlci55CTEx IE1heSAyMDA2IDIxOjA3OjM5IC0wMDAwCTEuMTYwLjIuNC4yLjEKKysrIFplbmQvemVuZF9sYW5n dWFnZV9wYXJzZXIueQkzIE5vdiAyMDA2IDEzOjI4OjUyIC0wMDAwCkBAIC0xMjksNiArMTI5LDEw IEBACiAldG9rZW4gVF9ET1VCTEVfQVJST1cKICV0b2tlbiBUX0xJU1QKICV0b2tlbiBUX0FSUkFZ CisldG9rZW4gVF9CT09MX0hJTlQKKyV0b2tlbiBUX1NUUklOR19ISU5UCisldG9rZW4gVF9JTlRf SElOVAorJXRva2VuIFRfRE9VQkxFX0hJTlQKICV0b2tlbiBUX0NMQVNTX0MKICV0b2tlbiBUX01F VEhPRF9DCiAldG9rZW4gVF9GVU5DX0MKQEAgLTQzOCw4ICs0NDIsMTIgQEAKIAogb3B0aW9uYWxf Y2xhc3NfdHlwZToKIAkJLyogZW1wdHkgKi8JCXsgJCQub3BfdHlwZSA9IElTX1VOVVNFRDsgfQot CXwJVF9TVFJJTkcJCXsgJCQgPSAkMTsgfQotCXwJVF9BUlJBWQkJeyAkJC5vcF90eXBlID0gSVNf Q09OU1Q7IFpfVFlQRSgkJC51LmNvbnN0YW50KT1JU19OVUxMO30KKwl8CVRfQVJSQVkJCQl7ICQk Lm9wX3R5cGUgPSBJU19DT05TVDsgWl9UWVBFKCQkLnUuY29uc3RhbnQpPUlTX0FSUkFZO30KKwl8 CVRfQk9PTF9ISU5UCQl7ICQkLm9wX3R5cGUgPSBJU19DT05TVDsgWl9UWVBFKCQkLnUuY29uc3Rh bnQpPUlTX0JPT0w7fQorCXwJVF9TVFJJTkdfSElOVAl7ICQkLm9wX3R5cGUgPSBJU19DT05TVDsg Wl9UWVBFKCQkLnUuY29uc3RhbnQpPUlTX1NUUklORzt9CisJfAlUX0lOVF9ISU5UCQl7ICQkLm9w X3R5cGUgPSBJU19DT05TVDsgWl9UWVBFKCQkLnUuY29uc3RhbnQpPUlTX0xPTkc7fQorCXwJVF9E T1VCTEVfSElOVAl7ICQkLm9wX3R5cGUgPSBJU19DT05TVDsgWl9UWVBFKCQkLnUuY29uc3RhbnQp PUlTX0RPVUJMRTt9CisJfAlUX1NUUklORwkJeyAkJC5vcF90eXBlID0gSVNfQ09OU1Q7IFpfVFlQ RSgkJC51LmNvbnN0YW50KT1JU19PQkpFQ1Q7fQogOwogCiAKSW5kZXg6IFplbmQvemVuZF9sYW5n dWFnZV9zY2FubmVyLmwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2lu ZTIvemVuZF9sYW5ndWFnZV9zY2FubmVyLmwsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTMxLjIu MTEKZGlmZiAtdSAtcjEuMTMxLjIuMTEgemVuZF9sYW5ndWFnZV9zY2FubmVyLmwKLS0tIFplbmQv emVuZF9sYW5ndWFnZV9zY2FubmVyLmwJMTMgQXByIDIwMDYgMTM6NDg6MjggLTAwMDAJMS4xMzEu Mi4xMQorKysgWmVuZC96ZW5kX2xhbmd1YWdlX3NjYW5uZXIubAkzIE5vdiAyMDA2IDEzOjI4OjUy IC0wMDAwCkBAIC0xMDc5LDYgKzEwNzksMjIgQEAKIAlyZXR1cm4gVF9BUlJBWTsKIH0KIAorPFNU X0lOX1NDUklQVElORz4oImJvb2wifCJib29sZWFuIikgeworCXJldHVybiBUX0JPT0xfSElOVDsK K30KKworPFNUX0lOX1NDUklQVElORz4ic3RyaW5nIiB7CisJcmV0dXJuIFRfU1RSSU5HX0hJTlQ7 Cit9CisKKzxTVF9JTl9TQ1JJUFRJTkc+KCJpbnQifCJpbnRlZ2VyIikgeworCXJldHVybiBUX0lO VF9ISU5UOworfQorCis8U1RfSU5fU0NSSVBUSU5HPigicmVhbCJ8ImRvdWJsZSJ8ImZsb2F0Iikg eworCXJldHVybiBUX0RPVUJMRV9ISU5UOworfQorCiA8U1RfSU5fU0NSSVBUSU5HPiIrKyIgewog CXJldHVybiBUX0lOQzsKIH0KSW5kZXg6IGV4dC9yZWZsZWN0aW9uL3BocF9yZWZsZWN0aW9uLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvcGhwLXNyYy9leHQvcmVmbGVjdGlvbi9w aHBfcmVmbGVjdGlvbi5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE2NC4yLjMzLjIuMzEKZGlm ZiAtdSAtcjEuMTY0LjIuMzMuMi4zMSBwaHBfcmVmbGVjdGlvbi5jCi0tLSBleHQvcmVmbGVjdGlv bi9waHBfcmVmbGVjdGlvbi5jCTE4IE9jdCAyMDA2IDE2OjM1OjE1IC0wMDAwCTEuMTY0LjIuMzMu Mi4zMQorKysgZXh0L3JlZmxlY3Rpb24vcGhwX3JlZmxlY3Rpb24uYwkzIE5vdiAyMDA2IDEzOjI4 OjUyIC0wMDAwCkBAIC02MTAsNyArNjEwLDcgQEAKIAkJaWYgKGFyZ19pbmZvLT5hbGxvd19udWxs KSB7CiAJCQlzdHJpbmdfcHJpbnRmKHN0ciwgIm9yIE5VTEwgIik7CiAJCX0KLQl9IGVsc2UgaWYg KGFyZ19pbmZvLT5hcnJheV90eXBlX2hpbnQpIHsKKwl9IGVsc2UgaWYgKGFyZ19pbmZvLT50eXBl X2hpbnQgPT0gSVNfQVJSQVkpIHsKIAkJc3RyaW5nX3ByaW50ZihzdHIsICJhcnJheSAiKTsKIAkJ aWYgKGFyZ19pbmZvLT5hbGxvd19udWxsKSB7CiAJCQlzdHJpbmdfcHJpbnRmKHN0ciwgIm9yIE5V TEwgIik7CkBAIC0yMDE1LDcgKzIwMTUsNyBAQAogCU1FVEhPRF9OT1RTVEFUSUNfTlVNUEFSQU1T KHJlZmxlY3Rpb25fcGFyYW1ldGVyX3B0ciwgMCk7CiAJR0VUX1JFRkxFQ1RJT05fT0JKRUNUX1BU UihwYXJhbSk7CiAKLQlSRVRWQUxfQk9PTChwYXJhbS0+YXJnX2luZm8tPmFycmF5X3R5cGVfaGlu dCk7CisJUkVUVkFMX0JPT0wocGFyYW0tPmFyZ19pbmZvLT50eXBlX2hpbnQgPT0gSVNfQVJSQVkp OwogfQogLyogfX19ICovCiAK ------=_Part_30245_21378393.1162576838414--