<?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>92371</bug_id>
          
          <creation_ts>2012-07-26 05:45:27 -0700</creation_ts>
          <short_desc>[WIN][DRT] Remove duplicated (start|stop)JavaScriptThreads()</short_desc>
          <delta_ts>2013-05-09 16:47:16 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>
          <dependson>92505</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>levin+threading</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>679209</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-26 05:45:27 -0700</bug_when>
    <thetext>[WIN][DRT] Replace pthread_mutex_t with WTF::Mutex</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679218</commentid>
    <comment_count>1</comment_count>
      <attachid>154625</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-26 05:49:18 -0700</bug_when>
    <thetext>Created attachment 154625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680718</commentid>
    <comment_count>2</comment_count>
      <attachid>154968</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-27 09:05:49 -0700</bug_when>
    <thetext>Created attachment 154968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680725</commentid>
    <comment_count>3</comment_count>
      <attachid>154970</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-27 09:10:55 -0700</bug_when>
    <thetext>Created attachment 154970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886612</commentid>
    <comment_count>4</comment_count>
      <attachid>154970</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-05-08 23:02:07 -0700</bug_when>
    <thetext>Comment on attachment 154970
Patch

This looks great!  Once the blocking patch clears you should land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887110</commentid>
    <comment_count>5</comment_count>
      <attachid>201286</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-05-09 15:11:27 -0700</bug_when>
    <thetext>Created attachment 201286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887144</commentid>
    <comment_count>6</comment_count>
      <attachid>201286</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-05-09 16:13:17 -0700</bug_when>
    <thetext>Comment on attachment 201286
Patch

We probably need to add it to DumpRenderTree.vcxproj.filters as well, but go ahead and land it.  The project should self-heal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887156</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-09 16:45:52 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 201286:

svg/as-image/img-relative-height.html bug 114140 (author: zimmermann@kde.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887158</commentid>
    <comment_count>8</comment_count>
      <attachid>201286</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-09 16:47:14 -0700</bug_when>
    <thetext>Comment on attachment 201286
Patch

Clearing flags on attachment: 201286

Committed r149855: &lt;http://trac.webkit.org/changeset/149855&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887159</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-09 16:47:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154625</attachid>
            <date>2012-07-26 05:49:18 -0700</date>
            <delta_ts>2012-07-27 09:05:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92371.patch</filename>
            <type>text/plain</type>
            <size>5758</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhMGI2
ZTZjLi45N2RhYmY2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDctMjYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dJTl1bRFJUXSBSZXBsYWNlIHB0aHJlYWRf
bXV0ZXhfdCB3aXRoIFdURjo6TXV0ZXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkyMzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXNlIHRoZSBXaW4zMiB0aHJlYWRpbmcgQVBJIHZpYSBXVEY6Ok11dGV4
IHRvIHJlZHVjZSB0aGUgZGVwZW5kZW5jeQorICAgICAgICBvbiB0aGUgcHRocmVhZCBsaWJyYXJ5
LiBBbHNvIHJlcGxhY2UgYXNzZXJ0KCkgd2l0aCBXZWJLaXQgQVNTRVJUKCkuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoZHVtcEhp
c3RvcnlJdGVtKToKKyAgICAgICAgKGR1bXBCYWNrRm9yd2FyZExpc3QpOgorICAgICAgICAoamF2
YVNjcmlwdFRocmVhZHNNdXRleCk6CisgICAgICAgIChydW5KYXZhU2NyaXB0VGhyZWFkKToKKyAg
ICAgICAgKHN0YXJ0SmF2YVNjcmlwdFRocmVhZHMpOgorICAgICAgICAoc3RvcEphdmFTY3JpcHRU
aHJlYWRzKToKKwogMjAxMi0wNy0yNCAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFrdWNvQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBmNDAyYTAyLi5jNjg4
YzUzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAg
LTUyNyw3ICs1MjcsNyBAQCBzdGF0aWMgaW50IGNvbXBhcmVIaXN0b3J5SXRlbXMoY29uc3Qgdm9p
ZCogaXRlbTEsIGNvbnN0IHZvaWQqIGl0ZW0yKQogCiBzdGF0aWMgdm9pZCBkdW1wSGlzdG9yeUl0
ZW0oSVdlYkhpc3RvcnlJdGVtKiBpdGVtLCBpbnQgaW5kZW50LCBib29sIGN1cnJlbnQpCiB7Ci0g
ICAgYXNzZXJ0KGl0ZW0pOworICAgIEFTU0VSVChpdGVtKTsKIAogICAgIGludCBzdGFydCA9IDA7
CiAgICAgaWYgKGN1cnJlbnQpIHsKQEAgLTY0NCwxNyArNjQ0LDE3IEBAIHN0YXRpYyB2b2lkIGR1
bXBCYWNrRm9yd2FyZExpc3QoSVdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIGlmIChGQUlMRUQo
YmZMaXN0LT5pdGVtQXRJbmRleChpLCAmaXRlbSkpKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAvLyBzb21ldGhpbmcgaXMgd3JvbmcgaWYgdGhlIGl0ZW0gZnJvbSB0aGUgbGFzdCB0ZXN0
IGlzIGluIHRoZSBmb3J3YXJkIHBhcnQgb2YgdGhlIGIvZiBsaXN0Ci0gICAgICAgIGFzc2VydChp
dGVtICE9IHByZXZUZXN0QkZJdGVtKTsKKyAgICAgICAgQVNTRVJUKGl0ZW0gIT0gcHJldlRlc3RC
Rkl0ZW0pOwogICAgICAgICBDT01QdHI8SVVua25vd24+IGl0ZW1Vbmtub3duOwogICAgICAgICBp
dGVtLT5RdWVyeUludGVyZmFjZSgmaXRlbVVua25vd24pOwogICAgICAgICBpdGVtc1RvUHJpbnQu
YXBwZW5kKGl0ZW1Vbmtub3duKTsKICAgICB9Ci0gICAgCisKICAgICBDT01QdHI8SVdlYkhpc3Rv
cnlJdGVtPiBjdXJyZW50SXRlbTsKICAgICBpZiAoRkFJTEVEKGJmTGlzdC0+Y3VycmVudEl0ZW0o
JmN1cnJlbnRJdGVtKSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGFzc2VydChjdXJyZW50SXRl
bSAhPSBwcmV2VGVzdEJGSXRlbSk7CisgICAgQVNTRVJUKGN1cnJlbnRJdGVtICE9IHByZXZUZXN0
QkZJdGVtKTsKICAgICBDT01QdHI8SVVua25vd24+IGN1cnJlbnRJdGVtVW5rbm93bjsKICAgICBj
dXJyZW50SXRlbS0+UXVlcnlJbnRlcmZhY2UoJmN1cnJlbnRJdGVtVW5rbm93bik7CiAgICAgaXRl
bXNUb1ByaW50LmFwcGVuZChjdXJyZW50SXRlbVVua25vd24pOwpAQCAtMTA4NCw2ICsxMDg0LDEy
IEBAIGV4aXQ6CiAgICAgcmV0dXJuOwogfQogCitzdGF0aWMgTXV0ZXgmIGphdmFTY3JpcHRUaHJl
YWRzTXV0ZXgoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoTXV0ZXgsIHN0YXRpY011dGV4
LCAoKSk7CisgICAgcmV0dXJuIHN0YXRpY011dGV4OworfQorCiBzdGF0aWMgQm9vbGVhbiBwdGhy
ZWFkRXF1YWxDYWxsYmFjayhjb25zdCB2b2lkKiB2YWx1ZTEsIGNvbnN0IHZvaWQqIHZhbHVlMikK
IHsKICAgICByZXR1cm4gKEJvb2xlYW4pcHRocmVhZF9lcXVhbCgqKHB0aHJlYWRfdCopdmFsdWUx
LCAqKHB0aHJlYWRfdCopdmFsdWUyKTsKQEAgLTEwOTEsMTMgKzEwOTcsMTIgQEAgc3RhdGljIEJv
b2xlYW4gcHRocmVhZEVxdWFsQ2FsbGJhY2soY29uc3Qgdm9pZCogdmFsdWUxLCBjb25zdCB2b2lk
KiB2YWx1ZTIpCiAKIHN0YXRpYyBDRkRpY3Rpb25hcnlLZXlDYWxsQmFja3MgcHRocmVhZEtleUNh
bGxiYWNrcyA9IHsgMCwgMCwgMCwgMCwgcHRocmVhZEVxdWFsQ2FsbGJhY2ssIDAgfTsKIAotc3Rh
dGljIHB0aHJlYWRfbXV0ZXhfdCBqYXZhU2NyaXB0VGhyZWFkc011dGV4ID0gUFRIUkVBRF9NVVRF
WF9JTklUSUFMSVpFUjsKIHN0YXRpYyBib29sIGphdmFTY3JpcHRUaHJlYWRzU2hvdWxkVGVybWlu
YXRlOwogCiBzdGF0aWMgY29uc3QgaW50IGphdmFTY3JpcHRUaHJlYWRzQ291bnQgPSA0Owogc3Rh
dGljIENGTXV0YWJsZURpY3Rpb25hcnlSZWYgamF2YVNjcmlwdFRocmVhZHMoKQogewotICAgIGFz
c2VydChwdGhyZWFkX211dGV4X3RyeWxvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgpID09IEVC
VVNZKTsKKyAgICBBU1NFUlQoIWphdmFTY3JpcHRUaHJlYWRzTXV0ZXgoKS50cnlMb2NrKCkpOwog
ICAgIHN0YXRpYyBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIHN0YXRpY0phdmFTY3JpcHRUaHJlYWRz
OwogICAgIGlmICghc3RhdGljSmF2YVNjcmlwdFRocmVhZHMpCiAgICAgICAgIHN0YXRpY0phdmFT
Y3JpcHRUaHJlYWRzID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZSgwLCAwLCAmcHRocmVhZEtl
eUNhbGxiYWNrcywgMCk7CkBAIC0xMTIyLDIwICsxMTI3LDE4IEBAIHZvaWQqIHJ1bkphdmFTY3Jp
cHRUaHJlYWQodm9pZCogYXJnKQogCiAgICAgICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsK
ICAgICAgICAgSlNFdmFsdWF0ZVNjcmlwdChjdHgsIHNjcmlwdFJlZiwgMCwgMCwgMSwgJmV4Y2Vw
dGlvbik7Ci0gICAgICAgIGFzc2VydCghZXhjZXB0aW9uKTsKLSAgICAgICAgCisgICAgICAgIEFT
U0VSVCghZXhjZXB0aW9uKTsKKwogICAgICAgICBKU0dsb2JhbENvbnRleHRSZWxlYXNlKGN0eCk7
CiAgICAgICAgIEpTU3RyaW5nUmVsZWFzZShzY3JpcHRSZWYpOwotICAgICAgICAKKwogICAgICAg
ICBKU0dhcmJhZ2VDb2xsZWN0KGN0eCk7CiAKLSAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZq
YXZhU2NyaXB0VGhyZWFkc011dGV4KTsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKGphdmFT
Y3JpcHRUaHJlYWRzTXV0ZXgoKSk7CiAKICAgICAgICAgLy8gQ2hlY2sgZm9yIGNhbmNlbGxhdGlv
bi4KLSAgICAgICAgaWYgKGphdmFTY3JpcHRUaHJlYWRzU2hvdWxkVGVybWluYXRlKSB7Ci0gICAg
ICAgICAgICBwdGhyZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7Cisg
ICAgICAgIGlmIChqYXZhU2NyaXB0VGhyZWFkc1Nob3VsZFRlcm1pbmF0ZSkKICAgICAgICAgICAg
IHJldHVybiAwOwotICAgICAgICB9CiAKICAgICAgICAgLy8gUmVzcGF3biBwcm9iYWJpbGlzdGlj
YWxseS4KICAgICAgICAgaWYgKHJhbmQoKSAlIDUgPT0gMCkgewpAQCAtMTE0NywxNyArMTE1MCwx
NCBAQCB2b2lkKiBydW5KYXZhU2NyaXB0VGhyZWFkKHZvaWQqIGFyZykKICAgICAgICAgICAgIENG
RGljdGlvbmFyeVJlbW92ZVZhbHVlKGphdmFTY3JpcHRUaHJlYWRzKCksIHNlbGYucCk7CiAgICAg
ICAgICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShqYXZhU2NyaXB0VGhyZWFkcygpLCBwdGhyZWFk
LnAsIDApOwogCi0gICAgICAgICAgICBwdGhyZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlwdFRo
cmVhZHNNdXRleCk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotCi0gICAgICAg
IHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4KTsKICAgICB9CiB9
CiAKIHN0YXRpYyB2b2lkIHN0YXJ0SmF2YVNjcmlwdFRocmVhZHModm9pZCkKIHsKLSAgICBwdGhy
ZWFkX211dGV4X2xvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgpOworICAgIE11dGV4TG9ja2Vy
IGxvY2tlcihqYXZhU2NyaXB0VGhyZWFkc011dGV4KCkpOwogCiAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBqYXZhU2NyaXB0VGhyZWFkc0NvdW50OyBpKyspIHsKICAgICAgICAgcHRocmVhZF90IHB0
aHJlYWQ7CkBAIC0xMTY1LDIyICsxMTY1LDIxIEBAIHN0YXRpYyB2b2lkIHN0YXJ0SmF2YVNjcmlw
dFRocmVhZHModm9pZCkKICAgICAgICAgcHRocmVhZF9kZXRhY2gocHRocmVhZCk7CiAgICAgICAg
IENGRGljdGlvbmFyeUFkZFZhbHVlKGphdmFTY3JpcHRUaHJlYWRzKCksIHB0aHJlYWQucCwgMCk7
CiAgICAgfQotCi0gICAgcHRocmVhZF9tdXRleF91bmxvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0
ZXgpOwogfQogCiBzdGF0aWMgdm9pZCBzdG9wSmF2YVNjcmlwdFRocmVhZHModm9pZCkKIHsKLSAg
ICBwdGhyZWFkX211dGV4X2xvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgpOworICAgIHB0aHJl
YWRfdCogcHRocmVhZHNbamF2YVNjcmlwdFRocmVhZHNDb3VudF0gPSB7MH07CiAKLSAgICBqYXZh
U2NyaXB0VGhyZWFkc1Nob3VsZFRlcm1pbmF0ZSA9IHRydWU7CisgICAgeworICAgICAgICBNdXRl
eExvY2tlciBsb2NrZXIoamF2YVNjcmlwdFRocmVhZHNNdXRleCgpKTsKIAotICAgIHB0aHJlYWRf
dCogcHRocmVhZHNbamF2YVNjcmlwdFRocmVhZHNDb3VudF0gPSB7MH07Ci0gICAgaW50IHRocmVh
ZERpY3RDb3VudCA9IENGRGljdGlvbmFyeUdldENvdW50KGphdmFTY3JpcHRUaHJlYWRzKCkpOwot
ICAgIGFzc2VydCh0aHJlYWREaWN0Q291bnQgPT0gamF2YVNjcmlwdFRocmVhZHNDb3VudCk7Ci0g
ICAgQ0ZEaWN0aW9uYXJ5R2V0S2V5c0FuZFZhbHVlcyhqYXZhU2NyaXB0VGhyZWFkcygpLCAoY29u
c3Qgdm9pZCoqKXB0aHJlYWRzLCAwKTsKKyAgICAgICAgamF2YVNjcmlwdFRocmVhZHNTaG91bGRU
ZXJtaW5hdGUgPSB0cnVlOwogCi0gICAgcHRocmVhZF9tdXRleF91bmxvY2soJmphdmFTY3JpcHRU
aHJlYWRzTXV0ZXgpOworICAgICAgICBpbnQgdGhyZWFkRGljdENvdW50ID0gQ0ZEaWN0aW9uYXJ5
R2V0Q291bnQoamF2YVNjcmlwdFRocmVhZHMoKSk7CisgICAgICAgIEFTU0VSVCh0aHJlYWREaWN0
Q291bnQgPT0gamF2YVNjcmlwdFRocmVhZHNDb3VudCk7CisgICAgICAgIENGRGljdGlvbmFyeUdl
dEtleXNBbmRWYWx1ZXMoamF2YVNjcmlwdFRocmVhZHMoKSwgKGNvbnN0IHZvaWQqKilwdGhyZWFk
cywgMCk7CisgICAgfQogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBqYXZhU2NyaXB0VGhyZWFk
c0NvdW50OyBpKyspIHsKICAgICAgICAgcHRocmVhZF90KiBwdGhyZWFkID0gcHRocmVhZHNbaV07
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154968</attachid>
            <date>2012-07-27 09:05:49 -0700</date>
            <delta_ts>2012-07-27 09:10:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92371.patch</filename>
            <type>text/plain</type>
            <size>20888</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWZDRi5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmQ0YuY3BwCmluZGV4IDA4Nzdh
MTMuLmJkOWY3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJp
bmdSZWZDRi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1JlZkNG
LmNwcApAQCAtMSwzICsxLDQgQEAKKyNpZiAwCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTU1
LDMgKzU2LDQgQEAgQ0ZTdHJpbmdSZWYgSlNTdHJpbmdDb3B5Q0ZTdHJpbmcoQ0ZBbGxvY2F0b3JS
ZWYgYWxsb2MsIEpTU3RyaW5nUmVmIHN0cmluZykKIHsKICAgICByZXR1cm4gQ0ZTdHJpbmdDcmVh
dGVXaXRoQ2hhcmFjdGVycyhhbGxvYywgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4o
c3RyaW5nLT5jaGFyYWN0ZXJzKCkpLCBzdHJpbmctPmxlbmd0aCgpKTsKIH0KKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRl
eCAyZTg2ODU4Li5mMTJhNjFhOCAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTI1OSw3ICsyNTksNiBAQCBFWFBPUlRTCiAgICAg
P25ldXRlckBBcnJheUJ1ZmZlclZpZXdAV1RGQEBNQUVYWFoKICAgICA/bmV3VW5pbml0aWFsaXpl
ZEBDU3RyaW5nQFdURkBAU0E/QVYxMkBJQUFQQURAWgogICAgID9ub3RpZnlXcml0ZVNsb3dAU3lt
Ym9sVGFibGVFbnRyeUBKU0NAQEFBRVhYWgotICAgID9udWxscHRyQEAzVm51bGxwdHJfdEBzdGRA
QEEKICAgICA/bnVtYmVyQFN0cmluZ0BXVEZAQFNBP0FWMTJATklJQFoKICAgICA/bnVtYmVyQFVT
dHJpbmdASlNDQEBTQT9BVjEyQEhAWgogICAgID9udW1iZXJAVVN0cmluZ0BKU0NAQFNBP0FWMTJA
SUBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwVGltZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcFRpbWVyLmNwcAppbmRleCBmYTk3OTc4
Li5kYzAwNjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwVGlt
ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBUaW1lci5jcHAKQEAg
LTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBVU0UoQ0YpCisjaWYgVVNF
KENGXykKICAgICAKIGNvbnN0IENGVGltZUludGVydmFsIEhlYXBUaW1lcjo6c19kZWNhZGUgPSA2
MCAqIDYwICogMjQgKiAzNjUgKiAxMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcFRpbWVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwVGlt
ZXIuaAppbmRleCA4ODcxNTA5Li5hMGYwNzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9IZWFwVGltZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwVGltZXIuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKLSNpZiBVU0UoQ0YpCisjaWYgVVNFKENGXykK
ICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VsaWYgUExBVEZP
Uk0oQkxBQ0tCRVJSWSkKICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZvcm1UaW1lci5oPgpAQCAt
NDEsNyArNDEsNyBAQCBjbGFzcyBKU0dsb2JhbERhdGE7CiAgICAgCiBjbGFzcyBIZWFwVGltZXIg
ewogcHVibGljOgotI2lmIFVTRShDRikKKyNpZiBVU0UoQ0ZfKQogICAgIEhlYXBUaW1lcihKU0ds
b2JhbERhdGEqLCBDRlJ1bkxvb3BSZWYpOwogICAgIHN0YXRpYyB2b2lkIHRpbWVyRGlkRmlyZShD
RlJ1bkxvb3BUaW1lclJlZiwgdm9pZCopOwogI2Vsc2UKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGlj
OgogcHJvdGVjdGVkOgogICAgIEpTR2xvYmFsRGF0YSogbV9nbG9iYWxEYXRhOwogCi0jaWYgVVNF
KENGKQorI2lmIFVTRShDRl8pCiAgICAgc3RhdGljIGNvbnN0IENGVGltZUludGVydmFsIHNfZGVj
YWRlOwogCiAgICAgUmV0YWluUHRyPENGUnVuTG9vcFRpbWVyUmVmPiBtX3RpbWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSW5jcmVtZW50YWxTd2VlcGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0luY3JlbWVudGFsU3dlZXBlci5jcHAKaW5kZXgg
NDkyMjJjNS4uZTc2MGEzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
SW5jcmVtZW50YWxTd2VlcGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9J
bmNyZW1lbnRhbFN3ZWVwZXIuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAKIG5hbWVzcGFjZSBKU0Mg
ewogCi0jaWYgVVNFKENGKQorI2lmIFVTRShDRl8pCiAKIHN0YXRpYyBjb25zdCBDRlRpbWVJbnRl
cnZhbCBzd2VlcFRpbWVTbGljZSA9IC4wMTsgLy8gc2Vjb25kcwogc3RhdGljIGNvbnN0IENGVGlt
ZUludGVydmFsIHN3ZWVwVGltZVRvdGFsID0gLjEwOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSW5jcmVtZW50YWxTd2VlcGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9JbmNyZW1lbnRhbFN3ZWVwZXIuaAppbmRleCBlZWRmYTdmLi4wZGQzMDBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9JbmNyZW1lbnRhbFN3ZWVwZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9JbmNyZW1lbnRhbFN3ZWVwZXIuaApAQCAt
NDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRvV29yaygpOwogCiBwcml2
YXRlOgotI2lmIFVTRShDRikKKyNpZiBVU0UoQ0ZfKQogICAgIEluY3JlbWVudGFsU3dlZXBlcihI
ZWFwKiwgQ0ZSdW5Mb29wUmVmKTsKICAgICAKICAgICB2b2lkIGRvU3dlZXAoZG91YmxlIHN0YXJ0
VGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2
aXR5Q2FsbGJhY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0
eUNhbGxiYWNrLmNwcAppbmRleCBjMmZjYThjLi5mYmRkZTUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAKQEAgLTQwLDcg
KzQwLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBVU0UoQ0YpCisjaWYgVVNFKENGXykK
IAogY29uc3QgZG91YmxlIGdjVGltZVNsaWNlUGVyTUIgPSAwLjAxOyAvLyBQZXJjZW50YWdlIG9m
IENQVSB0aW1lIHdlIHdpbGwgc3BlbmQgdG8gcmVjbGFpbSAxIE1CCiBjb25zdCBkb3VibGUgbWF4
R0NUaW1lU2xpY2UgPSAwLjA1OyAvLyBUaGUgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgd2Ug
d2FudCB0byB1c2UgZm9yIG9wcG9ydHVuaXN0aWMgdGltZXItdHJpZ2dlcmVkIGNvbGxlY3Rpb25z
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNh
bGxiYWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2suaAppbmRleCA2N2VlMTc0Li45ZTQ0MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaApAQCAtNTAsNyArNTAsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2VuYWJsZWQgPSBlbmFi
bGVkOyB9CiAKIHByb3RlY3RlZDoKLSNpZiBVU0UoQ0YpCisjaWYgVVNFKENGXykKICAgICBHQ0Fj
dGl2aXR5Q2FsbGJhY2soSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDRlJ1bkxvb3BSZWYgcnVu
TG9vcCkKICAgICAgICAgOiBIZWFwVGltZXIoZ2xvYmFsRGF0YSwgcnVuTG9vcCkKICAgICAgICAg
LCBtX2VuYWJsZWQodHJ1ZSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIAogICAgIHZp
cnR1YWwgdm9pZCBkb1dvcmsoKTsKIAotI2lmIFVTRShDRikKKyNpZiBVU0UoQ0ZfKQogcHJvdGVj
dGVkOgogICAgIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCosIENGUnVuTG9vcFJlZik7
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCmluZGV4IGQ1NTc1OTguLjAxYTAzYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTIt
MDctMjcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIChPT1BTISkuCisgICAgICAgIE5lZWQgdGhlIGJ1ZyBV
UkwgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2Fj
aCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cg
KE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYv
R3JlZ29yaWFuRGF0ZVRpbWUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHd0Zi9HcmVnb3JpYW5E
YXRlVGltZS5oOgorICAgICAgICAqIHd0Zi91bmljb2RlL3djaGFyL1VuaWNvZGVXY2hhci5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogd3RmL3VuaWNvZGUvd2NoYXIvVW5pY29kZVdjaGFyLmg6IFJl
bW92ZWQuCisKIDIwMTItMDctMjYgIEFybmF1ZCBSZW5ldmllciAgPGEucmVuZXZpZXJAc2lzYS5z
YW1zdW5nLmNvbT4KIAogICAgICAgICBjb25zdHJ1Y3RpbmcgVHlwZWRBcnJheSBmcm9tIGFub3Ro
ZXIgVHlwZWRBcnJheSBpcyBzbG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IGJkMjkxNDkuLjQy
YTY0ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0xNDYsNiArMTQ2LDcgQEAgU0VUKFdURl9T
T1VSQ0VTCiAgICAgRGVjaW1hbE51bWJlci5jcHAKICAgICBEeW5hbWljQW5ub3RhdGlvbnMuY3Bw
CiAgICAgRmFzdE1hbGxvYy5jcHAKKyAgICBHcmVnb3JpYW5EYXRlVGltZS5jcHAKICAgICBIYXNo
VGFibGUuY3BwCiAgICAgTUQ1LmNwcAogICAgIE1haW5UaHJlYWQuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9HcmVnb3JpYW5EYXRlVGltZS5oIGIvU291cmNlL1dURi93dGYvR3JlZ29y
aWFuRGF0ZVRpbWUuaAppbmRleCBjN2Q3M2VhLi45ZWY3MmM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9HcmVnb3JpYW5EYXRlVGltZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0dyZWdvcmlh
bkRhdGVUaW1lLmgKQEAgLTY4LDYgKzY4LDggQEAgcHVibGljOgogICAgIGlubGluZSB2b2lkIHNl
dFV0Y09mZnNldChpbnQgdXRjT2Zmc2V0KSB7IG1fdXRjT2Zmc2V0ID0gdXRjT2Zmc2V0OyB9CiAg
ICAgaW5saW5lIHZvaWQgc2V0SXNEU1QoaW50IGlzRFNUKSB7IG1faXNEU1QgPSBpc0RTVDsgfQog
CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0VG9DdXJyZW50TG9jYWxUaW1lKCk7CisK
ICAgICBvcGVyYXRvciB0bSgpIGNvbnN0CiAgICAgewogICAgICAgICB0bSByZXQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL1VuaWNvZGUuaCBiL1NvdXJjZS9XVEYvd3RmL3Vu
aWNvZGUvVW5pY29kZS5oCmluZGV4IGNjNDQ0NzYuLmM4ZmE2ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3VuaWNvZGUvVW5pY29kZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUv
VW5pY29kZS5oCkBAIC0yNSwxNSArMjUsMjAgQEAKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+CiAKKyN1bmRlZiBXVEZfVVNFX0lDVV9VTklDT0RFCisjZGVmaW5lIFdURl9VU0VfV0NIQVJf
VU5JQ09ERSAxCisKIC8vIERlZmluZSBwbGF0Zm9ybSBuZXV0cmFsIDggYml0IGNoYXJhY3RlciB0
eXBlIChMIGlzIGZvciBMYXRpbi0xKS4KIHR5cGVkZWYgdW5zaWduZWQgY2hhciBMQ2hhcjsKIAog
I2lmIFVTRShRVDRfVU5JQ09ERSkKICNpbmNsdWRlICJxdDQvVW5pY29kZVF0NC5oIgotI2VsaWYg
VVNFKElDVV9VTklDT0RFKQorI2VsaWYgVVNFKElDVV9VTklDT0RFXykKICNpbmNsdWRlIDx3dGYv
dW5pY29kZS9pY3UvVW5pY29kZUljdS5oPgogI2VsaWYgVVNFKEdMSUJfVU5JQ09ERSkKICNpbmNs
dWRlIDx3dGYvdW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmg+CisjZWxpZiBVU0UoV0NIQVJfVU5J
Q09ERSkKKyNpbmNsdWRlIDx3dGYvdW5pY29kZS93Y2hhci9Vbmljb2RlV2NoYXIuaD4KICNlbGlm
IFVTRShXSU5DRV9VTklDT0RFKQogI2luY2x1ZGUgPHd0Zi91bmljb2RlL3dpbmNlL1VuaWNvZGVX
aW5DRS5oPgogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0Nv
bGxhdG9ySUNVLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxhdG9ySUNVLmNw
cAppbmRleCBiZWYwZjdhLi42ODNiMGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91bmlj
b2RlL2ljdS9Db2xsYXRvcklDVS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdW5pY29kZS9pY3Uv
Q29sbGF0b3JJQ1UuY3BwCkBAIC0yOSw2ICsyOSw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvQ29sbGF0b3IuaD4KIAorI2luY2x1ZGUgIkNvbGxhdG9yRGVm
YXVsdC5jcHAiCisjaW5jbHVkZSAidW5pY29kZS93Y2hhci9Vbmljb2RlV2NoYXIuY3BwIgorCiAj
aWYgVVNFKElDVV9VTklDT0RFKSAmJiAhVUNPTkZJR19OT19DT0xMQVRJT04KIAogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL3dp
bmNlL1VuaWNvZGVXaW5DRS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL3dpbmNlL1VuaWNv
ZGVXaW5DRS5jcHAKaW5kZXggOTZkYWM3ZC4uZjZiYTI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L3VuaWNvZGUvd2luY2UvVW5pY29kZVdpbkNFLmNwcApAQCAtMjAsOCArMjAsOSBAQAogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJVbmljb2RlV2luQ0UuaCIKLQorLy8jaW5j
bHVkZSAiVW5pY29kZVdpbkNFLmgiCisjaW5jbHVkZSAidW5pY29kZS93Y2hhci9Vbmljb2RlV2No
YXIuY3BwIgorI2lmIDAKICNpbmNsdWRlIDx3Y2hhci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAg
LTE3OSwzICsxODAsNCBAQCBpbnQgZGlnaXRWYWx1ZShVQ2hhciBjKQogCiB9IC8vIG5hbWVzcGFj
ZSBVbmljb2RlCiB9IC8vIG5hbWVzcGFjZSBXVEYKKyNlbmRpZgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NWM4NDM2Li5kZTQwNWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTItMDctMjcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgTmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIChPT1BTISkuCisgICAg
ICAgIE5lZWQgdGhlIGJ1ZyBVUkwgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFu
Z2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBk
ZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMh
KS4KKworICAgICAgICAqIGh0bWwvRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6cHJvY2Vzc0ZpbGVEYXRlU3RyaW5nKToKKyAgICAgICAgKiBsb2FkZXIvYXJjaGl2
ZS9taHRtbC9NSFRNTEFyY2hpdmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUhUTUxBcmNoaXZl
OjpnZW5lcmF0ZU1IVE1MRGF0YSk6CisKIDIwMTItMDctMjcgIFRoaWFnbyBNYXJjb3MgUC4gU2Fu
dG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTIz
ODU2KTogQnJlYWtzIHRoZSBidWlsZCB3aGVuIGRpc2FibGluZyBpbnNwZWN0b3IKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9GVFBEaXJlY3RvcnlEb2N1bWVudC5jcHAKaW5kZXggMzE5YjhkMi4uNGQz
MWE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GVFBEaXJlY3RvcnlEb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GVFBEaXJlY3RvcnlEb2N1bWVudC5jcHAK
QEAgLTIyLDYgKzIyLDggQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKKyNkZWZpbmUgRU5BQkxF
X0ZUUERJUiAxCisKICNpbmNsdWRlICJjb25maWcuaCIKICNpZiBFTkFCTEUoRlRQRElSKQogI2lu
Y2x1ZGUgIkZUUERpcmVjdG9yeURvY3VtZW50LmgiCkBAIC0yMTksMjYgKzIyMSwyMyBAQCBzdGF0
aWMgU3RyaW5nIHByb2Nlc3NGaWxlRGF0ZVN0cmluZyhjb25zdCBGVFBUaW1lJiBmaWxlVGltZSkK
ICAgICB9CiAKICAgICAvLyBJZiBpdCB3YXMgdG9kYXkgb3IgeWVzdGVyZGF5LCBsZXRzIGp1c3Qg
ZG8gdGhhdCAtIGJ1dCB3ZSBoYXZlIHRvIGNvbXBhcmUgdG8gdGhlIGN1cnJlbnQgdGltZQotICAg
IHN0cnVjdCB0bSBub3c7Ci0gICAgZ2V0Q3VycmVudExvY2FsVGltZSgmbm93KTsKLQotICAgIC8v
IGxvY2FsdGltZSBkb2VzICJ5ZWFyID0gY3VycmVudCB5ZWFyIC0gMTkwMCIsIGNvbXBlbnNhdGUg
Zm9yIHRoYXQgZm9yIHJlYWRhYmlsaXR5IGFuZCBjb21wYXJpc29uIHB1cnBvc2VzCi0gICAgbm93
LnRtX3llYXIgKz0gMTkwMDsKKyAgICBHcmVnb3JpYW5EYXRlVGltZSBub3c7CisgICAgbm93LnNl
dFRvQ3VycmVudExvY2FsVGltZSgpOwogCi0gICAgaWYgKGZpbGVUaW1lLnRtX3llYXIgPT0gbm93
LnRtX3llYXIpIHsKLSAgICAgICAgaWYgKGZpbGVUaW1lLnRtX21vbiA9PSBub3cudG1fbW9uKSB7
Ci0gICAgICAgICAgICBpZiAoZmlsZVRpbWUudG1fbWRheSA9PSBub3cudG1fbWRheSkKKyAgICBp
ZiAoZmlsZVRpbWUudG1feWVhciA9PSBub3cueWVhcigpKSB7CisgICAgICAgIGlmIChmaWxlVGlt
ZS50bV9tb24gPT0gbm93Lm1vbnRoKCkpIHsKKyAgICAgICAgICAgIGlmIChmaWxlVGltZS50bV9t
ZGF5ID09IG5vdy5tb250aERheSgpKQogICAgICAgICAgICAgICAgIHJldHVybiAiVG9kYXkiICsg
dGltZU9mRGF5OwotICAgICAgICAgICAgaWYgKGZpbGVUaW1lLnRtX21kYXkgPT0gbm93LnRtX21k
YXkgLSAxKQorICAgICAgICAgICAgaWYgKGZpbGVUaW1lLnRtX21kYXkgPT0gbm93Lm1vbnRoRGF5
KCkgLSAxKQogICAgICAgICAgICAgICAgIHJldHVybiAiWWVzdGVyZGF5IiArIHRpbWVPZkRheTsK
ICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgaWYgKG5vdy50bV9tZGF5ID09IDEgJiYgKG5v
dy50bV9tb24gPT0gZmlsZVRpbWUudG1fbW9uICsgMSB8fCAobm93LnRtX21vbiA9PSAwICYmIGZp
bGVUaW1lLnRtX21vbiA9PSAxMSkpICYmCisgICAgICAgIGlmIChub3cubW9udGhEYXkoKSA9PSAx
ICYmIChub3cubW9udGgoKSA9PSBmaWxlVGltZS50bV9tb24gKyAxIHx8IChub3cubW9udGgoKSA9
PSAwICYmIGZpbGVUaW1lLnRtX21vbiA9PSAxMSkpICYmCiAgICAgICAgICAgICB3YXNMYXN0RGF5
T2ZNb250aChmaWxlVGltZS50bV95ZWFyLCBmaWxlVGltZS50bV9tb24sIGZpbGVUaW1lLnRtX21k
YXkpKQogICAgICAgICAgICAgICAgIHJldHVybiAiWWVzdGVyZGF5IiArIHRpbWVPZkRheTsKICAg
ICB9CiAKLSAgICBpZiAoZmlsZVRpbWUudG1feWVhciA9PSBub3cudG1feWVhciAtIDEgJiYgZmls
ZVRpbWUudG1fbW9uID09IDEyICYmIGZpbGVUaW1lLnRtX21kYXkgPT0gMzEgJiYgbm93LnRtX21v
biA9PSAxICYmIG5vdy50bV9tZGF5ID09IDEpCisgICAgaWYgKGZpbGVUaW1lLnRtX3llYXIgPT0g
bm93LnllYXIoKSAtIDEgJiYgZmlsZVRpbWUudG1fbW9uID09IDEyICYmIGZpbGVUaW1lLnRtX21k
YXkgPT0gMzEgJiYgbm93Lm1vbnRoKCkgPT0gMSAmJiBub3cubW9udGhEYXkoKSA9PSAxKQogICAg
ICAgICByZXR1cm4gIlllc3RlcmRheSIgKyB0aW1lT2ZEYXk7CiAKICAgICBzdGF0aWMgY29uc3Qg
Y2hhciogbW9udGhzW10gPSB7ICJKYW4iLCAiRmViIiwgIk1hciIsICJBcHIiLCAiTWF5IiwgIkp1
biIsICJKdWwiLCAiQXVnIiwgIlNlcCIsICJPY3QiLCAiTm92IiwgIkRlYyIsICI/Pz8iIH07CkBA
IC0yNTIsNyArMjUxLDcgQEAgc3RhdGljIFN0cmluZyBwcm9jZXNzRmlsZURhdGVTdHJpbmcoY29u
c3QgRlRQVGltZSYgZmlsZVRpbWUpCiAgICAgaWYgKGZpbGVUaW1lLnRtX3llYXIgPiAtMSkKICAg
ICAgICAgZGF0ZVN0cmluZyA9IFN0cmluZyhtb250aHNbbW9udGhdKSArICIgIiArIFN0cmluZzo6
bnVtYmVyKGZpbGVUaW1lLnRtX21kYXkpICsgIiwgIiArIFN0cmluZzo6bnVtYmVyKGZpbGVUaW1l
LnRtX3llYXIpOwogICAgIGVsc2UKLSAgICAgICAgZGF0ZVN0cmluZyA9IFN0cmluZyhtb250aHNb
bW9udGhdKSArICIgIiArIFN0cmluZzo6bnVtYmVyKGZpbGVUaW1lLnRtX21kYXkpICsgIiwgIiAr
IFN0cmluZzo6bnVtYmVyKG5vdy50bV95ZWFyKTsKKyAgICAgICAgZGF0ZVN0cmluZyA9IFN0cmlu
Zyhtb250aHNbbW9udGhdKSArICIgIiArIFN0cmluZzo6bnVtYmVyKGZpbGVUaW1lLnRtX21kYXkp
ICsgIiwgIiArIFN0cmluZzo6bnVtYmVyKG5vdy55ZWFyKCkpOwogCiAgICAgcmV0dXJuIGRhdGVT
dHJpbmcgKyB0aW1lT2ZEYXk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXJjaGl2ZS9taHRtbC9NSFRNTEFyY2hpdmUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fy
Y2hpdmUvbWh0bWwvTUhUTUxBcmNoaXZlLmNwcAppbmRleCBjZmZiZWY5Li5kOTA0YzVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9taHRtbC9NSFRNTEFyY2hpdmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL21odG1sL01IVE1MQXJjaGl2
ZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLworI2RlZmluZSBFTkFCTEVfTUhUTUwgMQogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKQEAg
LTQ1LDYgKzQ2LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51
bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgorI2luY2x1ZGUgPHd0Zi9HcmVnb3Jp
YW5EYXRlVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9CYXNlNjQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CkBA
IC0xNTAsOSArMTUyLDkgQEAgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IE1IVE1MQXJjaGl2ZTo6
Z2VuZXJhdGVNSFRNTERhdGEoUGFnZSogcGFnZSwgYm9vbCB1c2VCaW4KICAgICBTdHJpbmcgYm91
bmRhcnkgPSBnZW5lcmF0ZVJhbmRvbUJvdW5kYXJ5KCk7CiAgICAgU3RyaW5nIGVuZE9mUmVzb3Vy
Y2VCb3VuZGFyeSA9IG1ha2VTdHJpbmcoIi0tIiwgYm91bmRhcnksICJcclxuIik7CiAKLSAgICB0
bSBsb2NhbFRNOwotICAgIGdldEN1cnJlbnRMb2NhbFRpbWUoJmxvY2FsVE0pOwotICAgIFN0cmlu
ZyBkYXRlU3RyaW5nID0gbWFrZVJGQzI4MjJEYXRlU3RyaW5nKGxvY2FsVE0udG1fd2RheSwgbG9j
YWxUTS50bV9tZGF5LCBsb2NhbFRNLnRtX21vbiwgMTkwMCArIGxvY2FsVE0udG1feWVhciwgbG9j
YWxUTS50bV9ob3VyLCBsb2NhbFRNLnRtX21pbiwgbG9jYWxUTS50bV9zZWMsIGNhbGN1bGF0ZVVU
Q09mZnNldCgpIC8gKDEwMDAgKiA2MCkpOworICAgIEdyZWdvcmlhbkRhdGVUaW1lIG5vdzsKKyAg
ICBub3cuc2V0VG9DdXJyZW50TG9jYWxUaW1lKCk7CisgICAgU3RyaW5nIGRhdGVTdHJpbmcgPSBt
YWtlUkZDMjgyMkRhdGVTdHJpbmcobm93LndlZWtEYXkoKSwgbm93Lm1vbnRoRGF5KCksIG5vdy5t
b250aCgpLCBub3cueWVhcigpLCBub3cuaG91cigpLCBub3cubWludXRlKCksIG5vdy5zZWNvbmQo
KSwgY2FsY3VsYXRlVVRDT2Zmc2V0KCkgLyAoMTAwMCAqIDYwKSk7CiAKICAgICBTdHJpbmdCdWls
ZGVyIHN0cmluZ0J1aWxkZXI7CiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIkZyb206IDxTYXZl
ZCBieSBXZWJLaXQ+XHJcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdE1hY3Jv
cy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRNYWNyb3MuY21ha2UKaW5kZXggZWQ4ZWI1ZC4u
NTFlYTAxMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdE1hY3Jvcy5jbWFrZQorKysg
Yi9Tb3VyY2UvY21ha2UvV2ViS2l0TWFjcm9zLmNtYWtlCkBAIC0yMyw2ICsyMywyOCBAQCBNQUNS
TyAoQUREX1NPVVJDRV9ERVBFTkRFTkNJRVMgX3NvdXJjZSBfZGVwcykKICAgICBTRVRfU09VUkNF
X0ZJTEVTX1BST1BFUlRJRVMoJHtfc291cmNlfSBQUk9QRVJUSUVTIE9CSkVDVF9ERVBFTkRTICIk
e190bXB9IikKIEVORE1BQ1JPICgpCiAKK01BQ1JPIChBRERfUFJFQ09NUElMRURfSEVBREVSIF9z
b3VyY2VzdmFyaWFibGUgX2hlYWRlciBfc291cmNlKQorICAgIElGIChNU1ZDKQorICAgICAgICBH
RVRfRklMRU5BTUVfQ09NUE9ORU5UKF9hYnNvbHV0ZSAiJHtfaGVhZGVyfSIgQUJTT0xVVEUpCisg
ICAgICAgIEdFVF9GSUxFTkFNRV9DT01QT05FTlQoX2Jhc2VuYW1lICIke19oZWFkZXJ9IiBOQU1F
X1dFKQorICAgICAgICBTRVQoX2NwcEZpbGUgIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8k
e19iYXNlbmFtZX0uY3BwIikKKyAgICAgICAgU0VUKF9wY2hGaWxlICIke0NNQUtFX0NVUlJFTlRf
QklOQVJZX0RJUn0vJHtfYmFzZW5hbWV9LnBjaCIpCisKKyAgICAgICAgSUYgKE5PVCBFWElTVFMg
IiR7X2NwcEZpbGV9IikKKyAgICAgICAgICAgIEZJTEUoV1JJVEUgIiR7X2NwcEZpbGV9IiAiI2lu
Y2x1ZGUgXCIke19hYnNvbHV0ZX1cIlxuIikKKyAgICAgICAgRU5ESUYgKCkKKworICAgICAgICBT
RVRfU09VUkNFX0ZJTEVTX1BST1BFUlRJRVMoJHtfc291cmNlfQorICAgICAgICAgICAgUFJPUEVS
VElFUyBDT01QSUxFX0ZMQUdTICIvWWNcIiR7X2hlYWRlcn1cIiAvRnBcIiR7X3BjaEZpbGV9XCIi
CisgICAgICAgICAgICBPQkpFQ1RfT1VUUFVUUyAiJHtfcGNoRmlsZX0iKQorICAgICAgICBTRVRf
U09VUkNFX0ZJTEVTX1BST1BFUlRJRVMoJHske19zb3VyY2VzdmFyaWFibGV9fQorICAgICAgICAg
ICAgUFJPUEVSVElFUyBDT01QSUxFX0ZMQUdTICIvWXVcIiR7X2hlYWRlcn1cIiAvRklcIiR7X3Bj
aEZpbGV9XCIgL0ZwXCIke19wY2hGaWxlfVwiIgorICAgICAgICAgICAgT0JKRUNUX0RFUEVORFMg
IiR7X3BjaEZpbGV9IikKKworICAgICAgICBMSVNUKEFQUEVORCAke19zb3VyY2VzdmFyaWFibGV9
ICR7X3NvdXJjZX0pCisgICAgRU5ESUYgKCkKK0VORE1BQ1JPICgpCisKIAogIyBIZWxwZXIgbWFj
cm8gd2hpY2ggd3JhcHMgZ2VuZXJhdGUtYmluZGluZ3MucGwgc2NyaXB0LgogIyAgIF9vdXRwdXRf
c291cmNlIGlzIGEgbGlzdCBuYW1lIHdoaWNoIHdpbGwgY29udGFpbiBnZW5lcmF0ZWQgc291cmNl
cy4oZWcuIFdlYkNvcmVfU09VUkNFUykKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3B0aHJlYWRzL0phdmFTY3JpcHRUaHJlYWRpbmdQdGhyZWFkcy5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9wdGhyZWFkcy9KYXZhU2NyaXB0VGhyZWFkaW5nUHRocmVhZHMuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjY2YzAyLi4wMDAwMDAwCi0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3B0aHJlYWRzL0phdmFTY3JpcHRUaHJlYWRpbmdQdGhyZWFkcy5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNDggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAw
NiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAgICAgICAgICAgKEMp
IDIwMDcgR3JhaGFtIERlbm5pcyAoZ3JhaGFtLmRlbm5pc0BnbWFpbC5jb20pCi0gKiAgICAgICAg
ICAgKEMpIDIwMDcgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uIAotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAK
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotIAotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIkphdmFTY3JpcHRUaHJlYWRpbmcuaCIKLQotI2luY2x1ZGUgPENv
cmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuaD4KLSNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotCi1zdGF0aWMgSlNDb250ZXh0
R3JvdXBSZWYgamF2YVNjcmlwdFRocmVhZHNHcm91cDsKLQotc3RhdGljIHB0aHJlYWRfbXV0ZXhf
dCBqYXZhU2NyaXB0VGhyZWFkc011dGV4ID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKLXN0
YXRpYyBib29sIGphdmFTY3JpcHRUaHJlYWRzU2hvdWxkVGVybWluYXRlOwotCi1zdGF0aWMgY29u
c3QgaW50IGphdmFTY3JpcHRUaHJlYWRzQ291bnQgPSA0OwotCi10eXBlZGVmIEhhc2hTZXQ8cHRo
cmVhZF90PiBUaHJlYWRTZXQ7Ci0KLXN0YXRpYyBUaHJlYWRTZXQqIGphdmFTY3JpcHRUaHJlYWRz
KCkKLXsKLSAgICBBU1NFUlQocHRocmVhZF9tdXRleF90cnlsb2NrKCZqYXZhU2NyaXB0VGhyZWFk
c011dGV4KSA9PSBFQlVTWSk7Ci0gICAgc3RhdGljIFRocmVhZFNldCBzdGF0aWNKYXZhU2NyaXB0
VGhyZWFkczsKLSAgICByZXR1cm4gJnN0YXRpY0phdmFTY3JpcHRUaHJlYWRzOwotfQotCi0vLyBU
aGlzIGZ1bmN0aW9uIGV4ZXJjaXNlcyBKU0MgaW4gYSBsb29wIHVudGlsIGphdmFTY3JpcHRUaHJl
YWRzU2hvdWxkVGVybWluYXRlCi0vLyBiZWNvbWVzIHRydWUgb3IgaXQgcHJvYmFiaWxpc3RpY2Fs
bHkgZGVjaWRlcyB0byBzcGF3biBhIHJlcGxhY2VtZW50IHRocmVhZCBhbmQgZXhpdC4KLXZvaWQq
IHJ1bkphdmFTY3JpcHRUaHJlYWQodm9pZCogYXJnKQotewotICAgIHN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBzY3JpcHQgPQotICAgICAgICAidmFyIGFycmF5ID0gW107IgotICAgICAgICAiZm9y
ICh2YXIgaSA9IDA7IGkgPCAxMDI0OyBpKyspIHsiCi0gICAgICAgICIgICAgYXJyYXkucHVzaChT
dHJpbmcoaSkpOyIKLSAgICAgICAgIn0iOwotCi0gICAgcHRocmVhZF9tdXRleF9sb2NrKCZqYXZh
U2NyaXB0VGhyZWFkc011dGV4KTsKLSAgICBKU0dsb2JhbENvbnRleHRSZWYgY3R4ID0gSlNHbG9i
YWxDb250ZXh0Q3JlYXRlSW5Hcm91cChqYXZhU2NyaXB0VGhyZWFkc0dyb3VwLCAwKTsKLSAgICBw
dGhyZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7Ci0KLSAgICBwdGhy
ZWFkX211dGV4X2xvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgpOwotICAgIEpTU3RyaW5nUmVm
IHNjcmlwdFJlZiA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHNjcmlwdCk7Ci0gICAg
cHRocmVhZF9tdXRleF91bmxvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgpOwotCi0gICAgd2hp
bGUgKDEpIHsKLSAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011
dGV4KTsKLSAgICAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgICAgICBKU0V2YWx1
YXRlU2NyaXB0KGN0eCwgc2NyaXB0UmVmLCAwLCAwLCAxLCAmZXhjZXB0aW9uKTsKLSAgICAgICAg
QVNTRVJUKCFleGNlcHRpb24pOwotICAgICAgICBwdGhyZWFkX211dGV4X3VubG9jaygmamF2YVNj
cmlwdFRocmVhZHNNdXRleCk7Ci0KLSAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZqYXZhU2Ny
aXB0VGhyZWFkc011dGV4KTsKLSAgICAgICAgc2l6ZV90IHZhbHVlc0NvdW50ID0gMTAyNDsKLSAg
ICAgICAgSlNWYWx1ZVJlZiB2YWx1ZXNbdmFsdWVzQ291bnRdOwotICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHZhbHVlc0NvdW50OyArK2kpCi0gICAgICAgICAgICB2YWx1ZXNbaV0gPSBK
U09iamVjdE1ha2UoY3R4LCAwLCAwKTsKLSAgICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmph
dmFTY3JpcHRUaHJlYWRzTXV0ZXgpOwotCi0gICAgICAgIC8vIENoZWNrIGZvciBjYW5jZWxsYXRp
b24uCi0gICAgICAgIGlmIChqYXZhU2NyaXB0VGhyZWFkc1Nob3VsZFRlcm1pbmF0ZSkKLSAgICAg
ICAgICAgIGdvdG8gZG9uZTsKLQotICAgICAgICAvLyBSZXNwYXduIHByb2JhYmlsaXN0aWNhbGx5
LgotICAgICAgICBpZiAocmFuZG9tKCkgJSA1ID09IDApIHsKLSAgICAgICAgICAgIHB0aHJlYWRf
bXV0ZXhfbG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7Ci0gICAgICAgICAgICBwdGhyZWFk
X3QgcHRocmVhZDsKLSAgICAgICAgICAgIHB0aHJlYWRfY3JlYXRlKCZwdGhyZWFkLCAwLCAmcnVu
SmF2YVNjcmlwdFRocmVhZCwgMCk7Ci0gICAgICAgICAgICBwdGhyZWFkX2RldGFjaChwdGhyZWFk
KTsKLSAgICAgICAgICAgIGphdmFTY3JpcHRUaHJlYWRzKCktPmFkZChwdGhyZWFkKTsKLSAgICAg
ICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4KTsKLSAg
ICAgICAgICAgIGdvdG8gZG9uZTsKLSAgICAgICAgfQotICAgIH0KLQotZG9uZToKLSAgICBwdGhy
ZWFkX211dGV4X2xvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgpOwotICAgIEpTU3RyaW5nUmVs
ZWFzZShzY3JpcHRSZWYpOwotICAgIEpTR2FyYmFnZUNvbGxlY3QoY3R4KTsKLSAgICBKU0dsb2Jh
bENvbnRleHRSZWxlYXNlKGN0eCk7Ci0gICAgamF2YVNjcmlwdFRocmVhZHMoKS0+cmVtb3ZlKHB0
aHJlYWRfc2VsZigpKTsKLSAgICBwdGhyZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlwdFRocmVh
ZHNNdXRleCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLXZvaWQgc3RhcnRKYXZhU2NyaXB0VGhyZWFk
cygpCi17Ci0gICAgamF2YVNjcmlwdFRocmVhZHNHcm91cCA9IEpTQ29udGV4dEdyb3VwQ3JlYXRl
KCk7Ci0KLSAgICBwdGhyZWFkX211dGV4X2xvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgpOwot
Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBqYXZhU2NyaXB0VGhyZWFkc0NvdW50OyBpKyspIHsK
LSAgICAgICAgcHRocmVhZF90IHB0aHJlYWQ7Ci0gICAgICAgIHB0aHJlYWRfY3JlYXRlKCZwdGhy
ZWFkLCAwLCAmcnVuSmF2YVNjcmlwdFRocmVhZCwgMCk7Ci0gICAgICAgIHB0aHJlYWRfZGV0YWNo
KHB0aHJlYWQpOwotICAgICAgICBqYXZhU2NyaXB0VGhyZWFkcygpLT5hZGQocHRocmVhZCk7Ci0g
ICAgfQotCi0gICAgcHRocmVhZF9tdXRleF91bmxvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgp
OwotfQotCi12b2lkIHN0b3BKYXZhU2NyaXB0VGhyZWFkcygpCi17Ci0gICAgcHRocmVhZF9tdXRl
eF9sb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4KTsKLQotICAgIGphdmFTY3JpcHRUaHJlYWRz
U2hvdWxkVGVybWluYXRlID0gdHJ1ZTsKLQotICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZqYXZh
U2NyaXB0VGhyZWFkc011dGV4KTsKLQotICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgIHB0aHJl
YWRfbXV0ZXhfbG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7Ci0gICAgICAgIGludCB0aHJl
YWRDb3VudCA9IGphdmFTY3JpcHRUaHJlYWRzKCktPnNpemUoKTsKLSAgICAgICAgcHRocmVhZF9t
dXRleF91bmxvY2soJmphdmFTY3JpcHRUaHJlYWRzTXV0ZXgpOwotCi0gICAgICAgIGlmICghdGhy
ZWFkQ291bnQpCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICB1c2xlZXAoMTAwMCk7Ci0g
ICAgfQotfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0NNYWtlTGlzdHMu
dHh0IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0NNYWtlTGlzdHMudHh0CmluZGV4IGM0ZDkw
OTUuLjJmM2NkZTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9DTWFrZUxp
c3RzLnR4dAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQ01ha2VMaXN0cy50eHQKQEAg
LTQsNiArNCw3IEBAIFNFVChEdW1wUmVuZGVyVHJlZV9TT1VSQ0VTCiAgICAgJHtUT09MU19ESVJ9
L0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCiAgICAgJHtUT09MU19E
SVJ9L0R1bXBSZW5kZXJUcmVlL0N5Y2xpY1JlZHVuZGFuY3lDaGVjay5jcHAKICAgICAke1RPT0xT
X0RJUn0vRHVtcFJlbmRlclRyZWUvR0NDb250cm9sbGVyLmNwcAorICAgICR7VE9PTFNfRElSfS9E
dW1wUmVuZGVyVHJlZS9KYXZhU2NyaXB0VGhyZWFkaW5nLmNwcAogICAgICR7VE9PTFNfRElSfS9E
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKICAgICAke1RPT0xTX0RJUn0v
RHVtcFJlbmRlclRyZWUvUGl4ZWxEdW1wU3VwcG9ydC5jcHAKICAgICAke1RPT0xTX0RJUn0vRHVt
cFJlbmRlclRyZWUvV29ya1F1ZXVlLmNwcAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154970</attachid>
            <date>2012-07-27 09:10:55 -0700</date>
            <delta_ts>2013-05-09 15:11:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92371.patch</filename>
            <type>text/plain</type>
            <size>6763</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1MDUz
ODY3Li5jYThiYmU4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDctMjYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dJTl1bRFJUXSBSZW1vdmUgZHVwbGljYXRl
ZCAoc3RhcnR8c3RvcClKYXZhU2NyaXB0VGhyZWFkcygpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBKYXZhU2NyaXB0VGhyZWFkaW5nLmNwcCB3aGVy
ZSB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGlzCisgICAgICAgIGltcGxlbWVudGVkIHRvby4gVGhp
cyByZWR1Y2VzIHRoZSBkZXBlbmRlbmN5IG9uIHRoZSBwdGhyZWFkCisgICAgICAgIGxpYnJhcnku
IEFsc28gcmVwbGFjZSBhc3NlcnQoKSB3aXRoIFdlYktpdCBBU1NFUlQoKS4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChkdW1wSGlz
dG9yeUl0ZW0pOgorICAgICAgICAoZHVtcEJhY2tGb3J3YXJkTGlzdCk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJvajoKKwogMjAxMi0wNy0yNyAgWW91
bmdUYWVjayBTb25nICA8eW91bmd0YWVjay5zb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtX
SzJdW0VGTF0gQWRkIGFuIEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIGltcGxlbWVudGF0aW9uIGZv
ciBFZmwgV2ViS2l0MgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAKaW5kZXggZjQwMmEwMi4uMmNlZjM1YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRWRpdGluZ0Rl
bGVnYXRlLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkRGVsZWdhdGUuaCIKICNpbmNsdWRlICJIaXN0
b3J5RGVsZWdhdGUuaCIKKyNpbmNsdWRlICJKYXZhU2NyaXB0VGhyZWFkaW5nLmgiCiAjaW5jbHVk
ZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Lmgi
CiAjaW5jbHVkZSAiUG9saWN5RGVsZWdhdGUuaCIKQEAgLTQ1LDcgKzQ2LDYgQEAKICNpbmNsdWRl
IDxmY250bC5oPgogI2luY2x1ZGUgPGlvLmg+CiAjaW5jbHVkZSA8bWF0aC5oPgotI2luY2x1ZGUg
PHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzaGx3YXBpLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNp
bmNsdWRlIDxzdHJpbmcuaD4KQEAgLTU0LDcgKzU0LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVG
b3VuZGF0aW9uLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4K
ICNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Lmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dlYktpdENPTUFQ
SS5oPgogCkBAIC01MjcsNyArNTI2LDcgQEAgc3RhdGljIGludCBjb21wYXJlSGlzdG9yeUl0ZW1z
KGNvbnN0IHZvaWQqIGl0ZW0xLCBjb25zdCB2b2lkKiBpdGVtMikKIAogc3RhdGljIHZvaWQgZHVt
cEhpc3RvcnlJdGVtKElXZWJIaXN0b3J5SXRlbSogaXRlbSwgaW50IGluZGVudCwgYm9vbCBjdXJy
ZW50KQogewotICAgIGFzc2VydChpdGVtKTsKKyAgICBBU1NFUlQoaXRlbSk7CiAKICAgICBpbnQg
c3RhcnQgPSAwOwogICAgIGlmIChjdXJyZW50KSB7CkBAIC02NDQsMTcgKzY0MywxNyBAQCBzdGF0
aWMgdm9pZCBkdW1wQmFja0ZvcndhcmRMaXN0KElXZWJWaWV3KiB3ZWJWaWV3KQogICAgICAgICBp
ZiAoRkFJTEVEKGJmTGlzdC0+aXRlbUF0SW5kZXgoaSwgJml0ZW0pKSkKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgLy8gc29tZXRoaW5nIGlzIHdyb25nIGlmIHRoZSBpdGVtIGZyb20gdGhl
IGxhc3QgdGVzdCBpcyBpbiB0aGUgZm9yd2FyZCBwYXJ0IG9mIHRoZSBiL2YgbGlzdAotICAgICAg
ICBhc3NlcnQoaXRlbSAhPSBwcmV2VGVzdEJGSXRlbSk7CisgICAgICAgIEFTU0VSVChpdGVtICE9
IHByZXZUZXN0QkZJdGVtKTsKICAgICAgICAgQ09NUHRyPElVbmtub3duPiBpdGVtVW5rbm93bjsK
ICAgICAgICAgaXRlbS0+UXVlcnlJbnRlcmZhY2UoJml0ZW1Vbmtub3duKTsKICAgICAgICAgaXRl
bXNUb1ByaW50LmFwcGVuZChpdGVtVW5rbm93bik7CiAgICAgfQotICAgIAorCiAgICAgQ09NUHRy
PElXZWJIaXN0b3J5SXRlbT4gY3VycmVudEl0ZW07CiAgICAgaWYgKEZBSUxFRChiZkxpc3QtPmN1
cnJlbnRJdGVtKCZjdXJyZW50SXRlbSkpKQogICAgICAgICByZXR1cm47CiAKLSAgICBhc3NlcnQo
Y3VycmVudEl0ZW0gIT0gcHJldlRlc3RCRkl0ZW0pOworICAgIEFTU0VSVChjdXJyZW50SXRlbSAh
PSBwcmV2VGVzdEJGSXRlbSk7CiAgICAgQ09NUHRyPElVbmtub3duPiBjdXJyZW50SXRlbVVua25v
d247CiAgICAgY3VycmVudEl0ZW0tPlF1ZXJ5SW50ZXJmYWNlKCZjdXJyZW50SXRlbVVua25vd24p
OwogICAgIGl0ZW1zVG9QcmludC5hcHBlbmQoY3VycmVudEl0ZW1Vbmtub3duKTsKQEAgLTEwODQs
MTExICsxMDgzLDYgQEAgZXhpdDoKICAgICByZXR1cm47CiB9CiAKLXN0YXRpYyBCb29sZWFuIHB0
aHJlYWRFcXVhbENhbGxiYWNrKGNvbnN0IHZvaWQqIHZhbHVlMSwgY29uc3Qgdm9pZCogdmFsdWUy
KQotewotICAgIHJldHVybiAoQm9vbGVhbilwdGhyZWFkX2VxdWFsKCoocHRocmVhZF90Kil2YWx1
ZTEsICoocHRocmVhZF90Kil2YWx1ZTIpOwotfQotCi1zdGF0aWMgQ0ZEaWN0aW9uYXJ5S2V5Q2Fs
bEJhY2tzIHB0aHJlYWRLZXlDYWxsYmFja3MgPSB7IDAsIDAsIDAsIDAsIHB0aHJlYWRFcXVhbENh
bGxiYWNrLCAwIH07Ci0KLXN0YXRpYyBwdGhyZWFkX211dGV4X3QgamF2YVNjcmlwdFRocmVhZHNN
dXRleCA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7Ci1zdGF0aWMgYm9vbCBqYXZhU2NyaXB0
VGhyZWFkc1Nob3VsZFRlcm1pbmF0ZTsKLQotc3RhdGljIGNvbnN0IGludCBqYXZhU2NyaXB0VGhy
ZWFkc0NvdW50ID0gNDsKLXN0YXRpYyBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGphdmFTY3JpcHRU
aHJlYWRzKCkKLXsKLSAgICBhc3NlcnQocHRocmVhZF9tdXRleF90cnlsb2NrKCZqYXZhU2NyaXB0
VGhyZWFkc011dGV4KSA9PSBFQlVTWSk7Ci0gICAgc3RhdGljIENGTXV0YWJsZURpY3Rpb25hcnlS
ZWYgc3RhdGljSmF2YVNjcmlwdFRocmVhZHM7Ci0gICAgaWYgKCFzdGF0aWNKYXZhU2NyaXB0VGhy
ZWFkcykKLSAgICAgICAgc3RhdGljSmF2YVNjcmlwdFRocmVhZHMgPSBDRkRpY3Rpb25hcnlDcmVh
dGVNdXRhYmxlKDAsIDAsICZwdGhyZWFkS2V5Q2FsbGJhY2tzLCAwKTsKLSAgICByZXR1cm4gc3Rh
dGljSmF2YVNjcmlwdFRocmVhZHM7Ci19Ci0KLS8vIExvb3BzIGZvcmV2ZXIsIHJ1bm5pbmcgYSBz
Y3JpcHQgYW5kIHJhbmRvbWx5IHJlc3Bhd25pbmcsIHVudGlsIAotLy8gamF2YVNjcmlwdFRocmVh
ZHNTaG91bGRUZXJtaW5hdGUgYmVjb21lcyB0cnVlLgotdm9pZCogcnVuSmF2YVNjcmlwdFRocmVh
ZCh2b2lkKiBhcmcpCi17Ci0gICAgY29uc3QgY2hhciogY29uc3Qgc2NyaXB0ID0KLSAgICAiIFwK
LSAgICB2YXIgYXJyYXkgPSBbXTsgXAotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykg
eyBcCi0gICAgICAgIGFycmF5LnB1c2goU3RyaW5nKGkpKTsgXAotICAgIH0gXAotICAgICI7Ci0K
LSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICBKU0dsb2JhbENvbnRleHRSZWYgY3R4ID0gSlNH
bG9iYWxDb250ZXh0Q3JlYXRlKDApOwotICAgICAgICBKU1N0cmluZ1JlZiBzY3JpcHRSZWYgPSBK
U1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhzY3JpcHQpOwotCi0gICAgICAgIEpTVmFsdWVS
ZWYgZXhjZXB0aW9uID0gMDsKLSAgICAgICAgSlNFdmFsdWF0ZVNjcmlwdChjdHgsIHNjcmlwdFJl
ZiwgMCwgMCwgMSwgJmV4Y2VwdGlvbik7Ci0gICAgICAgIGFzc2VydCghZXhjZXB0aW9uKTsKLSAg
ICAgICAgCi0gICAgICAgIEpTR2xvYmFsQ29udGV4dFJlbGVhc2UoY3R4KTsKLSAgICAgICAgSlNT
dHJpbmdSZWxlYXNlKHNjcmlwdFJlZik7Ci0gICAgICAgIAotICAgICAgICBKU0dhcmJhZ2VDb2xs
ZWN0KGN0eCk7Ci0KLSAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZqYXZhU2NyaXB0VGhyZWFk
c011dGV4KTsKLQotICAgICAgICAvLyBDaGVjayBmb3IgY2FuY2VsbGF0aW9uLgotICAgICAgICBp
ZiAoamF2YVNjcmlwdFRocmVhZHNTaG91bGRUZXJtaW5hdGUpIHsKLSAgICAgICAgICAgIHB0aHJl
YWRfbXV0ZXhfdW5sb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4KTsKLSAgICAgICAgICAgIHJl
dHVybiAwOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gUmVzcGF3biBwcm9iYWJpbGlzdGljYWxs
eS4KLSAgICAgICAgaWYgKHJhbmQoKSAlIDUgPT0gMCkgewotICAgICAgICAgICAgcHRocmVhZF90
IHB0aHJlYWQ7Ci0gICAgICAgICAgICBwdGhyZWFkX2NyZWF0ZSgmcHRocmVhZCwgMCwgJnJ1bkph
dmFTY3JpcHRUaHJlYWQsIDApOwotICAgICAgICAgICAgcHRocmVhZF9kZXRhY2gocHRocmVhZCk7
Ci0KLSAgICAgICAgICAgIHB0aHJlYWRfdCBzZWxmID0gcHRocmVhZF9zZWxmKCk7Ci0gICAgICAg
ICAgICBDRkRpY3Rpb25hcnlSZW1vdmVWYWx1ZShqYXZhU2NyaXB0VGhyZWFkcygpLCBzZWxmLnAp
OwotICAgICAgICAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoamF2YVNjcmlwdFRocmVhZHMoKSwg
cHRocmVhZC5wLCAwKTsKLQotICAgICAgICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmphdmFT
Y3JpcHRUaHJlYWRzTXV0ZXgpOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KLQot
ICAgICAgICBwdGhyZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7Ci0g
ICAgfQotfQotCi1zdGF0aWMgdm9pZCBzdGFydEphdmFTY3JpcHRUaHJlYWRzKHZvaWQpCi17Ci0g
ICAgcHRocmVhZF9tdXRleF9sb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4KTsKLQotICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgamF2YVNjcmlwdFRocmVhZHNDb3VudDsgaSsrKSB7Ci0gICAgICAg
IHB0aHJlYWRfdCBwdGhyZWFkOwotICAgICAgICBwdGhyZWFkX2NyZWF0ZSgmcHRocmVhZCwgMCwg
JnJ1bkphdmFTY3JpcHRUaHJlYWQsIDApOwotICAgICAgICBwdGhyZWFkX2RldGFjaChwdGhyZWFk
KTsKLSAgICAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoamF2YVNjcmlwdFRocmVhZHMoKSwgcHRo
cmVhZC5wLCAwKTsKLSAgICB9Ci0KLSAgICBwdGhyZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlw
dFRocmVhZHNNdXRleCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN0b3BKYXZhU2NyaXB0VGhyZWFkcyh2
b2lkKQotewotICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7
Ci0KLSAgICBqYXZhU2NyaXB0VGhyZWFkc1Nob3VsZFRlcm1pbmF0ZSA9IHRydWU7Ci0KLSAgICBw
dGhyZWFkX3QqIHB0aHJlYWRzW2phdmFTY3JpcHRUaHJlYWRzQ291bnRdID0gezB9OwotICAgIGlu
dCB0aHJlYWREaWN0Q291bnQgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChqYXZhU2NyaXB0VGhyZWFk
cygpKTsKLSAgICBhc3NlcnQodGhyZWFkRGljdENvdW50ID09IGphdmFTY3JpcHRUaHJlYWRzQ291
bnQpOwotICAgIENGRGljdGlvbmFyeUdldEtleXNBbmRWYWx1ZXMoamF2YVNjcmlwdFRocmVhZHMo
KSwgKGNvbnN0IHZvaWQqKilwdGhyZWFkcywgMCk7Ci0KLSAgICBwdGhyZWFkX211dGV4X3VubG9j
aygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7Ci0KLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGph
dmFTY3JpcHRUaHJlYWRzQ291bnQ7IGkrKykgewotICAgICAgICBwdGhyZWFkX3QqIHB0aHJlYWQg
PSBwdGhyZWFkc1tpXTsKLSAgICAgICAgcHRocmVhZF9qb2luKCpwdGhyZWFkLCAwKTsKLSAgICAg
ICAgZnJlZShwdGhyZWFkKTsKLSAgICB9Ci19Ci0KIFZlY3RvcjxIV05EPiYgb3BlbldpbmRvd3Mo
KQogewogICAgIHN0YXRpYyBWZWN0b3I8SFdORD4gdmVjdG9yOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJvaiBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS52Y3Byb2oKaW5kZXggNDg0M2MzOS4uM2VkYWMxOCAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJv
agorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUudmNwcm9qCkBA
IC00MzgsNiArNDM4LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXEphdmFTY3JpcHRUaHJlYWRpbmcuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxKYXZhU2NyaXB0VGhyZWFkaW5nLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXExheW91dFRl
c3RDb250cm9sbGVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201286</attachid>
            <date>2013-05-09 15:11:27 -0700</date>
            <delta_ts>2013-05-09 16:47:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92371-20130510001028.patch</filename>
            <type>text/plain</type>
            <size>8414</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5ODQ1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGQ4YTQwNzkyZWNlMjkxZjQzYjg3ODY2YWI1MTU5OTFi
ZWY5NTA5ZS4uN2Q3NTViODYxYjlhYjhkYThlNmNmMDZiNTUwM2I3Yjk0YzJlNTcyNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIy
IEBACiAyMDEzLTA1LTA5ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgog
CisgICAgICAgIFtXSU5dW0RSVF0gUmVtb3ZlIGR1cGxpY2F0ZWQgKHN0YXJ0fHN0b3ApSmF2YVNj
cmlwdFRocmVhZHMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTIzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAg
ICAgIFVzZSBKYXZhU2NyaXB0VGhyZWFkaW5nLmNwcCB3aGVyZSB0aGUgc2FtZSBmdW5jdGlvbmFs
aXR5IGlzCisgICAgICAgIGltcGxlbWVudGVkIHRvby4gVGhpcyByZWR1Y2VzIHRoZSBkZXBlbmRl
bmN5IG9uIHRoZSBwdGhyZWFkCisgICAgICAgIGxpYnJhcnkuIEFsc28gcmVwbGFjZSBhc3NlcnQo
KSB3aXRoIFdlYktpdCBBU1NFUlQoKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBS
ZW5kZXJUcmVlLnZjeHByb2ovRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUudmN4cHJvajoK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAg
ICAoZHVtcEhpc3RvcnlJdGVtKToKKyAgICAgICAgKGR1bXBCYWNrRm9yd2FyZExpc3QpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS52Y3Byb2o6CisKKzIwMTMt
MDUtMDkgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKICAgICAgICAg
W0RSVF0gUmVwbGFjZSBKYXZhU2NyaXB0VGhyZWFkaW5nUHRocmVhZHMuY3BwIHdpdGggSmF2YVNj
cmlwdFRocmVhZGluZy5jcHAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkyNTA1CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBS
ZW5kZXJUcmVlLnZjeHByb2ovRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUudmN4cHJvaiBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnZjeHByb2ovRHVtcFJlbmRlclRy
ZWUvRHVtcFJlbmRlclRyZWUudmN4cHJvagppbmRleCA0MmI2MTg3NDU1ZGRkZTAxMjA3YThlZTBj
MWZmYzZjYjBmNWVlYTk1Li5mYzI5YTc0YTNkYjNhNjU3NDY0ZDcwZDI3YTAzMjAxMDkzZjAzYTY4
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS52Y3hwcm9q
L0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnZjeHByb2oKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvRHVtcFJlbmRlclRyZWUudmN4cHJvai9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS52Y3hwcm9qCkBAIC0xMDcsNiArMTA3LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXC4uXEN5Y2xpY1JlZHVuZGFuY3lDaGVjay5jcHAiIC8+DQogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cLi5cRHVtcFJlbmRlclRyZWVDb21tb24uY3BwIiAvPg0KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXEdDQ29udHJvbGxlci5jcHAiIC8+DQorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cLi5cSmF2YVNjcmlwdFRocmVhZGluZy5jcHAiIC8+DQogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cLi5cUGl4ZWxEdW1wU3VwcG9ydC5jcHAiIC8+DQogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cLi5cVGVzdFJ1bm5lci5jcHAiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cLi5cd2luXEFjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcCIgLz4NCkBAIC0xNTAs
NiArMTUxLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXER1bXBSZW5kZXJUcmVl
LmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cRHVtcFJlbmRlclRyZWVQcmVm
aXguaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxHQ0NvbnRyb2xsZXIuaCIg
Lz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxKYXZhU2NyaXB0VGhyZWFkaW5nLmgi
IC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cUGl4ZWxEdW1wU3VwcG9ydC5oIiAv
Pg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXFRlc3RSdW5uZXIuaCIgLz4NCiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlx3aW5cRHJhZ2dpbmdJbmZvLmgiIC8+DQpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggNjVhMGYzNDU4OThk
NDg4NzA2Y2JjMTM0YzFmMGQwM2UxYTliYjY0OS4uOWFlZWU0NzgxMjUyZTU2NWQ0ZTFjNDhjMWY4
YWNjNGZhNmY5YmY0MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRWRpdGluZ0RlbGVnYXRlLmgiCiAj
aW5jbHVkZSAiRnJhbWVMb2FkRGVsZWdhdGUuaCIKICNpbmNsdWRlICJIaXN0b3J5RGVsZWdhdGUu
aCIKKyNpbmNsdWRlICJKYXZhU2NyaXB0VGhyZWFkaW5nLmgiCiAjaW5jbHVkZSAiUGl4ZWxEdW1w
U3VwcG9ydC5oIgogI2luY2x1ZGUgIlBvbGljeURlbGVnYXRlLmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUuaCIKQEAgLTQ1LDcgKzQ2LDYgQEAKICNpbmNsdWRlIDxmY250bC5oPgog
I2luY2x1ZGUgPGlvLmg+CiAjaW5jbHVkZSA8bWF0aC5oPgotI2luY2x1ZGUgPHB0aHJlYWQuaD4K
ICNpbmNsdWRlIDxzaGx3YXBpLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdHJp
bmcuaD4KQEAgLTU0LDcgKzU0LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVk
ZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+
Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KICNpbmNsdWRlIDxX
ZWJLaXQvV2ViS2l0Lmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dlYktpdENPTUFQSS5oPgogCkBAIC01
MjgsNyArNTI3LDcgQEAgc3RhdGljIGludCBjb21wYXJlSGlzdG9yeUl0ZW1zKGNvbnN0IHZvaWQq
IGl0ZW0xLCBjb25zdCB2b2lkKiBpdGVtMikKIAogc3RhdGljIHZvaWQgZHVtcEhpc3RvcnlJdGVt
KElXZWJIaXN0b3J5SXRlbSogaXRlbSwgaW50IGluZGVudCwgYm9vbCBjdXJyZW50KQogewotICAg
IGFzc2VydChpdGVtKTsKKyAgICBBU1NFUlQoaXRlbSk7CiAKICAgICBpbnQgc3RhcnQgPSAwOwog
ICAgIGlmIChjdXJyZW50KSB7CkBAIC02NDUsMTcgKzY0NCwxNyBAQCBzdGF0aWMgdm9pZCBkdW1w
QmFja0ZvcndhcmRMaXN0KElXZWJWaWV3KiB3ZWJWaWV3KQogICAgICAgICBpZiAoRkFJTEVEKGJm
TGlzdC0+aXRlbUF0SW5kZXgoaSwgJml0ZW0pKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgLy8gc29tZXRoaW5nIGlzIHdyb25nIGlmIHRoZSBpdGVtIGZyb20gdGhlIGxhc3QgdGVzdCBp
cyBpbiB0aGUgZm9yd2FyZCBwYXJ0IG9mIHRoZSBiL2YgbGlzdAotICAgICAgICBhc3NlcnQoaXRl
bSAhPSBwcmV2VGVzdEJGSXRlbSk7CisgICAgICAgIEFTU0VSVChpdGVtICE9IHByZXZUZXN0QkZJ
dGVtKTsKICAgICAgICAgQ09NUHRyPElVbmtub3duPiBpdGVtVW5rbm93bjsKICAgICAgICAgaXRl
bS0+UXVlcnlJbnRlcmZhY2UoJml0ZW1Vbmtub3duKTsKICAgICAgICAgaXRlbXNUb1ByaW50LmFw
cGVuZChpdGVtVW5rbm93bik7CiAgICAgfQotICAgIAorCiAgICAgQ09NUHRyPElXZWJIaXN0b3J5
SXRlbT4gY3VycmVudEl0ZW07CiAgICAgaWYgKEZBSUxFRChiZkxpc3QtPmN1cnJlbnRJdGVtKCZj
dXJyZW50SXRlbSkpKQogICAgICAgICByZXR1cm47CiAKLSAgICBhc3NlcnQoY3VycmVudEl0ZW0g
IT0gcHJldlRlc3RCRkl0ZW0pOworICAgIEFTU0VSVChjdXJyZW50SXRlbSAhPSBwcmV2VGVzdEJG
SXRlbSk7CiAgICAgQ09NUHRyPElVbmtub3duPiBjdXJyZW50SXRlbVVua25vd247CiAgICAgY3Vy
cmVudEl0ZW0tPlF1ZXJ5SW50ZXJmYWNlKCZjdXJyZW50SXRlbVVua25vd24pOwogICAgIGl0ZW1z
VG9QcmludC5hcHBlbmQoY3VycmVudEl0ZW1Vbmtub3duKTsKQEAgLTEwNzEsMTExICsxMDcwLDYg
QEAgZXhpdDoKICAgICByZXR1cm47CiB9CiAKLXN0YXRpYyBCb29sZWFuIHB0aHJlYWRFcXVhbENh
bGxiYWNrKGNvbnN0IHZvaWQqIHZhbHVlMSwgY29uc3Qgdm9pZCogdmFsdWUyKQotewotICAgIHJl
dHVybiAoQm9vbGVhbilwdGhyZWFkX2VxdWFsKCoocHRocmVhZF90Kil2YWx1ZTEsICoocHRocmVh
ZF90Kil2YWx1ZTIpOwotfQotCi1zdGF0aWMgQ0ZEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzIHB0aHJl
YWRLZXlDYWxsYmFja3MgPSB7IDAsIDAsIDAsIDAsIHB0aHJlYWRFcXVhbENhbGxiYWNrLCAwIH07
Ci0KLXN0YXRpYyBwdGhyZWFkX211dGV4X3QgamF2YVNjcmlwdFRocmVhZHNNdXRleCA9IFBUSFJF
QURfTVVURVhfSU5JVElBTElaRVI7Ci1zdGF0aWMgYm9vbCBqYXZhU2NyaXB0VGhyZWFkc1Nob3Vs
ZFRlcm1pbmF0ZTsKLQotc3RhdGljIGNvbnN0IGludCBqYXZhU2NyaXB0VGhyZWFkc0NvdW50ID0g
NDsKLXN0YXRpYyBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGphdmFTY3JpcHRUaHJlYWRzKCkKLXsK
LSAgICBhc3NlcnQocHRocmVhZF9tdXRleF90cnlsb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4
KSA9PSBFQlVTWSk7Ci0gICAgc3RhdGljIENGTXV0YWJsZURpY3Rpb25hcnlSZWYgc3RhdGljSmF2
YVNjcmlwdFRocmVhZHM7Ci0gICAgaWYgKCFzdGF0aWNKYXZhU2NyaXB0VGhyZWFkcykKLSAgICAg
ICAgc3RhdGljSmF2YVNjcmlwdFRocmVhZHMgPSBDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKDAs
IDAsICZwdGhyZWFkS2V5Q2FsbGJhY2tzLCAwKTsKLSAgICByZXR1cm4gc3RhdGljSmF2YVNjcmlw
dFRocmVhZHM7Ci19Ci0KLS8vIExvb3BzIGZvcmV2ZXIsIHJ1bm5pbmcgYSBzY3JpcHQgYW5kIHJh
bmRvbWx5IHJlc3Bhd25pbmcsIHVudGlsIAotLy8gamF2YVNjcmlwdFRocmVhZHNTaG91bGRUZXJt
aW5hdGUgYmVjb21lcyB0cnVlLgotdm9pZCogcnVuSmF2YVNjcmlwdFRocmVhZCh2b2lkKiBhcmcp
Ci17Ci0gICAgY29uc3QgY2hhciogY29uc3Qgc2NyaXB0ID0KLSAgICAiIFwKLSAgICB2YXIgYXJy
YXkgPSBbXTsgXAotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgeyBcCi0gICAgICAg
IGFycmF5LnB1c2goU3RyaW5nKGkpKTsgXAotICAgIH0gXAotICAgICI7Ci0KLSAgICB3aGlsZSAo
dHJ1ZSkgewotICAgICAgICBKU0dsb2JhbENvbnRleHRSZWYgY3R4ID0gSlNHbG9iYWxDb250ZXh0
Q3JlYXRlKDApOwotICAgICAgICBKU1N0cmluZ1JlZiBzY3JpcHRSZWYgPSBKU1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZyhzY3JpcHQpOwotCi0gICAgICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9u
ID0gMDsKLSAgICAgICAgSlNFdmFsdWF0ZVNjcmlwdChjdHgsIHNjcmlwdFJlZiwgMCwgMCwgMSwg
JmV4Y2VwdGlvbik7Ci0gICAgICAgIGFzc2VydCghZXhjZXB0aW9uKTsKLSAgICAgICAgCi0gICAg
ICAgIEpTR2xvYmFsQ29udGV4dFJlbGVhc2UoY3R4KTsKLSAgICAgICAgSlNTdHJpbmdSZWxlYXNl
KHNjcmlwdFJlZik7Ci0gICAgICAgIAotICAgICAgICBKU0dhcmJhZ2VDb2xsZWN0KGN0eCk7Ci0K
LSAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4KTsKLQot
ICAgICAgICAvLyBDaGVjayBmb3IgY2FuY2VsbGF0aW9uLgotICAgICAgICBpZiAoamF2YVNjcmlw
dFRocmVhZHNTaG91bGRUZXJtaW5hdGUpIHsKLSAgICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5s
b2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4KTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAg
ICAgICB9Ci0KLSAgICAgICAgLy8gUmVzcGF3biBwcm9iYWJpbGlzdGljYWxseS4KLSAgICAgICAg
aWYgKHJhbmQoKSAlIDUgPT0gMCkgewotICAgICAgICAgICAgcHRocmVhZF90IHB0aHJlYWQ7Ci0g
ICAgICAgICAgICBwdGhyZWFkX2NyZWF0ZSgmcHRocmVhZCwgMCwgJnJ1bkphdmFTY3JpcHRUaHJl
YWQsIDApOwotICAgICAgICAgICAgcHRocmVhZF9kZXRhY2gocHRocmVhZCk7Ci0KLSAgICAgICAg
ICAgIHB0aHJlYWRfdCBzZWxmID0gcHRocmVhZF9zZWxmKCk7Ci0gICAgICAgICAgICBDRkRpY3Rp
b25hcnlSZW1vdmVWYWx1ZShqYXZhU2NyaXB0VGhyZWFkcygpLCBzZWxmLnApOwotICAgICAgICAg
ICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoamF2YVNjcmlwdFRocmVhZHMoKSwgcHRocmVhZC5wLCAw
KTsKLQotICAgICAgICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmphdmFTY3JpcHRUaHJlYWRz
TXV0ZXgpOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KLQotICAgICAgICBwdGhy
ZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7Ci0gICAgfQotfQotCi1z
dGF0aWMgdm9pZCBzdGFydEphdmFTY3JpcHRUaHJlYWRzKHZvaWQpCi17Ci0gICAgcHRocmVhZF9t
dXRleF9sb2NrKCZqYXZhU2NyaXB0VGhyZWFkc011dGV4KTsKLQotICAgIGZvciAoaW50IGkgPSAw
OyBpIDwgamF2YVNjcmlwdFRocmVhZHNDb3VudDsgaSsrKSB7Ci0gICAgICAgIHB0aHJlYWRfdCBw
dGhyZWFkOwotICAgICAgICBwdGhyZWFkX2NyZWF0ZSgmcHRocmVhZCwgMCwgJnJ1bkphdmFTY3Jp
cHRUaHJlYWQsIDApOwotICAgICAgICBwdGhyZWFkX2RldGFjaChwdGhyZWFkKTsKLSAgICAgICAg
Q0ZEaWN0aW9uYXJ5QWRkVmFsdWUoamF2YVNjcmlwdFRocmVhZHMoKSwgcHRocmVhZC5wLCAwKTsK
LSAgICB9Ci0KLSAgICBwdGhyZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRl
eCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN0b3BKYXZhU2NyaXB0VGhyZWFkcyh2b2lkKQotewotICAg
IHB0aHJlYWRfbXV0ZXhfbG9jaygmamF2YVNjcmlwdFRocmVhZHNNdXRleCk7Ci0KLSAgICBqYXZh
U2NyaXB0VGhyZWFkc1Nob3VsZFRlcm1pbmF0ZSA9IHRydWU7Ci0KLSAgICBwdGhyZWFkX3QqIHB0
aHJlYWRzW2phdmFTY3JpcHRUaHJlYWRzQ291bnRdID0gezB9OwotICAgIGludCB0aHJlYWREaWN0
Q291bnQgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChqYXZhU2NyaXB0VGhyZWFkcygpKTsKLSAgICBh
c3NlcnQodGhyZWFkRGljdENvdW50ID09IGphdmFTY3JpcHRUaHJlYWRzQ291bnQpOwotICAgIENG
RGljdGlvbmFyeUdldEtleXNBbmRWYWx1ZXMoamF2YVNjcmlwdFRocmVhZHMoKSwgKGNvbnN0IHZv
aWQqKilwdGhyZWFkcywgMCk7Ci0KLSAgICBwdGhyZWFkX211dGV4X3VubG9jaygmamF2YVNjcmlw
dFRocmVhZHNNdXRleCk7Ci0KLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGphdmFTY3JpcHRUaHJl
YWRzQ291bnQ7IGkrKykgewotICAgICAgICBwdGhyZWFkX3QqIHB0aHJlYWQgPSBwdGhyZWFkc1tp
XTsKLSAgICAgICAgcHRocmVhZF9qb2luKCpwdGhyZWFkLCAwKTsKLSAgICAgICAgZnJlZShwdGhy
ZWFkKTsKLSAgICB9Ci19Ci0KIFZlY3RvcjxIV05EPiYgb3BlbldpbmRvd3MoKQogewogICAgIHN0
YXRpYyBWZWN0b3I8SFdORD4gdmVjdG9yOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJvaiBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS52Y3Byb2oKaW5kZXggY2RlNmQ1YjBiNjEyNjhhNTU0N2Q0NDlmMWQ2MTBl
Y2Q4MWM0NGQxOC4uYzE0ZTIxNzFiNTJhMTU1MmE5MWJhMzBiODI0MzIxNjVlODM4ODE1MSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJvagor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUudmNwcm9qCkBAIC02
MTUsNiArNjE1LDE0IEBACiAJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQk8L0ZpbGU+CiAJCTxG
aWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXEphdmFTY3JpcHRUaHJlYWRpbmcuY3BwIgorCQkJPgor
CQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXEphdmFTY3JpcHRUaHJlYWRp
bmcuaCIKKwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIuLlxQaXhl
bER1bXBTdXBwb3J0LmNwcCIKIAkJCT4KIAkJPC9GaWxlPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>