<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>62305</bug_id>
          
          <creation_ts>2011-06-08 12:11:57 -0700</creation_ts>
          <short_desc>Some more MarkedSpace =&gt; NewSpace renaming</short_desc>
          <delta_ts>2011-06-08 13:16:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417398</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 12:11:57 -0700</bug_when>
    <thetext>Some more MarkedSpace =&gt; NewSpace renaming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417400</commentid>
    <comment_count>1</comment_count>
      <attachid>96454</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 12:12:57 -0700</bug_when>
    <thetext>Created attachment 96454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417412</commentid>
    <comment_count>2</comment_count>
      <attachid>96461</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 12:25:31 -0700</bug_when>
    <thetext>Created attachment 96461
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417440</commentid>
    <comment_count>3</comment_count>
      <attachid>96465</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 13:01:27 -0700</bug_when>
    <thetext>Created attachment 96465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417456</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 13:16:31 -0700</bug_when>
    <thetext>Committed r88379: &lt;http://trac.webkit.org/changeset/88379&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96454</attachid>
            <date>2011-06-08 12:12:57 -0700</date>
            <delta_ts>2011-06-08 12:25:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62305-20110608121256.patch</filename>
            <type>text/plain</type>
            <size>12463</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODgzNjkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDYtMDggIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIG1vcmUgTWFya2Vk
U3BhY2UgPT4gTmV3U3BhY2UgcmVuYW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYyMzA1CisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUub3JkZXI6CisgICAgICAgICogSmF2YVNjcmlwdENv
cmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBo
ZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpIZWFwKToKKyAgICAgICAgKEpTQzo6
SGVhcDo6ZGVzdHJveSk6CisgICAgICAgIChKU0M6OkhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5Q29z
dFNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6SGVhcDo6YWxsb2NhdGUpOgorICAgICAgICAoSlND
OjpIZWFwOjptYXJrUm9vdHMpOgorICAgICAgICAoSlNDOjpIZWFwOjpvYmplY3RDb3VudCk6Cisg
ICAgICAgIChKU0M6OkhlYXA6OnNpemUpOgorICAgICAgICAoSlNDOjpIZWFwOjpjYXBhY2l0eSk6
CisgICAgICAgIChKU0M6OkhlYXA6OmNvbGxlY3QpOgorICAgICAgICAoSlNDOjpIZWFwOjppc1Zh
bGlkQWxsb2NhdGlvbik6CisgICAgICAgICogaGVhcC9IZWFwLmg6CisgICAgICAgIChKU0M6Okhl
YXA6Om1hcmtlZFNwYWNlKToKKyAgICAgICAgKEpTQzo6SGVhcDo6Y29udGFpbnMpOgorICAgICAg
ICAoSlNDOjpIZWFwOjpmb3JFYWNoKToKKyAgICAgICAgKEpTQzo6SGVhcDo6YWxsb2NhdGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisKIDIwMTEtMDYtMDggIEdlb2ZmcmV5IEdhcmVu
ICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAkocmV2aXNpb24g
ODgzNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMzMsNyArMjMzLDcgQEAgX19aTjNKU0M0SGVhcDI2cHJvdGVjdGVkR2xv
YmFsT2JqZWN0Q291bgogX19aTjNKU0M0SGVhcDI5cmVwb3J0RXh0cmFNZW1vcnlDb3N0U2xvd0Nh
c2VFbQogX19aTjNKU0M0SGVhcDdkZXN0cm95RXYKIF9fWk4zSlNDNEhlYXA3cHJvdGVjdEVOU183
SlNWYWx1ZUUKLV9fWk4zSlNDNEhlYXA4YWxsb2NhdGVFUk5TXzExTWFya2VkU3BhY2U5U2l6ZUNs
YXNzRQorX19aTjNKU0M0SGVhcDhhbGxvY2F0ZUVSTlNfOE5ld1NwYWNlOVNpemVDbGFzc0UKIF9f
Wk4zSlNDNEhlYXA5dW5wcm90ZWN0RU5TXzdKU1ZhbHVlRQogX19aTjNKU0M0WWFycjExWWFyclBh
dHRlcm5DMUVSS05TXzdVU3RyaW5nRWJiUFBLYwogX19aTjNKU0M0WWFycjExYnl0ZUNvbXBpbGVF
Uk5TMF8xMVlhcnJQYXR0ZXJuRVBOM1dURjIwQnVtcFBvaW50ZXJBbGxvY2F0b3JFCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCShyZXZpc2lvbiA4ODM2
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5vcmRlcgkod29ya2lu
ZyBjb3B5KQpAQCAtMTYwLDcgKzE2MCw2IEBAIF9fWk4zSlNDMTFQYXJzZXJBcmVuYUMyRXYKIF9f
Wk4zSlNDMTRUaW1lb3V0Q2hlY2tlckMxRXYKIF9fWk4zSlNDNEhlYXBDMUVQTlNfMTJKU0dsb2Jh
bERhdGFFCiBfX1pOM0pTQzRIZWFwQzJFUE5TXzEySlNHbG9iYWxEYXRhRQotX19aTjNKU0MxMU1h
cmtlZFNwYWNlQzFFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MyNURlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2tDMUVQTlNfNEhlYXBFCiBfX1pOM0pTQzI1RGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazE3Y29tbW9uQ29uc3RydWN0b3JFUE5TXzRIZWFwRVAxMV9fQ0ZSdW5Mb29wCiBfX1pOM0pT
QzE0TWFjaGluZVRocmVhZHNDMUVQTlNfNEhlYXBFCkBAIC0xNzcsOCArMTc2LDYgQEAgX19aTjNK
U0MxMVJlZ0V4cENhY2hlQzFFUE5TXzEySlNHbG9iYWxEYQogX19aTjNKU0MxMUludGVycHJldGVy
QzFFUk5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMEhhbmRsZUhlYXAxMndyaXRlQmFycmll
ckVQTlNfN0pTVmFsdWVFUktTMV8KIF9fWk4zSlNDMTJSZWdpc3RlckZpbGUyM2FkZFRvQ29tbWl0
dGVkQnl0ZUNvdW50RWwKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTIxYWxsb2NhdGVGcm9tU2l6ZUNs
YXNzRVJOUzBfOVNpemVDbGFzc0UKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTEzYWxsb2NhdGVCbG9j
a0VSTlMwXzlTaXplQ2xhc3NFCiBfX1pOM0pTQzExTWFya2VkQmxvY2s2Y3JlYXRlRVBOU18xMkpT
R2xvYmFsRGF0YUVtCiBfX1pOM1dURjIxUGFnZUFsbG9jYXRpb25BbGlnbmVkOGFsbG9jYXRlRW1t
TlNfMTFPU0FsbG9jYXRvcjVVc2FnZUViYgogX19aTjNXVEY5SGFzaFRhYmxlSVBOM0pTQzExTWFy
a2VkQmxvY2tFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5TXzdQdHJIYXNoSVMzX0VF
TlNfMTBIYXNoVHJhaXRzSVMzX0VFUzlfRTZyZWhhc2hFaQpAQCAtMzk1LDcgKzM5Miw2IEBAIF9f
Wk4zSlNDMTRNYWNoaW5lVGhyZWFkczIzZ2F0aGVyQ29uc2VydmEKIF9fWk4zSlNDMTRNYWNoaW5l
VGhyZWFkczIzZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWRFUk5TXzE3Q29uc2VydmF0aXZlUm9vdHNF
UHYKIF9fWk4zSlNDMTdDb25zZXJ2YXRpdmVSb290czNhZGRFUHZTMV8KIF9fWk4zSlNDMTJSZWdp
c3RlckZpbGUyM2dhdGhlckNvbnNlcnZhdGl2ZVJvb3RzRVJOU18xN0NvbnNlcnZhdGl2ZVJvb3Rz
RQotX19aTjNKU0MxMU1hcmtlZFNwYWNlMTBjbGVhck1hcmtzRXYKIF9fWk4zSlNDOU1hcmtTdGFj
azZhcHBlbmRFUk5TXzE3Q29uc2VydmF0aXZlUm9vdHNFCiBfX1pOM0pTQzlNYXJrU3RhY2s1ZHJh
aW5FdgogX19aTjNKU0M0SGVhcDIwbWFya1Byb3RlY3RlZE9iamVjdHNFUk5TXzE1SGVhcFJvb3RW
aXNpdG9yRQpAQCAtNDA4LDggKzQwNCw2IEBAIF9fWk4zSlNDMTJTbWFsbFN0cmluZ3MxM3Zpc2l0
Q2hpbGRyZW5FUk4KIF9fWk4zSlNDMTBIYW5kbGVIZWFwMTVtYXJrV2Vha0hhbmRsZXNFUk5TXzE1
SGVhcFJvb3RWaXNpdG9yRQogX19aTjNKU0M5TWFya1N0YWNrNXJlc2V0RXYKIF9fWk4zSlNDMTBI
YW5kbGVIZWFwMTlmaW5hbGl6ZVdlYWtIYW5kbGVzRXYKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTVy
ZXNldEV2Ci1fX1pOM0pTQzExTWFya2VkU3BhY2U1c3dlZXBFdgogX19aTjNKU0MxMU1hcmtlZEJs
b2NrNXN3ZWVwRXYKIF9fWk4zSlNDOVN0cnVjdHVyZUQxRXYKIF9fWk4zSlNDOEpTU3RyaW5nRDFF
dgpAQCAtNDQ3LDExICs0NDEsOCBAQCBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3REMUV2CiBfX1pO
M0pTQzE0SlNHbG9iYWxPYmplY3REMkV2CiBfX1pOM1dURjlIYXNoVGFibGVJTlNfNlJlZlB0ckky
MU9wYXF1ZUpTV2Vha09iamVjdE1hcEVFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5T
XzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFUzlfRTE1ZGVhbGxvY2F0ZVRhYmxl
RVBTM19pCiBfX1pOM1dURjlIYXNoVGFibGVJTlNfNlJlZlB0ckkyMU9wYXF1ZUpTV2Vha09iamVj
dE1hcEVFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5TXzdQdHJIYXNoSVMzX0VFTlNf
MTBIYXNoVHJhaXRzSVMzX0VFUzlfRTZyZWhhc2hFaQotX19aTjNKU0MxMU1hcmtlZFNwYWNlNnNo
cmlua0V2Ci1fX1pOM0pTQzExTWFya2VkU3BhY2UxMGZyZWVCbG9ja3NFUk4zV1RGMTZEb3VibHlM
aW5rZWRMaXN0SU5TXzExTWFya2VkQmxvY2tFRUUKIF9fWk4zSlNDMTFNYXJrZWRCbG9jazdkZXN0
cm95RVBTMF8KIF9fWk4zV1RGMjFQYWdlQWxsb2NhdGlvbkFsaWduZWQxMGRlYWxsb2NhdGVFdgot
X19aTkszSlNDMTFNYXJrZWRTcGFjZTRzaXplRXYKIF9fWjIyVENNYWxsb2NfU3lzdGVtUmVsZWFz
ZVB2bQogX19aMjFUQ01hbGxvY19TeXN0ZW1Db21taXRQdm0KIF9fWk4zV1RGTDEwdGltZXJGaXJl
ZEVQMTZfX0NGUnVuTG9vcFRpbWVyUHYKQEAgLTE0NzEsNyArMTQ2Miw2IEBAIF9fWk4zSlNDMTJK
U0dsb2JhbERhdGExOGNyZWF0ZUNvbnRleHRHcm8KIF9fWk4zSlNDMTJKU0dsb2JhbERhdGEyMmNs
ZWFyQnVpbHRpblN0cnVjdHVyZXNFdgogX19aTjNKU0M0SGVhcDdkZXN0cm95RXYKIF9fWk4zSlND
OUpJVFRodW5rczIyY2xlYXJIb3N0RnVuY3Rpb25TdHVic0V2Ci1fX1pOM0pTQzExTWFya2VkU3Bh
Y2U3ZGVzdHJveUV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhRDFFdgogX19aTjNKU0MxMkpTR2xv
YmFsRGF0YUQyRXYKIF9fWk4zSlNDMTJSZWdpc3RlckZpbGVEMUV2CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmRlZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgkocmV2aXNpb24g
ODgzNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgkod29ya2luZyBjb3B5KQpAQCAtNTYsNyAr
NTYsNiBAQCBFWFBPUlRTCiAgICAgP2FkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb25AU3RydWN0
dXJlQEpTQ0BAUUFFSUFBVkpTR2xvYmFsRGF0YUAyQEFCVklkZW50aWZpZXJAMkBJUEFWSlNDZWxs
QDJAQFoKICAgICA/YWRkU2xvd0Nhc2VASWRlbnRpZmllckBKU0NAQENBP0FWPyRQYXNzUmVmUHRy
QFZTdHJpbmdJbXBsQFdURkBAQFdURkBAUEFWRXhlY1N0YXRlQDJAUEFWU3RyaW5nSW1wbEA0QEBa
CiAgICAgP2FkZFN0YXRpY0dsb2JhbHNASlNHbG9iYWxPYmplY3RASlNDQEBJQUVYUEFVR2xvYmFs
UHJvcGVydHlJbmZvQDEyQEhAWgotICAgID9hbGxvY2F0ZUBIZWFwQEpTQ0BAUUFFUEFYQUFVU2l6
ZUNsYXNzQE1hcmtlZFNwYWNlQDJAQFoKICAgICA/YWxsb2NhdGVASGVhcEBKU0NAQFFBRVBBWElA
WgogICAgID9hbGxvY2F0ZVByb3BlcnR5U3RvcmFnZUBKU09iamVjdEBKU0NAQFFBRVhJSUBaCiAg
ICAgP2FwcGVuZEBTdHJpbmdCdWlsZGVyQFdURkBAUUFFWFBCRElAWgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5jcHAJKHJldmlzaW9uIDg4MzY4KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIGlzVmFsaWRUaHJlYWRTdGF0ZShKUwogCiBIZWFwOjpIZWFwKEpTR2xv
YmFsRGF0YSogZ2xvYmFsRGF0YSkKICAgICA6IG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyhOb09wZXJh
dGlvbikKLSAgICAsIG1fbWFya2VkU3BhY2UodGhpcykKKyAgICAsIG1fbmV3U3BhY2UodGhpcykK
ICAgICAsIG1fbWFya0xpc3RTZXQoMCkKICAgICAsIG1fYWN0aXZpdHlDYWxsYmFjayhEZWZhdWx0
R0NBY3Rpdml0eUNhbGxiYWNrOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX2dsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKQEAgLTc0LDcgKzc0LDcgQEAgSGVhcDo6SGVhcChKU0dsb2JhbERhdGEqIGdsb2Jh
bERhdGEpCiAgICAgLCBtX2hhbmRsZUhlYXAoZ2xvYmFsRGF0YSkKICAgICAsIG1fZXh0cmFDb3N0
KDApCiB7Ci0gICAgbV9tYXJrZWRTcGFjZS5zZXRIaWdoV2F0ZXJNYXJrKG1pbkJ5dGVzUGVyQ3lj
bGUpOworICAgIG1fbmV3U3BhY2Uuc2V0SGlnaFdhdGVyTWFyayhtaW5CeXRlc1BlckN5Y2xlKTsK
ICAgICAoKm1fYWN0aXZpdHlDYWxsYmFjaykoKTsKIH0KIApAQCAtMTA0LDEwICsxMDQsMTAgQEAg
dm9pZCBIZWFwOjpkZXN0cm95KCkKIAogICAgIGRlbGV0ZSBtX21hcmtMaXN0U2V0OwogICAgIG1f
bWFya0xpc3RTZXQgPSAwOwotICAgIG1fbWFya2VkU3BhY2UuY2xlYXJNYXJrcygpOworICAgIG1f
bmV3U3BhY2UuY2xlYXJNYXJrcygpOwogICAgIG1faGFuZGxlSGVhcC5maW5hbGl6ZVdlYWtIYW5k
bGVzKCk7CiAgICAgbV9nbG9iYWxEYXRhLT5zbWFsbFN0cmluZ3MuZmluYWxpemVTbWFsbFN0cmlu
Z3MoKTsKLSAgICBtX21hcmtlZFNwYWNlLmRlc3Ryb3koKTsKKyAgICBtX25ld1NwYWNlLmRlc3Ry
b3koKTsKIAogICAgIG1fZ2xvYmFsRGF0YSA9IDA7CiB9CkBAIC0xMjUsMjYgKzEyNSwyNiBAQCB2
b2lkIEhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5Q29zdFNsb3dDYXNlCiAgICAgLy8gaWYgYSBsYXJn
ZSB2YWx1ZSBzdXJ2aXZlcyBvbmUgZ2FyYmFnZSBjb2xsZWN0aW9uLCB0aGVyZSBpcyBub3QgbXVj
aCBwb2ludCB0bwogICAgIC8vIGNvbGxlY3RpbmcgbW9yZSBmcmVxdWVudGx5IGFzIGxvbmcgYXMg
aXQgc3RheXMgYWxpdmUuCiAKLSAgICBpZiAobV9leHRyYUNvc3QgPiBtYXhFeHRyYUNvc3QgJiYg
bV9leHRyYUNvc3QgPiBtX21hcmtlZFNwYWNlLmhpZ2hXYXRlck1hcmsoKSAvIDIpCisgICAgaWYg
KG1fZXh0cmFDb3N0ID4gbWF4RXh0cmFDb3N0ICYmIG1fZXh0cmFDb3N0ID4gbV9uZXdTcGFjZS5o
aWdoV2F0ZXJNYXJrKCkgLyAyKQogICAgICAgICBjb2xsZWN0QWxsR2FyYmFnZSgpOwogICAgIG1f
ZXh0cmFDb3N0ICs9IGNvc3Q7CiB9CiAKLXZvaWQqIEhlYXA6OmFsbG9jYXRlKE1hcmtlZFNwYWNl
OjpTaXplQ2xhc3MmIHNpemVDbGFzcykKK3ZvaWQqIEhlYXA6OmFsbG9jYXRlKE5ld1NwYWNlOjpT
aXplQ2xhc3MmIHNpemVDbGFzcykKIHsKICNpZiBDT0xMRUNUX09OX0VWRVJZX0FMTE9DQVRJT04K
ICAgICBjb2xsZWN0QWxsR2FyYmFnZSgpOwogICAgIEFTU0VSVChtX29wZXJhdGlvbkluUHJvZ3Jl
c3MgPT0gTm9PcGVyYXRpb24pOwogI2VuZGlmCiAKLSAgICB2b2lkKiByZXN1bHQgPSBtX21hcmtl
ZFNwYWNlLmFsbG9jYXRlKHNpemVDbGFzcyk7CisgICAgdm9pZCogcmVzdWx0ID0gbV9uZXdTcGFj
ZS5hbGxvY2F0ZShzaXplQ2xhc3MpOwogICAgIGlmIChyZXN1bHQpCiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAKICAgICBjb2xsZWN0KERvTm90U3dlZXApOwogCiAgICAgbV9vcGVyYXRpb25JblBy
b2dyZXNzID0gQWxsb2NhdGlvbjsKLSAgICByZXN1bHQgPSBtX21hcmtlZFNwYWNlLmFsbG9jYXRl
KHNpemVDbGFzcyk7CisgICAgcmVzdWx0ID0gbV9uZXdTcGFjZS5hbGxvY2F0ZShzaXplQ2xhc3Mp
OwogICAgIG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9IE5vT3BlcmF0aW9uOwogCiAgICAgQVNTRVJU
KHJlc3VsdCk7CkBAIC0yMzIsNyArMjMyLDcgQEAgdm9pZCBIZWFwOjptYXJrUm9vdHMoKQogICAg
IENvbnNlcnZhdGl2ZVJvb3RzIHJlZ2lzdGVyRmlsZVJvb3RzKHRoaXMpOwogICAgIHJlZ2lzdGVy
RmlsZSgpLmdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKHJlZ2lzdGVyRmlsZVJvb3RzKTsKIAotICAg
IG1fbWFya2VkU3BhY2UuY2xlYXJNYXJrcygpOworICAgIG1fbmV3U3BhY2UuY2xlYXJNYXJrcygp
OwogCiAgICAgdmlzaXRvci5hcHBlbmQobWFjaGluZVRocmVhZFJvb3RzKTsKICAgICB2aXNpdG9y
LmRyYWluKCk7CkBAIC0yNzUsMTcgKzI3NSwxNyBAQCB2b2lkIEhlYXA6Om1hcmtSb290cygpCiAK
IHNpemVfdCBIZWFwOjpvYmplY3RDb3VudCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbWFya2Vk
U3BhY2Uub2JqZWN0Q291bnQoKTsKKyAgICByZXR1cm4gbV9uZXdTcGFjZS5vYmplY3RDb3VudCgp
OwogfQogCiBzaXplX3QgSGVhcDo6c2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbWFya2Vk
U3BhY2Uuc2l6ZSgpOworICAgIHJldHVybiBtX25ld1NwYWNlLnNpemUoKTsKIH0KIAogc2l6ZV90
IEhlYXA6OmNhcGFjaXR5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tYXJrZWRTcGFjZS5jYXBh
Y2l0eSgpOworICAgIHJldHVybiBtX25ld1NwYWNlLmNhcGFjaXR5KCk7CiB9CiAKIHNpemVfdCBI
ZWFwOjpnbG9iYWxPYmplY3RDb3VudCgpCkBAIC00MDUsNyArNDA1LDcgQEAgdm9pZCBIZWFwOjpj
b2xsZWN0KFN3ZWVwVG9nZ2xlIHN3ZWVwVG9nZwogCiAgICAgSkFWQVNDUklQVENPUkVfR0NfTUFS
S0VEKCk7CiAKLSAgICBtX21hcmtlZFNwYWNlLnJlc2V0QWxsb2NhdG9yKCk7CisgICAgbV9uZXdT
cGFjZS5yZXNldEFsbG9jYXRvcigpOwogICAgIG1fZXh0cmFDb3N0ID0gMDsKIAogI2lmIEVOQUJM
RShKU0NfWk9NQklFUykKQEAgLTQxMywxNiArNDEzLDE2IEBAIHZvaWQgSGVhcDo6Y29sbGVjdChT
d2VlcFRvZ2dsZSBzd2VlcFRvZ2cKICNlbmRpZgogCiAgICAgaWYgKHN3ZWVwVG9nZ2xlID09IERv
U3dlZXApIHsKLSAgICAgICAgbV9tYXJrZWRTcGFjZS5zd2VlcCgpOwotICAgICAgICBtX21hcmtl
ZFNwYWNlLnNocmluaygpOworICAgICAgICBtX25ld1NwYWNlLnN3ZWVwKCk7CisgICAgICAgIG1f
bmV3U3BhY2Uuc2hyaW5rKCk7CiAgICAgfQogCiAgICAgLy8gVG8gYXZvaWQgcGF0aG9sb2dpY2Fs
IEdDIGNodXJuIGluIGxhcmdlIGhlYXBzLCB3ZSBzZXQgdGhlIGFsbG9jYXRpb24gaGlnaAogICAg
IC8vIHdhdGVyIG1hcmsgdG8gYmUgcHJvcG9ydGlvbmFsIHRvIHRoZSBjdXJyZW50IHNpemUgb2Yg
dGhlIGhlYXAuIFRoZSBleGFjdAogICAgIC8vIHByb3BvcnRpb24gaXMgYSBiaXQgYXJiaXRyYXJ5
LiBBIDJYIG11bHRpcGxpZXIgZ2l2ZXMgYSAxOjEgKGhlYXAgc2l6ZSA6CiAgICAgLy8gbmV3IGJ5
dGVzIGFsbG9jYXRlZCkgcHJvcG9ydGlvbiwgYW5kIHNlZW1zIHRvIHdvcmsgd2VsbCBpbiBiZW5j
aG1hcmtzLgotICAgIHNpemVfdCBwcm9wb3J0aW9uYWxCeXRlcyA9IDIgKiBtX21hcmtlZFNwYWNl
LnNpemUoKTsKLSAgICBtX21hcmtlZFNwYWNlLnNldEhpZ2hXYXRlck1hcmsobWF4KHByb3BvcnRp
b25hbEJ5dGVzLCBtaW5CeXRlc1BlckN5Y2xlKSk7CisgICAgc2l6ZV90IHByb3BvcnRpb25hbEJ5
dGVzID0gMiAqIG1fbmV3U3BhY2Uuc2l6ZSgpOworICAgIG1fbmV3U3BhY2Uuc2V0SGlnaFdhdGVy
TWFyayhtYXgocHJvcG9ydGlvbmFsQnl0ZXMsIG1pbkJ5dGVzUGVyQ3ljbGUpKTsKIAogICAgIEpB
VkFTQ1JJUFRDT1JFX0dDX0VORCgpOwogCkBAIC00NDQsNyArNDQ0LDcgQEAgYm9vbCBIZWFwOjpp
c1ZhbGlkQWxsb2NhdGlvbihzaXplX3QgYnl0ZQogICAgIGlmICghaXNWYWxpZFRocmVhZFN0YXRl
KG1fZ2xvYmFsRGF0YSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChieXRlcyA+
IE1hcmtlZFNwYWNlOjptYXhDZWxsU2l6ZSkKKyAgICBpZiAoYnl0ZXMgPiBOZXdTcGFjZTo6bWF4
Q2VsbFNpemUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChtX29wZXJhdGlvbklu
UHJvZ3Jlc3MgIT0gTm9PcGVyYXRpb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5o
CShyZXZpc2lvbiA4ODM2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAko
d29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
dm9pZCBkZXN0cm95KCk7IC8vIEpTR2xvYmFsRGF0YSBtdXN0IGNhbGwgZGVzdHJveSgpIGJlZm9y
ZSB+SGVhcCgpLgogCiAgICAgICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSgpIGNvbnN0IHsg
cmV0dXJuIG1fZ2xvYmFsRGF0YTsgfQotICAgICAgICBNYXJrZWRTcGFjZSYgbWFya2VkU3BhY2Uo
KSB7IHJldHVybiBtX21hcmtlZFNwYWNlOyB9CisgICAgICAgIE5ld1NwYWNlJiBtYXJrZWRTcGFj
ZSgpIHsgcmV0dXJuIG1fbmV3U3BhY2U7IH0KICAgICAgICAgTWFjaGluZVRocmVhZHMmIG1hY2hp
bmVUaHJlYWRzKCkgeyByZXR1cm4gbV9tYWNoaW5lVGhyZWFkczsgfQogCiAgICAgICAgIEdDQWN0
aXZpdHlDYWxsYmFjayogYWN0aXZpdHlDYWxsYmFjaygpOwpAQCAtODEsNyArODEsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgaW5saW5lIGJvb2wgaXNCdXN5KCk7CiAKICAgICAgICAgdm9p
ZCogYWxsb2NhdGUoc2l6ZV90KTsKLSAgICAgICAgdm9pZCogYWxsb2NhdGUoTWFya2VkU3BhY2U6
OlNpemVDbGFzcyYpOworICAgICAgICB2b2lkKiBhbGxvY2F0ZShOZXdTcGFjZTo6U2l6ZUNsYXNz
Jik7CiAgICAgICAgIHZvaWQgY29sbGVjdEFsbEdhcmJhZ2UoKTsKIAogICAgICAgICB2b2lkIHJl
cG9ydEV4dHJhTWVtb3J5Q29zdChzaXplX3QgY29zdCk7CkBAIC0xMzAsNyArMTMwLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVyRmlsZSYgcmVnaXN0ZXJGaWxlKCk7CiAKICAg
ICAgICAgT3BlcmF0aW9uSW5Qcm9ncmVzcyBtX29wZXJhdGlvbkluUHJvZ3Jlc3M7Ci0gICAgICAg
IE1hcmtlZFNwYWNlIG1fbWFya2VkU3BhY2U7CisgICAgICAgIE5ld1NwYWNlIG1fbmV3U3BhY2U7
CiAKICAgICAgICAgUHJvdGVjdENvdW50U2V0IG1fcHJvdGVjdGVkVmFsdWVzOwogICAgICAgICBW
ZWN0b3I8VmVjdG9yPFZhbHVlU3RyaW5nUGFpcj4qID4gbV90ZW1wU29ydGluZ1ZlY3RvcnM7CkBA
IC0xOTYsNyArMTk2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBpbmxpbmUgYm9vbCBIZWFw
Ojpjb250YWlucyh2b2lkKiBwKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbWFya2VkU3BhY2Uu
Y29udGFpbnMocCk7CisgICAgICAgIHJldHVybiBtX25ld1NwYWNlLmNvbnRhaW5zKHApOwogICAg
IH0KIAogICAgIGlubGluZSB2b2lkIEhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5Q29zdChzaXplX3Qg
Y29zdCkKQEAgLTIwNywxMyArMjA3LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIEZ1bmN0b3I+IGlubGluZSB2b2lkIEhlYXA6OmZvckVhY2goRnVuY3RvciYg
ZnVuY3RvcikKICAgICB7Ci0gICAgICAgIG1fbWFya2VkU3BhY2UuZm9yRWFjaChmdW5jdG9yKTsK
KyAgICAgICAgbV9uZXdTcGFjZS5mb3JFYWNoKGZ1bmN0b3IpOwogICAgIH0KIAogICAgIGlubGlu
ZSB2b2lkKiBIZWFwOjphbGxvY2F0ZShzaXplX3QgYnl0ZXMpCiAgICAgewogICAgICAgICBBU1NF
UlQoaXNWYWxpZEFsbG9jYXRpb24oYnl0ZXMpKTsKLSAgICAgICAgTWFya2VkU3BhY2U6OlNpemVD
bGFzcyYgc2l6ZUNsYXNzID0gbV9tYXJrZWRTcGFjZS5zaXplQ2xhc3NGb3IoYnl0ZXMpOworICAg
ICAgICBOZXdTcGFjZTo6U2l6ZUNsYXNzJiBzaXplQ2xhc3MgPSBtX25ld1NwYWNlLnNpemVDbGFz
c0ZvcihieXRlcyk7CiAgICAgICAgIHJldHVybiBhbGxvY2F0ZShzaXplQ2xhc3MpOwogICAgIH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgJKHJldmlzaW9uIDg4
MzY4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY2LDcgKzY2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGZyaWVuZCBj
bGFzcyBKU0FQSVZhbHVlV3JhcHBlcjsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpTWm9tYmllOwog
ICAgICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhOwotICAgICAgICBmcmllbmQgY2xhc3Mg
TWFya2VkU3BhY2U7CisgICAgICAgIGZyaWVuZCBjbGFzcyBOZXdTcGFjZTsKICAgICAgICAgZnJp
ZW5kIGNsYXNzIE1hcmtlZEJsb2NrOwogICAgICAgICBmcmllbmQgY2xhc3MgU2NvcGVDaGFpbk5v
ZGU7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBTdHJ1Y3R1cmU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96461</attachid>
            <date>2011-06-08 12:25:31 -0700</date>
            <delta_ts>2011-06-08 13:01:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62305-20110608122529.patch</filename>
            <type>text/plain</type>
            <size>18287</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODgzNjkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDYtMDggIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIG1vcmUgTWFya2Vk
U3BhY2UgPT4gTmV3U3BhY2UgcmVuYW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYyMzA1CisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUub3JkZXI6CisgICAgICAgICogSmF2YVNjcmlwdENv
cmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBo
ZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpIZWFwKToKKyAgICAgICAgKEpTQzo6
SGVhcDo6ZGVzdHJveSk6CisgICAgICAgIChKU0M6OkhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5Q29z
dFNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6SGVhcDo6YWxsb2NhdGUpOgorICAgICAgICAoSlND
OjpIZWFwOjptYXJrUm9vdHMpOgorICAgICAgICAoSlNDOjpIZWFwOjpvYmplY3RDb3VudCk6Cisg
ICAgICAgIChKU0M6OkhlYXA6OnNpemUpOgorICAgICAgICAoSlNDOjpIZWFwOjpjYXBhY2l0eSk6
CisgICAgICAgIChKU0M6OkhlYXA6OmNvbGxlY3QpOgorICAgICAgICAoSlNDOjpIZWFwOjppc1Zh
bGlkQWxsb2NhdGlvbik6CisgICAgICAgICogaGVhcC9IZWFwLmg6CisgICAgICAgIChKU0M6Okhl
YXA6Om1hcmtlZFNwYWNlKToKKyAgICAgICAgKEpTQzo6SGVhcDo6Y29udGFpbnMpOgorICAgICAg
ICAoSlNDOjpIZWFwOjpmb3JFYWNoKToKKyAgICAgICAgKEpTQzo6SGVhcDo6YWxsb2NhdGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisKIDIwMTEtMDYtMDggIEdlb2ZmcmV5IEdhcmVu
ICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAkocmV2aXNpb24g
ODgzNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMzMsNyArMjMzLDcgQEAgX19aTjNKU0M0SGVhcDI2cHJvdGVjdGVkR2xv
YmFsT2JqZWN0Q291bgogX19aTjNKU0M0SGVhcDI5cmVwb3J0RXh0cmFNZW1vcnlDb3N0U2xvd0Nh
c2VFbQogX19aTjNKU0M0SGVhcDdkZXN0cm95RXYKIF9fWk4zSlNDNEhlYXA3cHJvdGVjdEVOU183
SlNWYWx1ZUUKLV9fWk4zSlNDNEhlYXA4YWxsb2NhdGVFUk5TXzExTWFya2VkU3BhY2U5U2l6ZUNs
YXNzRQorX19aTjNKU0M0SGVhcDhhbGxvY2F0ZUVSTlNfOE5ld1NwYWNlOVNpemVDbGFzc0UKIF9f
Wk4zSlNDNEhlYXA5dW5wcm90ZWN0RU5TXzdKU1ZhbHVlRQogX19aTjNKU0M0WWFycjExWWFyclBh
dHRlcm5DMUVSS05TXzdVU3RyaW5nRWJiUFBLYwogX19aTjNKU0M0WWFycjExYnl0ZUNvbXBpbGVF
Uk5TMF8xMVlhcnJQYXR0ZXJuRVBOM1dURjIwQnVtcFBvaW50ZXJBbGxvY2F0b3JFCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCShyZXZpc2lvbiA4ODM2
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5vcmRlcgkod29ya2lu
ZyBjb3B5KQpAQCAtMTYwLDcgKzE2MCw2IEBAIF9fWk4zSlNDMTFQYXJzZXJBcmVuYUMyRXYKIF9f
Wk4zSlNDMTRUaW1lb3V0Q2hlY2tlckMxRXYKIF9fWk4zSlNDNEhlYXBDMUVQTlNfMTJKU0dsb2Jh
bERhdGFFCiBfX1pOM0pTQzRIZWFwQzJFUE5TXzEySlNHbG9iYWxEYXRhRQotX19aTjNKU0MxMU1h
cmtlZFNwYWNlQzFFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MyNURlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2tDMUVQTlNfNEhlYXBFCiBfX1pOM0pTQzI1RGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazE3Y29tbW9uQ29uc3RydWN0b3JFUE5TXzRIZWFwRVAxMV9fQ0ZSdW5Mb29wCiBfX1pOM0pT
QzE0TWFjaGluZVRocmVhZHNDMUVQTlNfNEhlYXBFCkBAIC0xNzcsOCArMTc2LDYgQEAgX19aTjNK
U0MxMVJlZ0V4cENhY2hlQzFFUE5TXzEySlNHbG9iYWxEYQogX19aTjNKU0MxMUludGVycHJldGVy
QzFFUk5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMEhhbmRsZUhlYXAxMndyaXRlQmFycmll
ckVQTlNfN0pTVmFsdWVFUktTMV8KIF9fWk4zSlNDMTJSZWdpc3RlckZpbGUyM2FkZFRvQ29tbWl0
dGVkQnl0ZUNvdW50RWwKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTIxYWxsb2NhdGVGcm9tU2l6ZUNs
YXNzRVJOUzBfOVNpemVDbGFzc0UKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTEzYWxsb2NhdGVCbG9j
a0VSTlMwXzlTaXplQ2xhc3NFCiBfX1pOM0pTQzExTWFya2VkQmxvY2s2Y3JlYXRlRVBOU18xMkpT
R2xvYmFsRGF0YUVtCiBfX1pOM1dURjIxUGFnZUFsbG9jYXRpb25BbGlnbmVkOGFsbG9jYXRlRW1t
TlNfMTFPU0FsbG9jYXRvcjVVc2FnZUViYgogX19aTjNXVEY5SGFzaFRhYmxlSVBOM0pTQzExTWFy
a2VkQmxvY2tFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5TXzdQdHJIYXNoSVMzX0VF
TlNfMTBIYXNoVHJhaXRzSVMzX0VFUzlfRTZyZWhhc2hFaQpAQCAtMzk1LDcgKzM5Miw2IEBAIF9f
Wk4zSlNDMTRNYWNoaW5lVGhyZWFkczIzZ2F0aGVyQ29uc2VydmEKIF9fWk4zSlNDMTRNYWNoaW5l
VGhyZWFkczIzZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWRFUk5TXzE3Q29uc2VydmF0aXZlUm9vdHNF
UHYKIF9fWk4zSlNDMTdDb25zZXJ2YXRpdmVSb290czNhZGRFUHZTMV8KIF9fWk4zSlNDMTJSZWdp
c3RlckZpbGUyM2dhdGhlckNvbnNlcnZhdGl2ZVJvb3RzRVJOU18xN0NvbnNlcnZhdGl2ZVJvb3Rz
RQotX19aTjNKU0MxMU1hcmtlZFNwYWNlMTBjbGVhck1hcmtzRXYKIF9fWk4zSlNDOU1hcmtTdGFj
azZhcHBlbmRFUk5TXzE3Q29uc2VydmF0aXZlUm9vdHNFCiBfX1pOM0pTQzlNYXJrU3RhY2s1ZHJh
aW5FdgogX19aTjNKU0M0SGVhcDIwbWFya1Byb3RlY3RlZE9iamVjdHNFUk5TXzE1SGVhcFJvb3RW
aXNpdG9yRQpAQCAtNDA4LDggKzQwNCw2IEBAIF9fWk4zSlNDMTJTbWFsbFN0cmluZ3MxM3Zpc2l0
Q2hpbGRyZW5FUk4KIF9fWk4zSlNDMTBIYW5kbGVIZWFwMTVtYXJrV2Vha0hhbmRsZXNFUk5TXzE1
SGVhcFJvb3RWaXNpdG9yRQogX19aTjNKU0M5TWFya1N0YWNrNXJlc2V0RXYKIF9fWk4zSlNDMTBI
YW5kbGVIZWFwMTlmaW5hbGl6ZVdlYWtIYW5kbGVzRXYKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTVy
ZXNldEV2Ci1fX1pOM0pTQzExTWFya2VkU3BhY2U1c3dlZXBFdgogX19aTjNKU0MxMU1hcmtlZEJs
b2NrNXN3ZWVwRXYKIF9fWk4zSlNDOVN0cnVjdHVyZUQxRXYKIF9fWk4zSlNDOEpTU3RyaW5nRDFF
dgpAQCAtNDQ3LDExICs0NDEsOCBAQCBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3REMUV2CiBfX1pO
M0pTQzE0SlNHbG9iYWxPYmplY3REMkV2CiBfX1pOM1dURjlIYXNoVGFibGVJTlNfNlJlZlB0ckky
MU9wYXF1ZUpTV2Vha09iamVjdE1hcEVFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5T
XzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFUzlfRTE1ZGVhbGxvY2F0ZVRhYmxl
RVBTM19pCiBfX1pOM1dURjlIYXNoVGFibGVJTlNfNlJlZlB0ckkyMU9wYXF1ZUpTV2Vha09iamVj
dE1hcEVFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5TXzdQdHJIYXNoSVMzX0VFTlNf
MTBIYXNoVHJhaXRzSVMzX0VFUzlfRTZyZWhhc2hFaQotX19aTjNKU0MxMU1hcmtlZFNwYWNlNnNo
cmlua0V2Ci1fX1pOM0pTQzExTWFya2VkU3BhY2UxMGZyZWVCbG9ja3NFUk4zV1RGMTZEb3VibHlM
aW5rZWRMaXN0SU5TXzExTWFya2VkQmxvY2tFRUUKIF9fWk4zSlNDMTFNYXJrZWRCbG9jazdkZXN0
cm95RVBTMF8KIF9fWk4zV1RGMjFQYWdlQWxsb2NhdGlvbkFsaWduZWQxMGRlYWxsb2NhdGVFdgot
X19aTkszSlNDMTFNYXJrZWRTcGFjZTRzaXplRXYKIF9fWjIyVENNYWxsb2NfU3lzdGVtUmVsZWFz
ZVB2bQogX19aMjFUQ01hbGxvY19TeXN0ZW1Db21taXRQdm0KIF9fWk4zV1RGTDEwdGltZXJGaXJl
ZEVQMTZfX0NGUnVuTG9vcFRpbWVyUHYKQEAgLTE0NzEsNyArMTQ2Miw2IEBAIF9fWk4zSlNDMTJK
U0dsb2JhbERhdGExOGNyZWF0ZUNvbnRleHRHcm8KIF9fWk4zSlNDMTJKU0dsb2JhbERhdGEyMmNs
ZWFyQnVpbHRpblN0cnVjdHVyZXNFdgogX19aTjNKU0M0SGVhcDdkZXN0cm95RXYKIF9fWk4zSlND
OUpJVFRodW5rczIyY2xlYXJIb3N0RnVuY3Rpb25TdHVic0V2Ci1fX1pOM0pTQzExTWFya2VkU3Bh
Y2U3ZGVzdHJveUV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhRDFFdgogX19aTjNKU0MxMkpTR2xv
YmFsRGF0YUQyRXYKIF9fWk4zSlNDMTJSZWdpc3RlckZpbGVEMUV2CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmRlZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgkocmV2aXNpb24g
ODgzNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgkod29ya2luZyBjb3B5KQpAQCAtNTYsNyAr
NTYsNiBAQCBFWFBPUlRTCiAgICAgP2FkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb25AU3RydWN0
dXJlQEpTQ0BAUUFFSUFBVkpTR2xvYmFsRGF0YUAyQEFCVklkZW50aWZpZXJAMkBJUEFWSlNDZWxs
QDJAQFoKICAgICA/YWRkU2xvd0Nhc2VASWRlbnRpZmllckBKU0NAQENBP0FWPyRQYXNzUmVmUHRy
QFZTdHJpbmdJbXBsQFdURkBAQFdURkBAUEFWRXhlY1N0YXRlQDJAUEFWU3RyaW5nSW1wbEA0QEBa
CiAgICAgP2FkZFN0YXRpY0dsb2JhbHNASlNHbG9iYWxPYmplY3RASlNDQEBJQUVYUEFVR2xvYmFs
UHJvcGVydHlJbmZvQDEyQEhAWgotICAgID9hbGxvY2F0ZUBIZWFwQEpTQ0BAUUFFUEFYQUFVU2l6
ZUNsYXNzQE1hcmtlZFNwYWNlQDJAQFoKICAgICA/YWxsb2NhdGVASGVhcEBKU0NAQFFBRVBBWElA
WgogICAgID9hbGxvY2F0ZVByb3BlcnR5U3RvcmFnZUBKU09iamVjdEBKU0NAQFFBRVhJSUBaCiAg
ICAgP2FwcGVuZEBTdHJpbmdCdWlsZGVyQFdURkBAUUFFWFBCRElAWgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5jcHAJKHJldmlzaW9uIDg4MzY5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIGlzVmFsaWRUaHJlYWRTdGF0ZShKUwogCiBIZWFwOjpIZWFwKEpTR2xv
YmFsRGF0YSogZ2xvYmFsRGF0YSkKICAgICA6IG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyhOb09wZXJh
dGlvbikKLSAgICAsIG1fbWFya2VkU3BhY2UodGhpcykKKyAgICAsIG1fbmV3U3BhY2UodGhpcykK
ICAgICAsIG1fbWFya0xpc3RTZXQoMCkKICAgICAsIG1fYWN0aXZpdHlDYWxsYmFjayhEZWZhdWx0
R0NBY3Rpdml0eUNhbGxiYWNrOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX2dsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKQEAgLTc0LDcgKzc0LDcgQEAgSGVhcDo6SGVhcChKU0dsb2JhbERhdGEqIGdsb2Jh
bERhdGEpCiAgICAgLCBtX2hhbmRsZUhlYXAoZ2xvYmFsRGF0YSkKICAgICAsIG1fZXh0cmFDb3N0
KDApCiB7Ci0gICAgbV9tYXJrZWRTcGFjZS5zZXRIaWdoV2F0ZXJNYXJrKG1pbkJ5dGVzUGVyQ3lj
bGUpOworICAgIG1fbmV3U3BhY2Uuc2V0SGlnaFdhdGVyTWFyayhtaW5CeXRlc1BlckN5Y2xlKTsK
ICAgICAoKm1fYWN0aXZpdHlDYWxsYmFjaykoKTsKIH0KIApAQCAtMTA0LDEwICsxMDQsMTAgQEAg
dm9pZCBIZWFwOjpkZXN0cm95KCkKIAogICAgIGRlbGV0ZSBtX21hcmtMaXN0U2V0OwogICAgIG1f
bWFya0xpc3RTZXQgPSAwOwotICAgIG1fbWFya2VkU3BhY2UuY2xlYXJNYXJrcygpOworICAgIG1f
bmV3U3BhY2UuY2xlYXJNYXJrcygpOwogICAgIG1faGFuZGxlSGVhcC5maW5hbGl6ZVdlYWtIYW5k
bGVzKCk7CiAgICAgbV9nbG9iYWxEYXRhLT5zbWFsbFN0cmluZ3MuZmluYWxpemVTbWFsbFN0cmlu
Z3MoKTsKLSAgICBtX21hcmtlZFNwYWNlLmRlc3Ryb3koKTsKKyAgICBtX25ld1NwYWNlLmRlc3Ry
b3koKTsKIAogICAgIG1fZ2xvYmFsRGF0YSA9IDA7CiB9CkBAIC0xMjUsMjYgKzEyNSwyNiBAQCB2
b2lkIEhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5Q29zdFNsb3dDYXNlCiAgICAgLy8gaWYgYSBsYXJn
ZSB2YWx1ZSBzdXJ2aXZlcyBvbmUgZ2FyYmFnZSBjb2xsZWN0aW9uLCB0aGVyZSBpcyBub3QgbXVj
aCBwb2ludCB0bwogICAgIC8vIGNvbGxlY3RpbmcgbW9yZSBmcmVxdWVudGx5IGFzIGxvbmcgYXMg
aXQgc3RheXMgYWxpdmUuCiAKLSAgICBpZiAobV9leHRyYUNvc3QgPiBtYXhFeHRyYUNvc3QgJiYg
bV9leHRyYUNvc3QgPiBtX21hcmtlZFNwYWNlLmhpZ2hXYXRlck1hcmsoKSAvIDIpCisgICAgaWYg
KG1fZXh0cmFDb3N0ID4gbWF4RXh0cmFDb3N0ICYmIG1fZXh0cmFDb3N0ID4gbV9uZXdTcGFjZS5o
aWdoV2F0ZXJNYXJrKCkgLyAyKQogICAgICAgICBjb2xsZWN0QWxsR2FyYmFnZSgpOwogICAgIG1f
ZXh0cmFDb3N0ICs9IGNvc3Q7CiB9CiAKLXZvaWQqIEhlYXA6OmFsbG9jYXRlKE1hcmtlZFNwYWNl
OjpTaXplQ2xhc3MmIHNpemVDbGFzcykKK3ZvaWQqIEhlYXA6OmFsbG9jYXRlKE5ld1NwYWNlOjpT
aXplQ2xhc3MmIHNpemVDbGFzcykKIHsKICNpZiBDT0xMRUNUX09OX0VWRVJZX0FMTE9DQVRJT04K
ICAgICBjb2xsZWN0QWxsR2FyYmFnZSgpOwogICAgIEFTU0VSVChtX29wZXJhdGlvbkluUHJvZ3Jl
c3MgPT0gTm9PcGVyYXRpb24pOwogI2VuZGlmCiAKLSAgICB2b2lkKiByZXN1bHQgPSBtX21hcmtl
ZFNwYWNlLmFsbG9jYXRlKHNpemVDbGFzcyk7CisgICAgdm9pZCogcmVzdWx0ID0gbV9uZXdTcGFj
ZS5hbGxvY2F0ZShzaXplQ2xhc3MpOwogICAgIGlmIChyZXN1bHQpCiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAKICAgICBjb2xsZWN0KERvTm90U3dlZXApOwogCiAgICAgbV9vcGVyYXRpb25JblBy
b2dyZXNzID0gQWxsb2NhdGlvbjsKLSAgICByZXN1bHQgPSBtX21hcmtlZFNwYWNlLmFsbG9jYXRl
KHNpemVDbGFzcyk7CisgICAgcmVzdWx0ID0gbV9uZXdTcGFjZS5hbGxvY2F0ZShzaXplQ2xhc3Mp
OwogICAgIG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9IE5vT3BlcmF0aW9uOwogCiAgICAgQVNTRVJU
KHJlc3VsdCk7CkBAIC0yMzIsNyArMjMyLDcgQEAgdm9pZCBIZWFwOjptYXJrUm9vdHMoKQogICAg
IENvbnNlcnZhdGl2ZVJvb3RzIHJlZ2lzdGVyRmlsZVJvb3RzKHRoaXMpOwogICAgIHJlZ2lzdGVy
RmlsZSgpLmdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKHJlZ2lzdGVyRmlsZVJvb3RzKTsKIAotICAg
IG1fbWFya2VkU3BhY2UuY2xlYXJNYXJrcygpOworICAgIG1fbmV3U3BhY2UuY2xlYXJNYXJrcygp
OwogCiAgICAgdmlzaXRvci5hcHBlbmQobWFjaGluZVRocmVhZFJvb3RzKTsKICAgICB2aXNpdG9y
LmRyYWluKCk7CkBAIC0yNzUsMTcgKzI3NSwxNyBAQCB2b2lkIEhlYXA6Om1hcmtSb290cygpCiAK
IHNpemVfdCBIZWFwOjpvYmplY3RDb3VudCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbWFya2Vk
U3BhY2Uub2JqZWN0Q291bnQoKTsKKyAgICByZXR1cm4gbV9uZXdTcGFjZS5vYmplY3RDb3VudCgp
OwogfQogCiBzaXplX3QgSGVhcDo6c2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbWFya2Vk
U3BhY2Uuc2l6ZSgpOworICAgIHJldHVybiBtX25ld1NwYWNlLnNpemUoKTsKIH0KIAogc2l6ZV90
IEhlYXA6OmNhcGFjaXR5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tYXJrZWRTcGFjZS5jYXBh
Y2l0eSgpOworICAgIHJldHVybiBtX25ld1NwYWNlLmNhcGFjaXR5KCk7CiB9CiAKIHNpemVfdCBI
ZWFwOjpnbG9iYWxPYmplY3RDb3VudCgpCkBAIC00MDUsNyArNDA1LDcgQEAgdm9pZCBIZWFwOjpj
b2xsZWN0KFN3ZWVwVG9nZ2xlIHN3ZWVwVG9nZwogCiAgICAgSkFWQVNDUklQVENPUkVfR0NfTUFS
S0VEKCk7CiAKLSAgICBtX21hcmtlZFNwYWNlLnJlc2V0QWxsb2NhdG9yKCk7CisgICAgbV9uZXdT
cGFjZS5yZXNldEFsbG9jYXRvcigpOwogICAgIG1fZXh0cmFDb3N0ID0gMDsKIAogI2lmIEVOQUJM
RShKU0NfWk9NQklFUykKQEAgLTQxMywxNiArNDEzLDE2IEBAIHZvaWQgSGVhcDo6Y29sbGVjdChT
d2VlcFRvZ2dsZSBzd2VlcFRvZ2cKICNlbmRpZgogCiAgICAgaWYgKHN3ZWVwVG9nZ2xlID09IERv
U3dlZXApIHsKLSAgICAgICAgbV9tYXJrZWRTcGFjZS5zd2VlcCgpOwotICAgICAgICBtX21hcmtl
ZFNwYWNlLnNocmluaygpOworICAgICAgICBtX25ld1NwYWNlLnN3ZWVwKCk7CisgICAgICAgIG1f
bmV3U3BhY2Uuc2hyaW5rKCk7CiAgICAgfQogCiAgICAgLy8gVG8gYXZvaWQgcGF0aG9sb2dpY2Fs
IEdDIGNodXJuIGluIGxhcmdlIGhlYXBzLCB3ZSBzZXQgdGhlIGFsbG9jYXRpb24gaGlnaAogICAg
IC8vIHdhdGVyIG1hcmsgdG8gYmUgcHJvcG9ydGlvbmFsIHRvIHRoZSBjdXJyZW50IHNpemUgb2Yg
dGhlIGhlYXAuIFRoZSBleGFjdAogICAgIC8vIHByb3BvcnRpb24gaXMgYSBiaXQgYXJiaXRyYXJ5
LiBBIDJYIG11bHRpcGxpZXIgZ2l2ZXMgYSAxOjEgKGhlYXAgc2l6ZSA6CiAgICAgLy8gbmV3IGJ5
dGVzIGFsbG9jYXRlZCkgcHJvcG9ydGlvbiwgYW5kIHNlZW1zIHRvIHdvcmsgd2VsbCBpbiBiZW5j
aG1hcmtzLgotICAgIHNpemVfdCBwcm9wb3J0aW9uYWxCeXRlcyA9IDIgKiBtX21hcmtlZFNwYWNl
LnNpemUoKTsKLSAgICBtX21hcmtlZFNwYWNlLnNldEhpZ2hXYXRlck1hcmsobWF4KHByb3BvcnRp
b25hbEJ5dGVzLCBtaW5CeXRlc1BlckN5Y2xlKSk7CisgICAgc2l6ZV90IHByb3BvcnRpb25hbEJ5
dGVzID0gMiAqIG1fbmV3U3BhY2Uuc2l6ZSgpOworICAgIG1fbmV3U3BhY2Uuc2V0SGlnaFdhdGVy
TWFyayhtYXgocHJvcG9ydGlvbmFsQnl0ZXMsIG1pbkJ5dGVzUGVyQ3ljbGUpKTsKIAogICAgIEpB
VkFTQ1JJUFRDT1JFX0dDX0VORCgpOwogCkBAIC00NDQsNyArNDQ0LDcgQEAgYm9vbCBIZWFwOjpp
c1ZhbGlkQWxsb2NhdGlvbihzaXplX3QgYnl0ZQogICAgIGlmICghaXNWYWxpZFRocmVhZFN0YXRl
KG1fZ2xvYmFsRGF0YSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChieXRlcyA+
IE1hcmtlZFNwYWNlOjptYXhDZWxsU2l6ZSkKKyAgICBpZiAoYnl0ZXMgPiBOZXdTcGFjZTo6bWF4
Q2VsbFNpemUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChtX29wZXJhdGlvbklu
UHJvZ3Jlc3MgIT0gTm9PcGVyYXRpb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5o
CShyZXZpc2lvbiA4ODM2OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAko
d29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
dm9pZCBkZXN0cm95KCk7IC8vIEpTR2xvYmFsRGF0YSBtdXN0IGNhbGwgZGVzdHJveSgpIGJlZm9y
ZSB+SGVhcCgpLgogCiAgICAgICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSgpIGNvbnN0IHsg
cmV0dXJuIG1fZ2xvYmFsRGF0YTsgfQotICAgICAgICBNYXJrZWRTcGFjZSYgbWFya2VkU3BhY2Uo
KSB7IHJldHVybiBtX21hcmtlZFNwYWNlOyB9CisgICAgICAgIE5ld1NwYWNlJiBtYXJrZWRTcGFj
ZSgpIHsgcmV0dXJuIG1fbmV3U3BhY2U7IH0KICAgICAgICAgTWFjaGluZVRocmVhZHMmIG1hY2hp
bmVUaHJlYWRzKCkgeyByZXR1cm4gbV9tYWNoaW5lVGhyZWFkczsgfQogCiAgICAgICAgIEdDQWN0
aXZpdHlDYWxsYmFjayogYWN0aXZpdHlDYWxsYmFjaygpOwpAQCAtODEsNyArODEsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgaW5saW5lIGJvb2wgaXNCdXN5KCk7CiAKICAgICAgICAgdm9p
ZCogYWxsb2NhdGUoc2l6ZV90KTsKLSAgICAgICAgdm9pZCogYWxsb2NhdGUoTWFya2VkU3BhY2U6
OlNpemVDbGFzcyYpOworICAgICAgICB2b2lkKiBhbGxvY2F0ZShOZXdTcGFjZTo6U2l6ZUNsYXNz
Jik7CiAgICAgICAgIHZvaWQgY29sbGVjdEFsbEdhcmJhZ2UoKTsKIAogICAgICAgICB2b2lkIHJl
cG9ydEV4dHJhTWVtb3J5Q29zdChzaXplX3QgY29zdCk7CkBAIC0xMzAsNyArMTMwLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVyRmlsZSYgcmVnaXN0ZXJGaWxlKCk7CiAKICAg
ICAgICAgT3BlcmF0aW9uSW5Qcm9ncmVzcyBtX29wZXJhdGlvbkluUHJvZ3Jlc3M7Ci0gICAgICAg
IE1hcmtlZFNwYWNlIG1fbWFya2VkU3BhY2U7CisgICAgICAgIE5ld1NwYWNlIG1fbmV3U3BhY2U7
CiAKICAgICAgICAgUHJvdGVjdENvdW50U2V0IG1fcHJvdGVjdGVkVmFsdWVzOwogICAgICAgICBW
ZWN0b3I8VmVjdG9yPFZhbHVlU3RyaW5nUGFpcj4qID4gbV90ZW1wU29ydGluZ1ZlY3RvcnM7CkBA
IC0xOTYsNyArMTk2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBpbmxpbmUgYm9vbCBIZWFw
Ojpjb250YWlucyh2b2lkKiBwKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbWFya2VkU3BhY2Uu
Y29udGFpbnMocCk7CisgICAgICAgIHJldHVybiBtX25ld1NwYWNlLmNvbnRhaW5zKHApOwogICAg
IH0KIAogICAgIGlubGluZSB2b2lkIEhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5Q29zdChzaXplX3Qg
Y29zdCkKQEAgLTIwNywxMyArMjA3LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIEZ1bmN0b3I+IGlubGluZSB2b2lkIEhlYXA6OmZvckVhY2goRnVuY3RvciYg
ZnVuY3RvcikKICAgICB7Ci0gICAgICAgIG1fbWFya2VkU3BhY2UuZm9yRWFjaChmdW5jdG9yKTsK
KyAgICAgICAgbV9uZXdTcGFjZS5mb3JFYWNoKGZ1bmN0b3IpOwogICAgIH0KIAogICAgIGlubGlu
ZSB2b2lkKiBIZWFwOjphbGxvY2F0ZShzaXplX3QgYnl0ZXMpCiAgICAgewogICAgICAgICBBU1NF
UlQoaXNWYWxpZEFsbG9jYXRpb24oYnl0ZXMpKTsKLSAgICAgICAgTWFya2VkU3BhY2U6OlNpemVD
bGFzcyYgc2l6ZUNsYXNzID0gbV9tYXJrZWRTcGFjZS5zaXplQ2xhc3NGb3IoYnl0ZXMpOworICAg
ICAgICBOZXdTcGFjZTo6U2l6ZUNsYXNzJiBzaXplQ2xhc3MgPSBtX25ld1NwYWNlLnNpemVDbGFz
c0ZvcihieXRlcyk7CiAgICAgICAgIHJldHVybiBhbGxvY2F0ZShzaXplQ2xhc3MpOwogICAgIH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTmV3U3BhY2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL05ld1NwYWNlLmNwcAkocmV2aXNpb24g
ODgzNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9OZXdTcGFjZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFN0cnVj
dHVyZTsKIAotTWFya2VkU3BhY2U6Ok1hcmtlZFNwYWNlKEhlYXAqIGhlYXApCitOZXdTcGFjZTo6
TmV3U3BhY2UoSGVhcCogaGVhcCkKICAgICA6IG1fd2F0ZXJNYXJrKDApCiAgICAgLCBtX2hpZ2hX
YXRlck1hcmsoMCkKICAgICAsIG1faGVhcChoZWFwKQpAQCAtNDMsNyArNDMsNyBAQCBNYXJrZWRT
cGFjZTo6TWFya2VkU3BhY2UoSGVhcCogaGVhcCkKICAgICAgICAgc2l6ZUNsYXNzRm9yKGNlbGxT
aXplKS5jZWxsU2l6ZSA9IGNlbGxTaXplOwogfQogCi12b2lkIE1hcmtlZFNwYWNlOjpkZXN0cm95
KCkKK3ZvaWQgTmV3U3BhY2U6OmRlc3Ryb3koKQogewogICAgIC8qIEtlZXAgb3VyIHByZWNpb3Vz
IHpvbWJpZXMhICovCiAjaWYgIUVOQUJMRShKU0NfWk9NQklFUykKQEAgLTUzLDcgKzUzLDcgQEAg
dm9pZCBNYXJrZWRTcGFjZTo6ZGVzdHJveSgpCiAjZW5kaWYKIH0KIAotTWFya2VkQmxvY2sqIE1h
cmtlZFNwYWNlOjphbGxvY2F0ZUJsb2NrKFNpemVDbGFzcyYgc2l6ZUNsYXNzKQorTWFya2VkQmxv
Y2sqIE5ld1NwYWNlOjphbGxvY2F0ZUJsb2NrKFNpemVDbGFzcyYgc2l6ZUNsYXNzKQogewogICAg
IE1hcmtlZEJsb2NrKiBibG9jayA9IE1hcmtlZEJsb2NrOjpjcmVhdGUobV9oZWFwLCBzaXplQ2xh
c3MuY2VsbFNpemUpOwogICAgIHNpemVDbGFzcy5ibG9ja0xpc3QuYXBwZW5kKGJsb2NrKTsKQEAg
LTYzLDcgKzYzLDcgQEAgTWFya2VkQmxvY2sqIE1hcmtlZFNwYWNlOjphbGxvY2F0ZUJsb2NrKAog
ICAgIHJldHVybiBibG9jazsKIH0KIAotdm9pZCBNYXJrZWRTcGFjZTo6ZnJlZUJsb2NrcyhEb3Vi
bHlMaW5rZWRMaXN0PE1hcmtlZEJsb2NrPiYgYmxvY2tzKQordm9pZCBOZXdTcGFjZTo6ZnJlZUJs
b2NrcyhEb3VibHlMaW5rZWRMaXN0PE1hcmtlZEJsb2NrPiYgYmxvY2tzKQogewogICAgIE1hcmtl
ZEJsb2NrKiBuZXh0OwogICAgIGZvciAoTWFya2VkQmxvY2sqIGJsb2NrID0gYmxvY2tzLmhlYWQo
KTsgYmxvY2s7IGJsb2NrID0gbmV4dCkgewpAQCAtNzUsNyArNzUsNyBAQCB2b2lkIE1hcmtlZFNw
YWNlOjpmcmVlQmxvY2tzKERvdWJseUxpbmtlCiAgICAgfQogfQogCi12b2lkIE1hcmtlZFNwYWNl
OjpzaHJpbmsoKQordm9pZCBOZXdTcGFjZTo6c2hyaW5rKCkKIHsKICAgICAvLyBXZSByZWNvcmQg
YSB0ZW1wb3JhcnkgbGlzdCBvZiBlbXB0aWVzIHRvIGF2b2lkIG1vZGlmeWluZyBtX2Jsb2NrcyB3
aGlsZSBpdGVyYXRpbmcgaXQuCiAgICAgRG91Ymx5TGlua2VkTGlzdDxNYXJrZWRCbG9jaz4gZW1w
dGllczsKQEAgLTk1LDIxICs5NSwyMSBAQCB2b2lkIE1hcmtlZFNwYWNlOjpzaHJpbmsoKQogICAg
IEFTU0VSVChlbXB0aWVzLmlzRW1wdHkoKSk7CiB9CiAKLXZvaWQgTWFya2VkU3BhY2U6OmNsZWFy
TWFya3MoKQordm9pZCBOZXdTcGFjZTo6Y2xlYXJNYXJrcygpCiB7CiAgICAgQmxvY2tJdGVyYXRv
ciBlbmQgPSBtX2Jsb2Nrcy5lbmQoKTsKICAgICBmb3IgKEJsb2NrSXRlcmF0b3IgaXQgPSBtX2Js
b2Nrcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICgqaXQpLT5jbGVhck1hcmtz
KCk7CiB9CiAKLXZvaWQgTWFya2VkU3BhY2U6OnN3ZWVwKCkKK3ZvaWQgTmV3U3BhY2U6OnN3ZWVw
KCkKIHsKICAgICBCbG9ja0l0ZXJhdG9yIGVuZCA9IG1fYmxvY2tzLmVuZCgpOwogICAgIGZvciAo
QmxvY2tJdGVyYXRvciBpdCA9IG1fYmxvY2tzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKICAg
ICAgICAgKCppdCktPnN3ZWVwKCk7CiB9CiAKLXNpemVfdCBNYXJrZWRTcGFjZTo6b2JqZWN0Q291
bnQoKSBjb25zdAorc2l6ZV90IE5ld1NwYWNlOjpvYmplY3RDb3VudCgpIGNvbnN0CiB7CiAgICAg
c2l6ZV90IHJlc3VsdCA9IDA7CiAgICAgQmxvY2tJdGVyYXRvciBlbmQgPSBtX2Jsb2Nrcy5lbmQo
KTsKQEAgLTExOCw3ICsxMTgsNyBAQCBzaXplX3QgTWFya2VkU3BhY2U6Om9iamVjdENvdW50KCkg
Y29uc3QKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1zaXplX3QgTWFya2VkU3BhY2U6OnNpemUo
KSBjb25zdAorc2l6ZV90IE5ld1NwYWNlOjpzaXplKCkgY29uc3QKIHsKICAgICBzaXplX3QgcmVz
dWx0ID0gMDsKICAgICBCbG9ja0l0ZXJhdG9yIGVuZCA9IG1fYmxvY2tzLmVuZCgpOwpAQCAtMTI3
LDcgKzEyNyw3IEBAIHNpemVfdCBNYXJrZWRTcGFjZTo6c2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIAotc2l6ZV90IE1hcmtlZFNwYWNlOjpjYXBhY2l0eSgpIGNvbnN0CitzaXpl
X3QgTmV3U3BhY2U6OmNhcGFjaXR5KCkgY29uc3QKIHsKICAgICBzaXplX3QgcmVzdWx0ID0gMDsK
ICAgICBCbG9ja0l0ZXJhdG9yIGVuZCA9IG1fYmxvY2tzLmVuZCgpOwpAQCAtMTM2LDcgKzEzNiw3
IEBAIHNpemVfdCBNYXJrZWRTcGFjZTo6Y2FwYWNpdHkoKSBjb25zdAogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLXZvaWQgTWFya2VkU3BhY2U6OnJlc2V0QWxsb2NhdG9yKCkKK3ZvaWQgTmV3U3Bh
Y2U6OnJlc2V0QWxsb2NhdG9yKCkKIHsKICAgICBtX3dhdGVyTWFyayA9IDA7CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL05ld1NwYWNlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvTmV3U3BhY2UuaAkocmV2aXNpb24gODgzNjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9OZXdTcGFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3
ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCi0jZGVmaW5lIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoY2xhc3MpIENPTVBJ
TEVfQVNTRVJUKHNpemVvZihjbGFzcykgPCBNYXJrZWRTcGFjZTo6bWF4Q2VsbFNpemUsIGNsYXNz
X2ZpdHNfaW5fY2VsbCkKKyNkZWZpbmUgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChjbGFzcykg
Q09NUElMRV9BU1NFUlQoc2l6ZW9mKGNsYXNzKSA8IE5ld1NwYWNlOjptYXhDZWxsU2l6ZSwgY2xh
c3NfZml0c19pbl9jZWxsKQogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDMsOCArNDMsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBXZWFrR0NIYW5kbGU7CiAgICAgdHlwZWRlZiBNYXJr
U3RhY2sgU2xvdFZpc2l0b3I7CiAKLSAgICBjbGFzcyBNYXJrZWRTcGFjZSB7Ci0gICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZFNwYWNlKTsKKyAgICBjbGFzcyBOZXdTcGFjZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5ld1NwYWNlKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2VsbFNpemUgPSAxMDI0OwogCkBAIC01Nyw3ICs1
Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgc2l6ZV90IGNlbGxTaXplOwogICAg
ICAgICB9OwogCi0gICAgICAgIE1hcmtlZFNwYWNlKEhlYXAqKTsKKyAgICAgICAgTmV3U3BhY2Uo
SGVhcCopOwogICAgICAgICB2b2lkIGRlc3Ryb3koKTsKIAogICAgICAgICBzaXplX3QgaGlnaFdh
dGVyTWFyaygpOwpAQCAtMTA2LDcgKzEwNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBI
ZWFwKiBtX2hlYXA7CiAgICAgfTsKIAotICAgIGlubGluZSBib29sIE1hcmtlZFNwYWNlOjpjb250
YWlucyhjb25zdCB2b2lkKiB4KQorICAgIGlubGluZSBib29sIE5ld1NwYWNlOjpjb250YWlucyhj
b25zdCB2b2lkKiB4KQogICAgIHsKICAgICAgICAgaWYgKCFNYXJrZWRCbG9jazo6aXNBdG9tQWxp
Z25lZCh4KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTExOCwyNCArMTE4LDI0IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgRnVuY3Rvcj4gaW5saW5lIHZvaWQgTWFya2VkU3BhY2U6OmZvckVhY2go
RnVuY3RvciYgZnVuY3RvcikKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRnVuY3Rvcj4gaW5saW5l
IHZvaWQgTmV3U3BhY2U6OmZvckVhY2goRnVuY3RvciYgZnVuY3RvcikKICAgICB7CiAgICAgICAg
IEJsb2NrSXRlcmF0b3IgZW5kID0gbV9ibG9ja3MuZW5kKCk7CiAgICAgICAgIGZvciAoQmxvY2tJ
dGVyYXRvciBpdCA9IG1fYmxvY2tzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKICAgICAgICAg
ICAgICgqaXQpLT5mb3JFYWNoKGZ1bmN0b3IpOwogICAgIH0KIAotICAgIGlubGluZSBzaXplX3Qg
TWFya2VkU3BhY2U6OmhpZ2hXYXRlck1hcmsoKQorICAgIGlubGluZSBzaXplX3QgTmV3U3BhY2U6
OmhpZ2hXYXRlck1hcmsoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1faGlnaFdhdGVyTWFyazsK
ICAgICB9CiAKLSAgICBpbmxpbmUgdm9pZCBNYXJrZWRTcGFjZTo6c2V0SGlnaFdhdGVyTWFyayhz
aXplX3QgaGlnaFdhdGVyTWFyaykKKyAgICBpbmxpbmUgdm9pZCBOZXdTcGFjZTo6c2V0SGlnaFdh
dGVyTWFyayhzaXplX3QgaGlnaFdhdGVyTWFyaykKICAgICB7CiAgICAgICAgIG1faGlnaFdhdGVy
TWFyayA9IGhpZ2hXYXRlck1hcms7CiAgICAgfQogCi0gICAgaW5saW5lIE1hcmtlZFNwYWNlOjpT
aXplQ2xhc3MmIE1hcmtlZFNwYWNlOjpzaXplQ2xhc3NGb3Ioc2l6ZV90IGJ5dGVzKQorICAgIGlu
bGluZSBOZXdTcGFjZTo6U2l6ZUNsYXNzJiBOZXdTcGFjZTo6c2l6ZUNsYXNzRm9yKHNpemVfdCBi
eXRlcykKICAgICB7CiAgICAgICAgIEFTU0VSVChieXRlcyAmJiBieXRlcyA8IG1heENlbGxTaXpl
KTsKICAgICAgICAgaWYgKGJ5dGVzIDwgcHJlY2lzZUN1dG9mZikKQEAgLTE0Myw3ICsxNDMsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIG1faW1wcmVjaXNlU2l6ZUNsYXNzZXNb
KGJ5dGVzIC0gMSkgLyBpbXByZWNpc2VTdGVwXTsKICAgICB9CiAKLSAgICBpbmxpbmUgdm9pZCog
TWFya2VkU3BhY2U6OmFsbG9jYXRlKFNpemVDbGFzcyYgc2l6ZUNsYXNzKQorICAgIGlubGluZSB2
b2lkKiBOZXdTcGFjZTo6YWxsb2NhdGUoU2l6ZUNsYXNzJiBzaXplQ2xhc3MpCiAgICAgewogICAg
ICAgICBmb3IgKE1hcmtlZEJsb2NrKiYgYmxvY2sgPSBzaXplQ2xhc3MubmV4dEJsb2NrIDsgYmxv
Y2s7IGJsb2NrID0gYmxvY2stPm5leHQoKSkgewogICAgICAgICAgICAgaWYgKHZvaWQqIHJlc3Vs
dCA9IGJsb2NrLT5hbGxvY2F0ZSgpKQpAQCAtMTU4LDEzICsxNTgsMTMgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlubGluZSBNYXJrZWRTcGFjZTo6
U2l6ZUNsYXNzOjpTaXplQ2xhc3MoKQorICAgIGlubGluZSBOZXdTcGFjZTo6U2l6ZUNsYXNzOjpT
aXplQ2xhc3MoKQogICAgICAgICA6IG5leHRCbG9jaygwKQogICAgICAgICAsIGNlbGxTaXplKDAp
CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSB2b2lkIE1hcmtlZFNwYWNlOjpTaXplQ2xhc3M6
OnJlc2V0QWxsb2NhdG9yKCkKKyAgICBpbmxpbmUgdm9pZCBOZXdTcGFjZTo6U2l6ZUNsYXNzOjpy
ZXNldEFsbG9jYXRvcigpCiAgICAgewogICAgICAgICBuZXh0QmxvY2sgPSBibG9ja0xpc3QuaGVh
ZCgpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCShy
ZXZpc2lvbiA4ODM2OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBmcmllbmQgY2xhc3MgSlNBUElWYWx1ZVdyYXBwZXI7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBK
U1pvbWJpZTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpTR2xvYmFsRGF0YTsKLSAgICAgICAgZnJp
ZW5kIGNsYXNzIE1hcmtlZFNwYWNlOworICAgICAgICBmcmllbmQgY2xhc3MgTmV3U3BhY2U7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBNYXJrZWRCbG9jazsKICAgICAgICAgZnJpZW5kIGNsYXNzIFNj
b3BlQ2hhaW5Ob2RlOwogICAgICAgICBmcmllbmQgY2xhc3MgU3RydWN0dXJlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96465</attachid>
            <date>2011-06-08 13:01:27 -0700</date>
            <delta_ts>2011-06-08 13:08:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62305-20110608130114.patch</filename>
            <type>text/plain</type>
            <size>18386</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODgzNjkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTAtMDYtMDggIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIG1vcmUgTWFya2Vk
U3BhY2UgPT4gTmV3U3BhY2UgcmVuYW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYyMzA1CisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUub3JkZXI6CisgICAgICAgICogSmF2YVNjcmlwdENv
cmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBo
ZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpIZWFwKToKKyAgICAgICAgKEpTQzo6
SGVhcDo6ZGVzdHJveSk6CisgICAgICAgIChKU0M6OkhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5Q29z
dFNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6SGVhcDo6YWxsb2NhdGUpOgorICAgICAgICAoSlND
OjpIZWFwOjptYXJrUm9vdHMpOgorICAgICAgICAoSlNDOjpIZWFwOjpvYmplY3RDb3VudCk6Cisg
ICAgICAgIChKU0M6OkhlYXA6OnNpemUpOgorICAgICAgICAoSlNDOjpIZWFwOjpjYXBhY2l0eSk6
CisgICAgICAgIChKU0M6OkhlYXA6OmNvbGxlY3QpOgorICAgICAgICAoSlNDOjpIZWFwOjppc1Zh
bGlkQWxsb2NhdGlvbik6CisgICAgICAgICogaGVhcC9IZWFwLmg6CisgICAgICAgIChKU0M6Okhl
YXA6Om1hcmtlZFNwYWNlKToKKyAgICAgICAgKEpTQzo6SGVhcDo6Y29udGFpbnMpOgorICAgICAg
ICAoSlNDOjpIZWFwOjpmb3JFYWNoKToKKyAgICAgICAgKEpTQzo6SGVhcDo6YWxsb2NhdGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisKIDIwMTEtMDYtMDggIEdlb2ZmcmV5IEdhcmVu
ICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAkocmV2aXNpb24g
ODgzNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMzMsNyArMjMzLDcgQEAgX19aTjNKU0M0SGVhcDI2cHJvdGVjdGVkR2xv
YmFsT2JqZWN0Q291bgogX19aTjNKU0M0SGVhcDI5cmVwb3J0RXh0cmFNZW1vcnlDb3N0U2xvd0Nh
c2VFbQogX19aTjNKU0M0SGVhcDdkZXN0cm95RXYKIF9fWk4zSlNDNEhlYXA3cHJvdGVjdEVOU183
SlNWYWx1ZUUKLV9fWk4zSlNDNEhlYXA4YWxsb2NhdGVFUk5TXzExTWFya2VkU3BhY2U5U2l6ZUNs
YXNzRQorX19aTjNKU0M0SGVhcDhhbGxvY2F0ZUVSTlNfOE5ld1NwYWNlOVNpemVDbGFzc0UKIF9f
Wk4zSlNDNEhlYXA5dW5wcm90ZWN0RU5TXzdKU1ZhbHVlRQogX19aTjNKU0M0WWFycjExWWFyclBh
dHRlcm5DMUVSS05TXzdVU3RyaW5nRWJiUFBLYwogX19aTjNKU0M0WWFycjExYnl0ZUNvbXBpbGVF
Uk5TMF8xMVlhcnJQYXR0ZXJuRVBOM1dURjIwQnVtcFBvaW50ZXJBbGxvY2F0b3JFCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCShyZXZpc2lvbiA4ODM2
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5vcmRlcgkod29ya2lu
ZyBjb3B5KQpAQCAtMTYwLDcgKzE2MCw2IEBAIF9fWk4zSlNDMTFQYXJzZXJBcmVuYUMyRXYKIF9f
Wk4zSlNDMTRUaW1lb3V0Q2hlY2tlckMxRXYKIF9fWk4zSlNDNEhlYXBDMUVQTlNfMTJKU0dsb2Jh
bERhdGFFCiBfX1pOM0pTQzRIZWFwQzJFUE5TXzEySlNHbG9iYWxEYXRhRQotX19aTjNKU0MxMU1h
cmtlZFNwYWNlQzFFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MyNURlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2tDMUVQTlNfNEhlYXBFCiBfX1pOM0pTQzI1RGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazE3Y29tbW9uQ29uc3RydWN0b3JFUE5TXzRIZWFwRVAxMV9fQ0ZSdW5Mb29wCiBfX1pOM0pT
QzE0TWFjaGluZVRocmVhZHNDMUVQTlNfNEhlYXBFCkBAIC0xNzcsOCArMTc2LDYgQEAgX19aTjNK
U0MxMVJlZ0V4cENhY2hlQzFFUE5TXzEySlNHbG9iYWxEYQogX19aTjNKU0MxMUludGVycHJldGVy
QzFFUk5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMEhhbmRsZUhlYXAxMndyaXRlQmFycmll
ckVQTlNfN0pTVmFsdWVFUktTMV8KIF9fWk4zSlNDMTJSZWdpc3RlckZpbGUyM2FkZFRvQ29tbWl0
dGVkQnl0ZUNvdW50RWwKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTIxYWxsb2NhdGVGcm9tU2l6ZUNs
YXNzRVJOUzBfOVNpemVDbGFzc0UKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTEzYWxsb2NhdGVCbG9j
a0VSTlMwXzlTaXplQ2xhc3NFCiBfX1pOM0pTQzExTWFya2VkQmxvY2s2Y3JlYXRlRVBOU18xMkpT
R2xvYmFsRGF0YUVtCiBfX1pOM1dURjIxUGFnZUFsbG9jYXRpb25BbGlnbmVkOGFsbG9jYXRlRW1t
TlNfMTFPU0FsbG9jYXRvcjVVc2FnZUViYgogX19aTjNXVEY5SGFzaFRhYmxlSVBOM0pTQzExTWFy
a2VkQmxvY2tFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5TXzdQdHJIYXNoSVMzX0VF
TlNfMTBIYXNoVHJhaXRzSVMzX0VFUzlfRTZyZWhhc2hFaQpAQCAtMzk1LDcgKzM5Miw2IEBAIF9f
Wk4zSlNDMTRNYWNoaW5lVGhyZWFkczIzZ2F0aGVyQ29uc2VydmEKIF9fWk4zSlNDMTRNYWNoaW5l
VGhyZWFkczIzZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWRFUk5TXzE3Q29uc2VydmF0aXZlUm9vdHNF
UHYKIF9fWk4zSlNDMTdDb25zZXJ2YXRpdmVSb290czNhZGRFUHZTMV8KIF9fWk4zSlNDMTJSZWdp
c3RlckZpbGUyM2dhdGhlckNvbnNlcnZhdGl2ZVJvb3RzRVJOU18xN0NvbnNlcnZhdGl2ZVJvb3Rz
RQotX19aTjNKU0MxMU1hcmtlZFNwYWNlMTBjbGVhck1hcmtzRXYKIF9fWk4zSlNDOU1hcmtTdGFj
azZhcHBlbmRFUk5TXzE3Q29uc2VydmF0aXZlUm9vdHNFCiBfX1pOM0pTQzlNYXJrU3RhY2s1ZHJh
aW5FdgogX19aTjNKU0M0SGVhcDIwbWFya1Byb3RlY3RlZE9iamVjdHNFUk5TXzE1SGVhcFJvb3RW
aXNpdG9yRQpAQCAtNDA4LDggKzQwNCw2IEBAIF9fWk4zSlNDMTJTbWFsbFN0cmluZ3MxM3Zpc2l0
Q2hpbGRyZW5FUk4KIF9fWk4zSlNDMTBIYW5kbGVIZWFwMTVtYXJrV2Vha0hhbmRsZXNFUk5TXzE1
SGVhcFJvb3RWaXNpdG9yRQogX19aTjNKU0M5TWFya1N0YWNrNXJlc2V0RXYKIF9fWk4zSlNDMTBI
YW5kbGVIZWFwMTlmaW5hbGl6ZVdlYWtIYW5kbGVzRXYKLV9fWk4zSlNDMTFNYXJrZWRTcGFjZTVy
ZXNldEV2Ci1fX1pOM0pTQzExTWFya2VkU3BhY2U1c3dlZXBFdgogX19aTjNKU0MxMU1hcmtlZEJs
b2NrNXN3ZWVwRXYKIF9fWk4zSlNDOVN0cnVjdHVyZUQxRXYKIF9fWk4zSlNDOEpTU3RyaW5nRDFF
dgpAQCAtNDQ3LDExICs0NDEsOCBAQCBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3REMUV2CiBfX1pO
M0pTQzE0SlNHbG9iYWxPYmplY3REMkV2CiBfX1pOM1dURjlIYXNoVGFibGVJTlNfNlJlZlB0ckky
MU9wYXF1ZUpTV2Vha09iamVjdE1hcEVFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5T
XzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFUzlfRTE1ZGVhbGxvY2F0ZVRhYmxl
RVBTM19pCiBfX1pOM1dURjlIYXNoVGFibGVJTlNfNlJlZlB0ckkyMU9wYXF1ZUpTV2Vha09iamVj
dE1hcEVFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTM19FRU5TXzdQdHJIYXNoSVMzX0VFTlNf
MTBIYXNoVHJhaXRzSVMzX0VFUzlfRTZyZWhhc2hFaQotX19aTjNKU0MxMU1hcmtlZFNwYWNlNnNo
cmlua0V2Ci1fX1pOM0pTQzExTWFya2VkU3BhY2UxMGZyZWVCbG9ja3NFUk4zV1RGMTZEb3VibHlM
aW5rZWRMaXN0SU5TXzExTWFya2VkQmxvY2tFRUUKIF9fWk4zSlNDMTFNYXJrZWRCbG9jazdkZXN0
cm95RVBTMF8KIF9fWk4zV1RGMjFQYWdlQWxsb2NhdGlvbkFsaWduZWQxMGRlYWxsb2NhdGVFdgot
X19aTkszSlNDMTFNYXJrZWRTcGFjZTRzaXplRXYKIF9fWjIyVENNYWxsb2NfU3lzdGVtUmVsZWFz
ZVB2bQogX19aMjFUQ01hbGxvY19TeXN0ZW1Db21taXRQdm0KIF9fWk4zV1RGTDEwdGltZXJGaXJl
ZEVQMTZfX0NGUnVuTG9vcFRpbWVyUHYKQEAgLTE0NzEsNyArMTQ2Miw2IEBAIF9fWk4zSlNDMTJK
U0dsb2JhbERhdGExOGNyZWF0ZUNvbnRleHRHcm8KIF9fWk4zSlNDMTJKU0dsb2JhbERhdGEyMmNs
ZWFyQnVpbHRpblN0cnVjdHVyZXNFdgogX19aTjNKU0M0SGVhcDdkZXN0cm95RXYKIF9fWk4zSlND
OUpJVFRodW5rczIyY2xlYXJIb3N0RnVuY3Rpb25TdHVic0V2Ci1fX1pOM0pTQzExTWFya2VkU3Bh
Y2U3ZGVzdHJveUV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhRDFFdgogX19aTjNKU0MxMkpTR2xv
YmFsRGF0YUQyRXYKIF9fWk4zSlNDMTJSZWdpc3RlckZpbGVEMUV2CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmRlZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgkocmV2aXNpb24g
ODgzNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgkod29ya2luZyBjb3B5KQpAQCAtNTYsOCAr
NTYsOCBAQCBFWFBPUlRTCiAgICAgP2FkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb25AU3RydWN0
dXJlQEpTQ0BAUUFFSUFBVkpTR2xvYmFsRGF0YUAyQEFCVklkZW50aWZpZXJAMkBJUEFWSlNDZWxs
QDJAQFoKICAgICA/YWRkU2xvd0Nhc2VASWRlbnRpZmllckBKU0NAQENBP0FWPyRQYXNzUmVmUHRy
QFZTdHJpbmdJbXBsQFdURkBAQFdURkBAUEFWRXhlY1N0YXRlQDJAUEFWU3RyaW5nSW1wbEA0QEBa
CiAgICAgP2FkZFN0YXRpY0dsb2JhbHNASlNHbG9iYWxPYmplY3RASlNDQEBJQUVYUEFVR2xvYmFs
UHJvcGVydHlJbmZvQDEyQEhAWgotICAgID9hbGxvY2F0ZUBIZWFwQEpTQ0BAUUFFUEFYQUFVU2l6
ZUNsYXNzQE1hcmtlZFNwYWNlQDJAQFoKICAgICA/YWxsb2NhdGVASGVhcEBKU0NAQFFBRVBBWElA
WgorCT9hbGxvY2F0ZUBIZWFwQEpTQ0BAUUFFUEFYQUFVU2l6ZUNsYXNzQE5ld1NwYWNlQDJAQFoK
ICAgICA/YWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2VASlNPYmplY3RASlNDQEBRQUVYSUlAWgogICAg
ID9hcHBlbmRAU3RyaW5nQnVpbGRlckBXVEZAQFFBRVhQQkRJQFoKICAgICA/YXBwZW5kQFN0cmlu
Z0J1aWxkZXJAV1RGQEBRQUVYUEJfV0lAWgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cC5jcHAJKHJldmlzaW9uIDg4MzY5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDcgQEAgc3RhdGljIGlubGluZSBib29s
IGlzVmFsaWRUaHJlYWRTdGF0ZShKUwogCiBIZWFwOjpIZWFwKEpTR2xvYmFsRGF0YSogZ2xvYmFs
RGF0YSkKICAgICA6IG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyhOb09wZXJhdGlvbikKLSAgICAsIG1f
bWFya2VkU3BhY2UodGhpcykKKyAgICAsIG1fbmV3U3BhY2UodGhpcykKICAgICAsIG1fbWFya0xp
c3RTZXQoMCkKICAgICAsIG1fYWN0aXZpdHlDYWxsYmFjayhEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX2dsb2JhbERhdGEoZ2xvYmFsRGF0YSkKQEAgLTc0
LDcgKzc0LDcgQEAgSGVhcDo6SGVhcChKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEpCiAgICAgLCBt
X2hhbmRsZUhlYXAoZ2xvYmFsRGF0YSkKICAgICAsIG1fZXh0cmFDb3N0KDApCiB7Ci0gICAgbV9t
YXJrZWRTcGFjZS5zZXRIaWdoV2F0ZXJNYXJrKG1pbkJ5dGVzUGVyQ3ljbGUpOworICAgIG1fbmV3
U3BhY2Uuc2V0SGlnaFdhdGVyTWFyayhtaW5CeXRlc1BlckN5Y2xlKTsKICAgICAoKm1fYWN0aXZp
dHlDYWxsYmFjaykoKTsKIH0KIApAQCAtMTA0LDEwICsxMDQsMTAgQEAgdm9pZCBIZWFwOjpkZXN0
cm95KCkKIAogICAgIGRlbGV0ZSBtX21hcmtMaXN0U2V0OwogICAgIG1fbWFya0xpc3RTZXQgPSAw
OwotICAgIG1fbWFya2VkU3BhY2UuY2xlYXJNYXJrcygpOworICAgIG1fbmV3U3BhY2UuY2xlYXJN
YXJrcygpOwogICAgIG1faGFuZGxlSGVhcC5maW5hbGl6ZVdlYWtIYW5kbGVzKCk7CiAgICAgbV9n
bG9iYWxEYXRhLT5zbWFsbFN0cmluZ3MuZmluYWxpemVTbWFsbFN0cmluZ3MoKTsKLSAgICBtX21h
cmtlZFNwYWNlLmRlc3Ryb3koKTsKKyAgICBtX25ld1NwYWNlLmRlc3Ryb3koKTsKIAogICAgIG1f
Z2xvYmFsRGF0YSA9IDA7CiB9CkBAIC0xMjUsMjYgKzEyNSwyNiBAQCB2b2lkIEhlYXA6OnJlcG9y
dEV4dHJhTWVtb3J5Q29zdFNsb3dDYXNlCiAgICAgLy8gaWYgYSBsYXJnZSB2YWx1ZSBzdXJ2aXZl
cyBvbmUgZ2FyYmFnZSBjb2xsZWN0aW9uLCB0aGVyZSBpcyBub3QgbXVjaCBwb2ludCB0bwogICAg
IC8vIGNvbGxlY3RpbmcgbW9yZSBmcmVxdWVudGx5IGFzIGxvbmcgYXMgaXQgc3RheXMgYWxpdmUu
CiAKLSAgICBpZiAobV9leHRyYUNvc3QgPiBtYXhFeHRyYUNvc3QgJiYgbV9leHRyYUNvc3QgPiBt
X21hcmtlZFNwYWNlLmhpZ2hXYXRlck1hcmsoKSAvIDIpCisgICAgaWYgKG1fZXh0cmFDb3N0ID4g
bWF4RXh0cmFDb3N0ICYmIG1fZXh0cmFDb3N0ID4gbV9uZXdTcGFjZS5oaWdoV2F0ZXJNYXJrKCkg
LyAyKQogICAgICAgICBjb2xsZWN0QWxsR2FyYmFnZSgpOwogICAgIG1fZXh0cmFDb3N0ICs9IGNv
c3Q7CiB9CiAKLXZvaWQqIEhlYXA6OmFsbG9jYXRlKE1hcmtlZFNwYWNlOjpTaXplQ2xhc3MmIHNp
emVDbGFzcykKK3ZvaWQqIEhlYXA6OmFsbG9jYXRlKE5ld1NwYWNlOjpTaXplQ2xhc3MmIHNpemVD
bGFzcykKIHsKICNpZiBDT0xMRUNUX09OX0VWRVJZX0FMTE9DQVRJT04KICAgICBjb2xsZWN0QWxs
R2FyYmFnZSgpOwogICAgIEFTU0VSVChtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPT0gTm9PcGVyYXRp
b24pOwogI2VuZGlmCiAKLSAgICB2b2lkKiByZXN1bHQgPSBtX21hcmtlZFNwYWNlLmFsbG9jYXRl
KHNpemVDbGFzcyk7CisgICAgdm9pZCogcmVzdWx0ID0gbV9uZXdTcGFjZS5hbGxvY2F0ZShzaXpl
Q2xhc3MpOwogICAgIGlmIChyZXN1bHQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICAgICBj
b2xsZWN0KERvTm90U3dlZXApOwogCiAgICAgbV9vcGVyYXRpb25JblByb2dyZXNzID0gQWxsb2Nh
dGlvbjsKLSAgICByZXN1bHQgPSBtX21hcmtlZFNwYWNlLmFsbG9jYXRlKHNpemVDbGFzcyk7Cisg
ICAgcmVzdWx0ID0gbV9uZXdTcGFjZS5hbGxvY2F0ZShzaXplQ2xhc3MpOwogICAgIG1fb3BlcmF0
aW9uSW5Qcm9ncmVzcyA9IE5vT3BlcmF0aW9uOwogCiAgICAgQVNTRVJUKHJlc3VsdCk7CkBAIC0y
MzIsNyArMjMyLDcgQEAgdm9pZCBIZWFwOjptYXJrUm9vdHMoKQogICAgIENvbnNlcnZhdGl2ZVJv
b3RzIHJlZ2lzdGVyRmlsZVJvb3RzKHRoaXMpOwogICAgIHJlZ2lzdGVyRmlsZSgpLmdhdGhlckNv
bnNlcnZhdGl2ZVJvb3RzKHJlZ2lzdGVyRmlsZVJvb3RzKTsKIAotICAgIG1fbWFya2VkU3BhY2Uu
Y2xlYXJNYXJrcygpOworICAgIG1fbmV3U3BhY2UuY2xlYXJNYXJrcygpOwogCiAgICAgdmlzaXRv
ci5hcHBlbmQobWFjaGluZVRocmVhZFJvb3RzKTsKICAgICB2aXNpdG9yLmRyYWluKCk7CkBAIC0y
NzUsMTcgKzI3NSwxNyBAQCB2b2lkIEhlYXA6Om1hcmtSb290cygpCiAKIHNpemVfdCBIZWFwOjpv
YmplY3RDb3VudCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbWFya2VkU3BhY2Uub2JqZWN0Q291
bnQoKTsKKyAgICByZXR1cm4gbV9uZXdTcGFjZS5vYmplY3RDb3VudCgpOwogfQogCiBzaXplX3Qg
SGVhcDo6c2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbWFya2VkU3BhY2Uuc2l6ZSgpOwor
ICAgIHJldHVybiBtX25ld1NwYWNlLnNpemUoKTsKIH0KIAogc2l6ZV90IEhlYXA6OmNhcGFjaXR5
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tYXJrZWRTcGFjZS5jYXBhY2l0eSgpOworICAgIHJl
dHVybiBtX25ld1NwYWNlLmNhcGFjaXR5KCk7CiB9CiAKIHNpemVfdCBIZWFwOjpnbG9iYWxPYmpl
Y3RDb3VudCgpCkBAIC00MDUsNyArNDA1LDcgQEAgdm9pZCBIZWFwOjpjb2xsZWN0KFN3ZWVwVG9n
Z2xlIHN3ZWVwVG9nZwogCiAgICAgSkFWQVNDUklQVENPUkVfR0NfTUFSS0VEKCk7CiAKLSAgICBt
X21hcmtlZFNwYWNlLnJlc2V0QWxsb2NhdG9yKCk7CisgICAgbV9uZXdTcGFjZS5yZXNldEFsbG9j
YXRvcigpOwogICAgIG1fZXh0cmFDb3N0ID0gMDsKIAogI2lmIEVOQUJMRShKU0NfWk9NQklFUykK
QEAgLTQxMywxNiArNDEzLDE2IEBAIHZvaWQgSGVhcDo6Y29sbGVjdChTd2VlcFRvZ2dsZSBzd2Vl
cFRvZ2cKICNlbmRpZgogCiAgICAgaWYgKHN3ZWVwVG9nZ2xlID09IERvU3dlZXApIHsKLSAgICAg
ICAgbV9tYXJrZWRTcGFjZS5zd2VlcCgpOwotICAgICAgICBtX21hcmtlZFNwYWNlLnNocmluaygp
OworICAgICAgICBtX25ld1NwYWNlLnN3ZWVwKCk7CisgICAgICAgIG1fbmV3U3BhY2Uuc2hyaW5r
KCk7CiAgICAgfQogCiAgICAgLy8gVG8gYXZvaWQgcGF0aG9sb2dpY2FsIEdDIGNodXJuIGluIGxh
cmdlIGhlYXBzLCB3ZSBzZXQgdGhlIGFsbG9jYXRpb24gaGlnaAogICAgIC8vIHdhdGVyIG1hcmsg
dG8gYmUgcHJvcG9ydGlvbmFsIHRvIHRoZSBjdXJyZW50IHNpemUgb2YgdGhlIGhlYXAuIFRoZSBl
eGFjdAogICAgIC8vIHByb3BvcnRpb24gaXMgYSBiaXQgYXJiaXRyYXJ5LiBBIDJYIG11bHRpcGxp
ZXIgZ2l2ZXMgYSAxOjEgKGhlYXAgc2l6ZSA6CiAgICAgLy8gbmV3IGJ5dGVzIGFsbG9jYXRlZCkg
cHJvcG9ydGlvbiwgYW5kIHNlZW1zIHRvIHdvcmsgd2VsbCBpbiBiZW5jaG1hcmtzLgotICAgIHNp
emVfdCBwcm9wb3J0aW9uYWxCeXRlcyA9IDIgKiBtX21hcmtlZFNwYWNlLnNpemUoKTsKLSAgICBt
X21hcmtlZFNwYWNlLnNldEhpZ2hXYXRlck1hcmsobWF4KHByb3BvcnRpb25hbEJ5dGVzLCBtaW5C
eXRlc1BlckN5Y2xlKSk7CisgICAgc2l6ZV90IHByb3BvcnRpb25hbEJ5dGVzID0gMiAqIG1fbmV3
U3BhY2Uuc2l6ZSgpOworICAgIG1fbmV3U3BhY2Uuc2V0SGlnaFdhdGVyTWFyayhtYXgocHJvcG9y
dGlvbmFsQnl0ZXMsIG1pbkJ5dGVzUGVyQ3ljbGUpKTsKIAogICAgIEpBVkFTQ1JJUFRDT1JFX0dD
X0VORCgpOwogCkBAIC00NDQsNyArNDQ0LDcgQEAgYm9vbCBIZWFwOjppc1ZhbGlkQWxsb2NhdGlv
bihzaXplX3QgYnl0ZQogICAgIGlmICghaXNWYWxpZFRocmVhZFN0YXRlKG1fZ2xvYmFsRGF0YSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChieXRlcyA+IE1hcmtlZFNwYWNlOjpt
YXhDZWxsU2l6ZSkKKyAgICBpZiAoYnl0ZXMgPiBOZXdTcGFjZTo6bWF4Q2VsbFNpemUpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChtX29wZXJhdGlvbkluUHJvZ3Jlc3MgIT0gTm9P
cGVyYXRpb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCShyZXZpc2lvbiA4ODM2
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAkod29ya2luZyBjb3B5KQpA
QCAtNzEsNyArNzEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBkZXN0cm95KCk7
IC8vIEpTR2xvYmFsRGF0YSBtdXN0IGNhbGwgZGVzdHJveSgpIGJlZm9yZSB+SGVhcCgpLgogCiAg
ICAgICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFs
RGF0YTsgfQotICAgICAgICBNYXJrZWRTcGFjZSYgbWFya2VkU3BhY2UoKSB7IHJldHVybiBtX21h
cmtlZFNwYWNlOyB9CisgICAgICAgIE5ld1NwYWNlJiBtYXJrZWRTcGFjZSgpIHsgcmV0dXJuIG1f
bmV3U3BhY2U7IH0KICAgICAgICAgTWFjaGluZVRocmVhZHMmIG1hY2hpbmVUaHJlYWRzKCkgeyBy
ZXR1cm4gbV9tYWNoaW5lVGhyZWFkczsgfQogCiAgICAgICAgIEdDQWN0aXZpdHlDYWxsYmFjayog
YWN0aXZpdHlDYWxsYmFjaygpOwpAQCAtODEsNyArODEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgaW5saW5lIGJvb2wgaXNCdXN5KCk7CiAKICAgICAgICAgdm9pZCogYWxsb2NhdGUoc2l6
ZV90KTsKLSAgICAgICAgdm9pZCogYWxsb2NhdGUoTWFya2VkU3BhY2U6OlNpemVDbGFzcyYpOwor
ICAgICAgICB2b2lkKiBhbGxvY2F0ZShOZXdTcGFjZTo6U2l6ZUNsYXNzJik7CiAgICAgICAgIHZv
aWQgY29sbGVjdEFsbEdhcmJhZ2UoKTsKIAogICAgICAgICB2b2lkIHJlcG9ydEV4dHJhTWVtb3J5
Q29zdChzaXplX3QgY29zdCk7CkBAIC0xMzAsNyArMTMwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIFJlZ2lzdGVyRmlsZSYgcmVnaXN0ZXJGaWxlKCk7CiAKICAgICAgICAgT3BlcmF0aW9u
SW5Qcm9ncmVzcyBtX29wZXJhdGlvbkluUHJvZ3Jlc3M7Ci0gICAgICAgIE1hcmtlZFNwYWNlIG1f
bWFya2VkU3BhY2U7CisgICAgICAgIE5ld1NwYWNlIG1fbmV3U3BhY2U7CiAKICAgICAgICAgUHJv
dGVjdENvdW50U2V0IG1fcHJvdGVjdGVkVmFsdWVzOwogICAgICAgICBWZWN0b3I8VmVjdG9yPFZh
bHVlU3RyaW5nUGFpcj4qID4gbV90ZW1wU29ydGluZ1ZlY3RvcnM7CkBAIC0xOTYsNyArMTk2LDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBpbmxpbmUgYm9vbCBIZWFwOjpjb250YWlucyh2b2lk
KiBwKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbWFya2VkU3BhY2UuY29udGFpbnMocCk7Cisg
ICAgICAgIHJldHVybiBtX25ld1NwYWNlLmNvbnRhaW5zKHApOwogICAgIH0KIAogICAgIGlubGlu
ZSB2b2lkIEhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5Q29zdChzaXplX3QgY29zdCkKQEAgLTIwNywx
MyArMjA3LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1
bmN0b3I+IGlubGluZSB2b2lkIEhlYXA6OmZvckVhY2goRnVuY3RvciYgZnVuY3RvcikKICAgICB7
Ci0gICAgICAgIG1fbWFya2VkU3BhY2UuZm9yRWFjaChmdW5jdG9yKTsKKyAgICAgICAgbV9uZXdT
cGFjZS5mb3JFYWNoKGZ1bmN0b3IpOwogICAgIH0KIAogICAgIGlubGluZSB2b2lkKiBIZWFwOjph
bGxvY2F0ZShzaXplX3QgYnl0ZXMpCiAgICAgewogICAgICAgICBBU1NFUlQoaXNWYWxpZEFsbG9j
YXRpb24oYnl0ZXMpKTsKLSAgICAgICAgTWFya2VkU3BhY2U6OlNpemVDbGFzcyYgc2l6ZUNsYXNz
ID0gbV9tYXJrZWRTcGFjZS5zaXplQ2xhc3NGb3IoYnl0ZXMpOworICAgICAgICBOZXdTcGFjZTo6
U2l6ZUNsYXNzJiBzaXplQ2xhc3MgPSBtX25ld1NwYWNlLnNpemVDbGFzc0ZvcihieXRlcyk7CiAg
ICAgICAgIHJldHVybiBhbGxvY2F0ZShzaXplQ2xhc3MpOwogICAgIH0KIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvTmV3U3BhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL05ld1NwYWNlLmNwcAkocmV2aXNpb24gODgzNjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9OZXdTcGFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDcgKzMxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFN0cnVjdHVyZTsKIAotTWFya2Vk
U3BhY2U6Ok1hcmtlZFNwYWNlKEhlYXAqIGhlYXApCitOZXdTcGFjZTo6TmV3U3BhY2UoSGVhcCog
aGVhcCkKICAgICA6IG1fd2F0ZXJNYXJrKDApCiAgICAgLCBtX2hpZ2hXYXRlck1hcmsoMCkKICAg
ICAsIG1faGVhcChoZWFwKQpAQCAtNDMsNyArNDMsNyBAQCBNYXJrZWRTcGFjZTo6TWFya2VkU3Bh
Y2UoSGVhcCogaGVhcCkKICAgICAgICAgc2l6ZUNsYXNzRm9yKGNlbGxTaXplKS5jZWxsU2l6ZSA9
IGNlbGxTaXplOwogfQogCi12b2lkIE1hcmtlZFNwYWNlOjpkZXN0cm95KCkKK3ZvaWQgTmV3U3Bh
Y2U6OmRlc3Ryb3koKQogewogICAgIC8qIEtlZXAgb3VyIHByZWNpb3VzIHpvbWJpZXMhICovCiAj
aWYgIUVOQUJMRShKU0NfWk9NQklFUykKQEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBNYXJrZWRTcGFj
ZTo6ZGVzdHJveSgpCiAjZW5kaWYKIH0KIAotTWFya2VkQmxvY2sqIE1hcmtlZFNwYWNlOjphbGxv
Y2F0ZUJsb2NrKFNpemVDbGFzcyYgc2l6ZUNsYXNzKQorTWFya2VkQmxvY2sqIE5ld1NwYWNlOjph
bGxvY2F0ZUJsb2NrKFNpemVDbGFzcyYgc2l6ZUNsYXNzKQogewogICAgIE1hcmtlZEJsb2NrKiBi
bG9jayA9IE1hcmtlZEJsb2NrOjpjcmVhdGUobV9oZWFwLCBzaXplQ2xhc3MuY2VsbFNpemUpOwog
ICAgIHNpemVDbGFzcy5ibG9ja0xpc3QuYXBwZW5kKGJsb2NrKTsKQEAgLTYzLDcgKzYzLDcgQEAg
TWFya2VkQmxvY2sqIE1hcmtlZFNwYWNlOjphbGxvY2F0ZUJsb2NrKAogICAgIHJldHVybiBibG9j
azsKIH0KIAotdm9pZCBNYXJrZWRTcGFjZTo6ZnJlZUJsb2NrcyhEb3VibHlMaW5rZWRMaXN0PE1h
cmtlZEJsb2NrPiYgYmxvY2tzKQordm9pZCBOZXdTcGFjZTo6ZnJlZUJsb2NrcyhEb3VibHlMaW5r
ZWRMaXN0PE1hcmtlZEJsb2NrPiYgYmxvY2tzKQogewogICAgIE1hcmtlZEJsb2NrKiBuZXh0Owog
ICAgIGZvciAoTWFya2VkQmxvY2sqIGJsb2NrID0gYmxvY2tzLmhlYWQoKTsgYmxvY2s7IGJsb2Nr
ID0gbmV4dCkgewpAQCAtNzUsNyArNzUsNyBAQCB2b2lkIE1hcmtlZFNwYWNlOjpmcmVlQmxvY2tz
KERvdWJseUxpbmtlCiAgICAgfQogfQogCi12b2lkIE1hcmtlZFNwYWNlOjpzaHJpbmsoKQordm9p
ZCBOZXdTcGFjZTo6c2hyaW5rKCkKIHsKICAgICAvLyBXZSByZWNvcmQgYSB0ZW1wb3JhcnkgbGlz
dCBvZiBlbXB0aWVzIHRvIGF2b2lkIG1vZGlmeWluZyBtX2Jsb2NrcyB3aGlsZSBpdGVyYXRpbmcg
aXQuCiAgICAgRG91Ymx5TGlua2VkTGlzdDxNYXJrZWRCbG9jaz4gZW1wdGllczsKQEAgLTk1LDIx
ICs5NSwyMSBAQCB2b2lkIE1hcmtlZFNwYWNlOjpzaHJpbmsoKQogICAgIEFTU0VSVChlbXB0aWVz
LmlzRW1wdHkoKSk7CiB9CiAKLXZvaWQgTWFya2VkU3BhY2U6OmNsZWFyTWFya3MoKQordm9pZCBO
ZXdTcGFjZTo6Y2xlYXJNYXJrcygpCiB7CiAgICAgQmxvY2tJdGVyYXRvciBlbmQgPSBtX2Jsb2Nr
cy5lbmQoKTsKICAgICBmb3IgKEJsb2NrSXRlcmF0b3IgaXQgPSBtX2Jsb2Nrcy5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICgqaXQpLT5jbGVhck1hcmtzKCk7CiB9CiAKLXZvaWQg
TWFya2VkU3BhY2U6OnN3ZWVwKCkKK3ZvaWQgTmV3U3BhY2U6OnN3ZWVwKCkKIHsKICAgICBCbG9j
a0l0ZXJhdG9yIGVuZCA9IG1fYmxvY2tzLmVuZCgpOwogICAgIGZvciAoQmxvY2tJdGVyYXRvciBp
dCA9IG1fYmxvY2tzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKICAgICAgICAgKCppdCktPnN3
ZWVwKCk7CiB9CiAKLXNpemVfdCBNYXJrZWRTcGFjZTo6b2JqZWN0Q291bnQoKSBjb25zdAorc2l6
ZV90IE5ld1NwYWNlOjpvYmplY3RDb3VudCgpIGNvbnN0CiB7CiAgICAgc2l6ZV90IHJlc3VsdCA9
IDA7CiAgICAgQmxvY2tJdGVyYXRvciBlbmQgPSBtX2Jsb2Nrcy5lbmQoKTsKQEAgLTExOCw3ICsx
MTgsNyBAQCBzaXplX3QgTWFya2VkU3BhY2U6Om9iamVjdENvdW50KCkgY29uc3QKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi1zaXplX3QgTWFya2VkU3BhY2U6OnNpemUoKSBjb25zdAorc2l6ZV90
IE5ld1NwYWNlOjpzaXplKCkgY29uc3QKIHsKICAgICBzaXplX3QgcmVzdWx0ID0gMDsKICAgICBC
bG9ja0l0ZXJhdG9yIGVuZCA9IG1fYmxvY2tzLmVuZCgpOwpAQCAtMTI3LDcgKzEyNyw3IEBAIHNp
emVfdCBNYXJrZWRTcGFjZTo6c2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c2l6ZV90IE1hcmtlZFNwYWNlOjpjYXBhY2l0eSgpIGNvbnN0CitzaXplX3QgTmV3U3BhY2U6OmNh
cGFjaXR5KCkgY29uc3QKIHsKICAgICBzaXplX3QgcmVzdWx0ID0gMDsKICAgICBCbG9ja0l0ZXJh
dG9yIGVuZCA9IG1fYmxvY2tzLmVuZCgpOwpAQCAtMTM2LDcgKzEzNiw3IEBAIHNpemVfdCBNYXJr
ZWRTcGFjZTo6Y2FwYWNpdHkoKSBjb25zdAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQg
TWFya2VkU3BhY2U6OnJlc2V0QWxsb2NhdG9yKCkKK3ZvaWQgTmV3U3BhY2U6OnJlc2V0QWxsb2Nh
dG9yKCkKIHsKICAgICBtX3dhdGVyTWFyayA9IDA7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL05ld1NwYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvTmV3U3BhY2UuaAkocmV2aXNpb24gODgzNjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9OZXdTcGFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi0jZGVm
aW5lIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoY2xhc3MpIENPTVBJTEVfQVNTRVJUKHNpemVv
ZihjbGFzcykgPCBNYXJrZWRTcGFjZTo6bWF4Q2VsbFNpemUsIGNsYXNzX2ZpdHNfaW5fY2VsbCkK
KyNkZWZpbmUgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChjbGFzcykgQ09NUElMRV9BU1NFUlQo
c2l6ZW9mKGNsYXNzKSA8IE5ld1NwYWNlOjptYXhDZWxsU2l6ZSwgY2xhc3NfZml0c19pbl9jZWxs
KQogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDMsOCArNDMsOCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBXZWFrR0NIYW5kbGU7CiAgICAgdHlwZWRlZiBNYXJrU3RhY2sgU2xvdFZpc2l0
b3I7CiAKLSAgICBjbGFzcyBNYXJrZWRTcGFjZSB7Ci0gICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE1hcmtlZFNwYWNlKTsKKyAgICBjbGFzcyBOZXdTcGFjZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKE5ld1NwYWNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2VsbFNpemUgPSAxMDI0OwogCkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICAgICAgc2l6ZV90IGNlbGxTaXplOwogICAgICAgICB9OwogCi0gICAg
ICAgIE1hcmtlZFNwYWNlKEhlYXAqKTsKKyAgICAgICAgTmV3U3BhY2UoSGVhcCopOwogICAgICAg
ICB2b2lkIGRlc3Ryb3koKTsKIAogICAgICAgICBzaXplX3QgaGlnaFdhdGVyTWFyaygpOwpAQCAt
MTA2LDcgKzEwNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBIZWFwKiBtX2hlYXA7CiAg
ICAgfTsKIAotICAgIGlubGluZSBib29sIE1hcmtlZFNwYWNlOjpjb250YWlucyhjb25zdCB2b2lk
KiB4KQorICAgIGlubGluZSBib29sIE5ld1NwYWNlOjpjb250YWlucyhjb25zdCB2b2lkKiB4KQog
ICAgIHsKICAgICAgICAgaWYgKCFNYXJrZWRCbG9jazo6aXNBdG9tQWxpZ25lZCh4KSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTExOCwyNCArMTE4LDI0IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
RnVuY3Rvcj4gaW5saW5lIHZvaWQgTWFya2VkU3BhY2U6OmZvckVhY2goRnVuY3RvciYgZnVuY3Rv
cikKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRnVuY3Rvcj4gaW5saW5lIHZvaWQgTmV3U3BhY2U6
OmZvckVhY2goRnVuY3RvciYgZnVuY3RvcikKICAgICB7CiAgICAgICAgIEJsb2NrSXRlcmF0b3Ig
ZW5kID0gbV9ibG9ja3MuZW5kKCk7CiAgICAgICAgIGZvciAoQmxvY2tJdGVyYXRvciBpdCA9IG1f
YmxvY2tzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKICAgICAgICAgICAgICgqaXQpLT5mb3JF
YWNoKGZ1bmN0b3IpOwogICAgIH0KIAotICAgIGlubGluZSBzaXplX3QgTWFya2VkU3BhY2U6Omhp
Z2hXYXRlck1hcmsoKQorICAgIGlubGluZSBzaXplX3QgTmV3U3BhY2U6OmhpZ2hXYXRlck1hcmso
KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1faGlnaFdhdGVyTWFyazsKICAgICB9CiAKLSAgICBp
bmxpbmUgdm9pZCBNYXJrZWRTcGFjZTo6c2V0SGlnaFdhdGVyTWFyayhzaXplX3QgaGlnaFdhdGVy
TWFyaykKKyAgICBpbmxpbmUgdm9pZCBOZXdTcGFjZTo6c2V0SGlnaFdhdGVyTWFyayhzaXplX3Qg
aGlnaFdhdGVyTWFyaykKICAgICB7CiAgICAgICAgIG1faGlnaFdhdGVyTWFyayA9IGhpZ2hXYXRl
ck1hcms7CiAgICAgfQogCi0gICAgaW5saW5lIE1hcmtlZFNwYWNlOjpTaXplQ2xhc3MmIE1hcmtl
ZFNwYWNlOjpzaXplQ2xhc3NGb3Ioc2l6ZV90IGJ5dGVzKQorICAgIGlubGluZSBOZXdTcGFjZTo6
U2l6ZUNsYXNzJiBOZXdTcGFjZTo6c2l6ZUNsYXNzRm9yKHNpemVfdCBieXRlcykKICAgICB7CiAg
ICAgICAgIEFTU0VSVChieXRlcyAmJiBieXRlcyA8IG1heENlbGxTaXplKTsKICAgICAgICAgaWYg
KGJ5dGVzIDwgcHJlY2lzZUN1dG9mZikKQEAgLTE0Myw3ICsxNDMsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgcmV0dXJuIG1faW1wcmVjaXNlU2l6ZUNsYXNzZXNbKGJ5dGVzIC0gMSkgLyBp
bXByZWNpc2VTdGVwXTsKICAgICB9CiAKLSAgICBpbmxpbmUgdm9pZCogTWFya2VkU3BhY2U6OmFs
bG9jYXRlKFNpemVDbGFzcyYgc2l6ZUNsYXNzKQorICAgIGlubGluZSB2b2lkKiBOZXdTcGFjZTo6
YWxsb2NhdGUoU2l6ZUNsYXNzJiBzaXplQ2xhc3MpCiAgICAgewogICAgICAgICBmb3IgKE1hcmtl
ZEJsb2NrKiYgYmxvY2sgPSBzaXplQ2xhc3MubmV4dEJsb2NrIDsgYmxvY2s7IGJsb2NrID0gYmxv
Y2stPm5leHQoKSkgewogICAgICAgICAgICAgaWYgKHZvaWQqIHJlc3VsdCA9IGJsb2NrLT5hbGxv
Y2F0ZSgpKQpAQCAtMTU4LDEzICsxNTgsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KIAotICAgIGlubGluZSBNYXJrZWRTcGFjZTo6U2l6ZUNsYXNzOjpTaXpl
Q2xhc3MoKQorICAgIGlubGluZSBOZXdTcGFjZTo6U2l6ZUNsYXNzOjpTaXplQ2xhc3MoKQogICAg
ICAgICA6IG5leHRCbG9jaygwKQogICAgICAgICAsIGNlbGxTaXplKDApCiAgICAgewogICAgIH0K
IAotICAgIGlubGluZSB2b2lkIE1hcmtlZFNwYWNlOjpTaXplQ2xhc3M6OnJlc2V0QWxsb2NhdG9y
KCkKKyAgICBpbmxpbmUgdm9pZCBOZXdTcGFjZTo6U2l6ZUNsYXNzOjpyZXNldEFsbG9jYXRvcigp
CiAgICAgewogICAgICAgICBuZXh0QmxvY2sgPSBibG9ja0xpc3QuaGVhZCgpOwogICAgIH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCShyZXZpc2lvbiA4ODM2OSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCSh3b3JraW5nIGNvcHkp
CkBAIC02Niw3ICs2Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3Mg
SlNBUElWYWx1ZVdyYXBwZXI7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKU1pvbWJpZTsKICAgICAg
ICAgZnJpZW5kIGNsYXNzIEpTR2xvYmFsRGF0YTsKLSAgICAgICAgZnJpZW5kIGNsYXNzIE1hcmtl
ZFNwYWNlOworICAgICAgICBmcmllbmQgY2xhc3MgTmV3U3BhY2U7CiAgICAgICAgIGZyaWVuZCBj
bGFzcyBNYXJrZWRCbG9jazsKICAgICAgICAgZnJpZW5kIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlOwog
ICAgICAgICBmcmllbmQgY2xhc3MgU3RydWN0dXJlOwo=
</data>
<flag name="review"
          id="90163"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>