<?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>50973</bug_id>
          
          <creation_ts>2010-12-13 14:12:56 -0800</creation_ts>
          <short_desc>Move SliderThumbElement into its own file</short_desc>
          <delta_ts>2010-12-15 20:50:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>44907</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>levin</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>321402</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-13 14:12:56 -0800</bug_when>
    <thetext>In preparation for converting it to the right-side-up shadow DOM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321542</commentid>
    <comment_count>1</comment_count>
      <attachid>76466</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-13 16:40:44 -0800</bug_when>
    <thetext>Created attachment 76466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321574</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 17:41:09 -0800</bug_when>
    <thetext>Attachment 76466 did not build on gtk:
Build output: http://queues.webkit.org/results/6934110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321577</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-13 17:45:19 -0800</bug_when>
    <thetext>Attachment 76466 did not build on win:
Build output: http://queues.webkit.org/results/6909112</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321599</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-13 18:20:32 -0800</bug_when>
    <thetext>Attachment 76466 did not build on qt:
Build output: http://queues.webkit.org/results/7043026</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321625</commentid>
    <comment_count>5</comment_count>
      <attachid>76466</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-13 19:35:15 -0800</bug_when>
    <thetext>Comment on attachment 76466
Patch

Due to broken builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321994</commentid>
    <comment_count>6</comment_count>
      <attachid>76541</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-14 09:09:18 -0800</bug_when>
    <thetext>Created attachment 76541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322015</commentid>
    <comment_count>7</comment_count>
      <attachid>76541</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-14 09:43:04 -0800</bug_when>
    <thetext>Comment on attachment 76541
Patch

still need to fix win.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322020</commentid>
    <comment_count>8</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-14 09:54:26 -0800</bug_when>
    <thetext>Attachment 76541 did not build on win:
Build output: http://queues.webkit.org/results/6999113</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322032</commentid>
    <comment_count>9</comment_count>
      <attachid>76544</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-14 10:16:04 -0800</bug_when>
    <thetext>Created attachment 76544
Hopefully everything builds now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322046</commentid>
    <comment_count>10</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-14 10:40:32 -0800</bug_when>
    <thetext>Yay, all builds! David, can haz r+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322067</commentid>
    <comment_count>11</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-14 11:30:35 -0800</bug_when>
    <thetext>Committed r74044: &lt;http://trac.webkit.org/changeset/74044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322078</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-14 11:39:48 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74044 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323038</commentid>
    <comment_count>13</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-15 20:50:32 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; http://trac.webkit.org/changeset/74044 might have broken GTK Linux 64-bit Debug

GTK Fixed in http://trac.webkit.org/changeset/74047.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76466</attachid>
            <date>2010-12-13 16:40:44 -0800</date>
            <delta_ts>2010-12-14 09:09:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50973-20101213164043.patch</filename>
            <type>text/plain</type>
            <size>21389</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBmNzgwMzEwM2Y0OWUxYTRlNDhlMTIzM2EyZTE0ZmYxODlmNGIzZGIyLi43ZjEzZmZiODdhNzg0
YzAzOTVjOGE1YjAxNzQ2ODJkNjlmYjM1NDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0zNDUsNiArMzQ1LDggQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50
UGFyc2VyLmNwcCBcCiAJaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwIFwKIAlc
CisJaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBcCisJXAogCWxvYWRlci9jYWNo
ZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcCBcCiAJbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3Bw
IFwKIAlsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJiMGVlMzBmMzFj
OGNkMGExNzAzZWE3ZWMxOTM3YWZmODgxYTMwYjAuLjI4ZDBiZmU0YmEyNmU5ZmM3ZTI1M2IwMTQ2
OThmZDg4Yzk2NjVkNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTgsNiArMTgsNyBAQCBTRVQoV2ViQ29yZV9JTkNM
VURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2h0bWwiCiAgICAgIiR7V0VCQ09S
RV9ESVJ9L2h0bWwvY2FudmFzIgogICAgICIke1dFQkNPUkVfRElSfS9odG1sL3BhcnNlciIKKyAg
ICAiJHtXRUJDT1JFX0RJUn0vaHRtbC9zaGFkb3ciCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2luc3Bl
Y3RvciIKICAgICAiJHtXRUJDT1JFX0RJUn0vbG9hZGVyIgogICAgICIke1dFQkNPUkVfRElSfS9s
b2FkZXIvYXBwY2FjaGUiCkBAIC0xMTQyLDYgKzExNDMsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmNwcAogICAgIGh0bWwvcGFyc2Vy
L1RleHRWaWV3U291cmNlUGFyc2VyLmNwcAogCisgICAgaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJF
bGVtZW50LmNwcAorCiAgICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAogICAgIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0
LmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAyZmYyNDMxMTk5Y2MzZTY0MDg4NDViNjYxMzg4ZDAxYWYxNTlmMjZkLi40Y2JhZDc5Mzg5
MGFlNjU3ZjM5YWJhMjI0MjJkYzg1NTBmZDY3MTk1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEwLTEyLTEz
ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBTbGlkZXJUaHVtYkVsZW1l
bnQgaW50byBpdHMgb3duIGZpbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MDk3MworCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvciwgc28g
bm8gdGVzdHMuCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOiBBZGRlZCBTbGlkZXJUaHVtYkVsZW1l
bnQuCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgor
ICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOiBEaXR0bywKKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1l
bnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQu
aDogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHA6IFJlbW92ZWQg
Y29kZSB0aGF0IHdhcyBtb3ZlZCBpbnRvCisgICAgICAgICAgICBTbGlkZXJUaHVtYkVsZW1lbnQu
CisKIDIwMTAtMTItMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oIHdhcyByZW1vdmVkLiBOdWtlIGl0IGZy
b20gdGhlIHByb2plY3QuCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA1MTUwZjI0OGIxOTRj
ZDU1NWNiZWU3NWU0MjY3N2VlMWY4NGVhMWNmLi41Njg5NTgwM2FmM2VjNDQ1MzUzY2IzZTM3NmVh
ZmRhZWYyYjY2ZWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTEzMyw2ICsxMzMsNyBA
QAogICAgICAgJy4uL2h0bWwnLAogICAgICAgJy4uL2h0bWwvY2FudmFzJywKICAgICAgICcuLi9o
dG1sL3BhcnNlcicsCisgICAgICAnLi4vaHRtbC9zaGFkb3cnLAogICAgICAgJy4uL2luc3BlY3Rv
cicsCiAgICAgICAnLi4vbG9hZGVyJywKICAgICAgICcuLi9sb2FkZXIvYXBwY2FjaGUnLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCAwMGY3MTliNGE1Y2UwMTkwNGY2Y2QzODVkODJlOGE5N2JiZDA3MWY2Li43MDYxZmZkZTgwZDUw
NTU1Y2YwM2Q3ZGQ4YmJmMWFlYmUzMTExNGY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTk4OSw2ICsxOTg5LDggQEAKICAg
ICAgICAgICAgICdodG1sL3BhcnNlci9UZXh0RG9jdW1lbnRQYXJzZXIuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwJywKICAgICAgICAgICAgICdo
dG1sL3BhcnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5oJywKKyAgICAgICAgICAgICdodG1sL3No
YWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwJywKKyAgICAgICAgICAgICdodG1sL3NoYWRvdy9T
bGlkZXJUaHVtYkVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0NvbnNvbGVNZXNz
YWdlLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTFiZjUxNDE3OTcz
MDFiZThmYTg4YTU1MzJiM2U3NWY1YWRjODVmNy4uNmIxZjIxYmQ0M2RkOTllOTRjM2MxYmI2ZTM5
MGY4MDU1MDFlNjgwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJD
b3JlL1dlYkNvcmUucHJvCkBAIC0xMDIwLDYgKzEwMjAsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBo
dG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHAgXAogICAgIGh0bWwvcGFyc2VyL1Rl
eHREb2N1bWVudFBhcnNlci5jcHAgXAogICAgIGh0bWwvcGFyc2VyL1RleHRWaWV3U291cmNlUGFy
c2VyLmNwcCBcCisgICAgaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBcCiAgICAg
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBcCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAgXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYzA3MmQ1YjBjYTQ4NWM0OWRiOTk2NTcz
ZmMxY2JiNzk4MTFjYzFjNy4uZTBkYWMwNGVkNzRhNGI5NzJlYjIyMTVlNzQ4MzE3MmMwYTJhZDMz
NyAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC01NTMyMSw2ICs1NTMy
MSwxOCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJPC9GaWx0ZXI+CisJCQk8RmlsdGVyCisJ
CQkJTmFtZT0ic2hhZG93IgorCQkJCT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGh0bWxcc2hhZG93XFNsaWRlclRodW1iRWxlbWVudC5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xTbGlkZXJUaHVt
YkVsZW1lbnQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCTwvRmlsdGVyPgogCQk8L0ZpbHRl
cj4KIAkJPEZpbHRlcgogCQkJTmFtZT0iYmluZGluZ3MiCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGMyMmVlNmQ2OTVkZTEwZWQ4ZGI3NmZmNGJiNjg5MGQ3
NzllYzA2OTkuLjg5Yzg4OTRlZWM4YmY2ODE5M2U3ZjA5Y2IxN2RjZjc3ZjYwMmNmYmMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MTksNiArOTE5LDgg
QEAKIAkJNDEyN0Q1MzcwRjhBQUIxRDAwRTQyNEY1IC8qIFNjcmlwdFN0YXRlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjdENTM2MEY4QUFCMUQw
MEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgKi87IH07CiAJCTQxMzhEMzM1MTI0NDA1NDgwMDMy
M0QzMyAvKiBFdmVudENvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMzhEMzMzMTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuaCAq
LzsgfTsKIAkJNDEzOEQzMzYxMjQ0MDU0ODAwMzIzRDMzIC8qIEV2ZW50Q29udGV4dC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4RDMzNDEyNDQw
NTQ4MDAzMjNEMzMgLyogRXZlbnRDb250ZXh0LmNwcCAqLzsgfTsKKwkJNDE1MEY5RjExMkI2RTBF
NzAwMDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1MEY5RUYxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRl
clRodW1iRWxlbWVudC5oICovOyB9OworCQk0MTUwRjlGMjEyQjZFMEU3MDAwOEM4NjAgLyogU2xp
ZGVyVGh1bWJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxNTBGOUYwMTJCNkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJUaHVtYkVsZW1lbnQu
Y3BwICovOyB9OwogCQk0MTYyQTQ1MDEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2Vy
Q29udGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTYyQTQ0RDEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAg
Ki87IH07CiAJCTQxNjJBNDUxMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250
ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYy
QTQ0RTEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oICovOyB9Owog
CQk0MTYyQTQ1NDEwMTE0NUUzMDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
NjJBNDUzMTAxMTQ1RTMwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20u
Y3BwICovOyB9OwpAQCAtNzIyMCw2ICs3MjIyLDggQEAKIAkJNDEyN0Q1MzYwRjhBQUIxRDAwRTQy
NEY1IC8qIFNjcmlwdFN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNjcmlwdFN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzOEQz
MzMxMjQ0MDU0ODAwMzIzRDMzIC8qIEV2ZW50Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFdmVudENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDEzOEQzMzQxMjQ0MDU0ODAwMzIzRDMzIC8qIEV2ZW50Q29udGV4dC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudENvbnRleHQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MTUwRjlFRjEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1
bWJFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsaWRlclRodW1i
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTUwRjlGMDEyQjZFMEU3
MDAwOEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNsaWRlclRodW1iRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxNjJBNDREMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJD
b250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERlZGljYXRl
ZFdvcmtlckNvbnRleHQuY3BwOyBwYXRoID0gd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2MkE0NEUxMDExNDVBRTAwREZG
M0VEIC8qIERlZGljYXRlZFdvcmtlckNvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oOyBwYXRoID0gd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjJBNDRG
MTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IG5hbWUgPSBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbDsgcGF0aCA9IHdvcmtlcnMv
RGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xMzAyMiw2ICsxMzAyNiwxNSBAQAogCQkJbmFtZSA9IE5vdGlmaWNhdGlvbnM7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0MTUwRjlFRDEyQjZFMDk5MDAwOEM4NjAgLyog
c2hhZG93ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0
MTUwRjlFRjEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmggKi8sCisJCQkJ
NDE1MEY5RjAxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5jcHAgKi8sCisJ
CQkpOworCQkJcGF0aCA9IHNoYWRvdzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CiAJCTQ0OTE5NTkwMEZCRTE3NUIwMEQ5RjgyNCAvKiBFeHBvcnRzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTE1MTgxLDYgKzE1MTk0LDcgQEAKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAvKiBjYW52YXMgKi8sCiAJ
CQkJOTdDMUY1NTExMjI4NTU4ODAwRURFNjE2IC8qIHBhcnNlciAqLywKKwkJCQk0MTUwRjlFRDEy
QjZFMDk5MDAwOEM4NjAgLyogc2hhZG93ICovLAogCQkJCUIwMTQ5RTc5MTFBNEIyMTUwMDE5NkE3
QiAvKiBBc3luY0ltYWdlUmVzaXplci5jcHAgKi8sCiAJCQkJQjAxNDlFN0ExMUE0QjIxNTAwMTk2
QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggKi8sCiAJCQkJMzc5RTYxQzUxMjZDQTVDMzAwQjYz
RThEIC8qIEJhc2VCdXR0b25JbnB1dFR5cGUuY3BwICovLApAQCAtMjE1NjgsNiArMjE1ODIsNyBA
QAogCQkJCUIyQzNEQTY1MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTEzMjdENjAxMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQ0QwRUY4NkQ0NzAwOUQwQ0FGIC8qIFNrZXdUcmFu
c2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNTBGOUYxMTJCNkUwRTcwMDA4
Qzg2MCAvKiBTbGlkZXJUaHVtYkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCNkZBNkY0
MEMzOUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0
QUZEMDBDMERBRjMzNTQwMEY1RjU1QyAvKiBTTUlMVGltZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTRBRkQwMEUwREFGMzM1NTAwRjVGNTVDIC8qIFNNSUxUaW1lQ29udGFpbmVyLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI0MzM5LDYgKzI0MzU0LDcgQEAKIAkJCQlCMkFGRkM3RjBEMDBBNUMxMDAzMDA3
NEQgLyogU2ltcGxlRm9udERhdGFNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTMyN0Q2MTEx
QTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5
RTkxMUNDMEVGODZENDcwMDlEMENBRiAvKiBTa2V3VHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTQxNTBGOUYyMTJCNkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJUaHVtYkVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEI2RkE2RjUwQzM5RTQ4QzAwMDg3MDExIC8q
IFNtYXJ0UmVwbGFjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QjZGQTZGNzBDMzlFNEExMDAw
ODcwMTEgLyogU21hcnRSZXBsYWNlQ0YuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTRBRkQwMEIw
REFGMzM1NDAwRjVGNTVDIC8qIFNNSUxUaW1lLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1MzAxYzE1YWIw
NmQ0YWJhNDk2YTI3ODRkYzliZTY1YTA3MDE3Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKQEAgLTAsMCArMSwxMDkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2xpZGVyVGh1bWJF
bGVtZW50LmgiCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5j
bHVkZSAiTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlJlbmRlclNsaWRlci5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3ZvaWQgU2xpZGVyVGh1bWJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5k
bGVyKEV2ZW50KiBldmVudCkKK3sKKyAgICBpZiAoIWV2ZW50LT5pc01vdXNlRXZlbnQoKSkgewor
ICAgICAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0
YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCk7CisgICAgYm9vbCBpc0xlZnRCdXR0b24gPSBt
b3VzZUV2ZW50LT5idXR0b24oKSA9PSBMZWZ0QnV0dG9uOworICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlID0gZXZlbnQtPnR5cGUoKTsKKworICAgIGlmIChldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLm1vdXNlZG93bkV2ZW50ICYmIGlzTGVmdEJ1dHRvbikgeworICAgICAgICBpZiAo
ZG9jdW1lbnQoKS0+ZnJhbWUoKSAmJiByZW5kZXJlcigpKSB7CisgICAgICAgICAgICBSZW5kZXJT
bGlkZXIqIHNsaWRlciA9IHRvUmVuZGVyU2xpZGVyKHJlbmRlcmVyKCktPnBhcmVudCgpKTsKKyAg
ICAgICAgICAgIGlmIChzbGlkZXIpIHsKKyAgICAgICAgICAgICAgICBpZiAoc2xpZGVyLT5tb3Vz
ZUV2ZW50SXNJblRodW1iKG1vdXNlRXZlbnQpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFdl
IHNlbGVjdGVkIHRoZSB0aHVtYiwgd2Ugd2FudCB0aGUgY3Vyc29yIHRvIGFsd2F5cyBzdGF5IGF0
CisgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBzYW1lIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRo
ZSB0aHVtYi4KKyAgICAgICAgICAgICAgICAgICAgbV9vZmZzZXRUb1RodW1iID0gc2xpZGVyLT5t
b3VzZUV2ZW50T2Zmc2V0VG9UaHVtYihtb3VzZUV2ZW50KTsKKyAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgb3V0c2lkZSB0aGUgdGh1bWIsIG1v
dmUgdGhlIHRodW1iIHRvIHRoZSBwb2ludCB3ZXJlCisgICAgICAgICAgICAgICAgICAgIC8vIHdl
IGNsaWNrZWQuIFdlJ2xsIGJlIGV4YWN0bHkgYXQgdGhlIGNlbnRlciBvZiB0aGUgdGh1bWIuCisg
ICAgICAgICAgICAgICAgICAgIG1fb2Zmc2V0VG9UaHVtYi5zZXRYKDApOworICAgICAgICAgICAg
ICAgICAgICBtX29mZnNldFRvVGh1bWIuc2V0WSgwKTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBtX2luRHJhZ01vZGUgPSB0cnVlOworICAgICAgICAgICAgICAgIGRvY3Vt
ZW50KCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05v
ZGUoc2hhZG93SG9zdCgpKTsKKyAgICAgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRs
ZWQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkubW91c2V1cEV2ZW50ICYm
IGlzTGVmdEJ1dHRvbikgeworICAgICAgICBpZiAobV9pbkRyYWdNb2RlKSB7CisgICAgICAgICAg
ICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKKyAgICAgICAgICAgICAg
ICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSgwKTsg
ICAgICAKKyAgICAgICAgICAgIG1faW5EcmFnTW9kZSA9IGZhbHNlOworICAgICAgICAgICAgZXZl
bnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQp
IHsKKyAgICAgICAgaWYgKG1faW5EcmFnTW9kZSAmJiByZW5kZXJlcigpICYmIHJlbmRlcmVyKCkt
PnBhcmVudCgpKSB7CisgICAgICAgICAgICBSZW5kZXJTbGlkZXIqIHNsaWRlciA9IHRvUmVuZGVy
U2xpZGVyKHJlbmRlcmVyKCktPnBhcmVudCgpKTsKKyAgICAgICAgICAgIGlmIChzbGlkZXIpIHsK
KyAgICAgICAgICAgICAgICBGbG9hdFBvaW50IGN1clBvaW50ID0gc2xpZGVyLT5hYnNvbHV0ZVRv
TG9jYWwobW91c2VFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpLCBmYWxzZSwgdHJ1ZSk7CisgICAg
ICAgICAgICAgICAgSW50UG9pbnQgZXZlbnRPZmZzZXQoY3VyUG9pbnQueCgpICsgbV9vZmZzZXRU
b1RodW1iLngoKSwgY3VyUG9pbnQueSgpICsgbV9vZmZzZXRUb1RodW1iLnkoKSk7CisgICAgICAg
ICAgICAgICAgc2xpZGVyLT5zZXRWYWx1ZUZvclBvc2l0aW9uKHNsaWRlci0+cG9zaXRpb25Gb3JP
ZmZzZXQoZXZlbnRPZmZzZXQpKTsKKyAgICAgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhh
bmRsZWQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIo
ZXZlbnQpOworfQorCit2b2lkIFNsaWRlclRodW1iRWxlbWVudDo6ZGV0YWNoKCkKK3sKKyAgICBp
ZiAobV9pbkRyYWdNb2RlKSB7CisgICAgICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgp
LT5mcmFtZSgpKQorICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJp
bmdNb3VzZUV2ZW50c05vZGUoMCk7ICAgICAgCisgICAgfQorICAgIFNoYWRvd0Jsb2NrRWxlbWVu
dDo6ZGV0YWNoKCk7Cit9CisKK30KKwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3NoYWRvdy9T
bGlkZXJUaHVtYkVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVt
ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODIwNTc0NjY0YzNlY2FmNWRiNzQ2ZmI0YWNiNWY5OTRlY2Q4OWUz
ZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVt
ZW50LmgKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNsaWRlclRodW1i
RWxlbWVudF9oCisjZGVmaW5lIFNsaWRlclRodW1iRWxlbWVudF9oCisKKyNpbmNsdWRlICJGbG9h
dFBvaW50LmgiCisjaW5jbHVkZSAiU2hhZG93RWxlbWVudC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTEVsZW1lbnQ7CitjbGFz
cyBFdmVudDsKK2NsYXNzIEZsb2F0UG9pbnQ7CisKK2NsYXNzIFNsaWRlclRodW1iRWxlbWVudCA6
IHB1YmxpYyBTaGFkb3dCbG9ja0VsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNsaWRlclRodW1iRWxlbWVudD4gY3JlYXRlKEhUTUxFbGVtZW50KiBzaGFkb3dQYXJlbnQp
OworCisgICAgYm9vbCBpbkRyYWdNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pbkRyYWdNb2RlOyB9
CisKKyAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOworICAgIHZp
cnR1YWwgdm9pZCBkZXRhY2goKTsKKworcHJpdmF0ZTogICAgICAgIAorICAgIFNsaWRlclRodW1i
RWxlbWVudChIVE1MRWxlbWVudCogc2hhZG93UGFyZW50KTsKKworICAgIEZsb2F0UG9pbnQgbV9v
ZmZzZXRUb1RodW1iOworICAgIGJvb2wgbV9pbkRyYWdNb2RlOworfTsKKworaW5saW5lIFNsaWRl
clRodW1iRWxlbWVudDo6U2xpZGVyVGh1bWJFbGVtZW50KEhUTUxFbGVtZW50KiBzaGFkb3dQYXJl
bnQpCisgICAgOiBTaGFkb3dCbG9ja0VsZW1lbnQoc2hhZG93UGFyZW50KQorICAgICwgbV9pbkRy
YWdNb2RlKGZhbHNlKQoreworfQorCitpbmxpbmUgUGFzc1JlZlB0cjxTbGlkZXJUaHVtYkVsZW1l
bnQ+IFNsaWRlclRodW1iRWxlbWVudDo6Y3JlYXRlKEhUTUxFbGVtZW50KiBzaGFkb3dQYXJlbnQp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTbGlkZXJUaHVtYkVsZW1lbnQoc2hhZG93UGFy
ZW50KSk7Cit9CisKK30KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNsaWRlci5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCmlu
ZGV4IDE2MTlkOTRhNzI0NGQ4OGNhNTc3ZDU5MjhiNTdiMjhmZjg5M2I1ZjQuLmI3M2ExYWNhYTll
NjI0Y2ExODY4NmM3NzZlYjg4NjM0MGM3MDEyZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNsaWRlci5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVy
LmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNoYWRvd0VsZW1lbnQuaCIKKyNpbmNsdWRlICJT
bGlkZXJUaHVtYkVsZW1lbnQuaCIKICNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKICNpbmNsdWRlIDx3
dGYvTWF0aEV4dHJhcy5oPgogCkBAIC01Miw5OCArNTMsNiBAQCBzdGF0aWMgZG91YmxlIHNsaWRl
clBvc2l0aW9uKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgcmV0dXJuIHJhbmdlLnBy
b3BvcnRpb25Gcm9tVmFsdWUocmFuZ2UudmFsdWVGcm9tRWxlbWVudChlbGVtZW50KSk7CiB9CiAK
LWNsYXNzIFNsaWRlclRodW1iRWxlbWVudCA6IHB1YmxpYyBTaGFkb3dCbG9ja0VsZW1lbnQgewot
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNsaWRlclRodW1iRWxlbWVudD4gY3JlYXRl
KEhUTUxFbGVtZW50KiBzaGFkb3dQYXJlbnQpOwotCi0gICAgYm9vbCBpbkRyYWdNb2RlKCkgY29u
c3QgeyByZXR1cm4gbV9pbkRyYWdNb2RlOyB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2
ZW50SGFuZGxlcihFdmVudCopOwotICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLQotcHJpdmF0
ZTogICAgICAgIAotICAgIFNsaWRlclRodW1iRWxlbWVudChIVE1MRWxlbWVudCogc2hhZG93UGFy
ZW50KTsKLQotICAgIEZsb2F0UG9pbnQgbV9vZmZzZXRUb1RodW1iOwotICAgIGJvb2wgbV9pbkRy
YWdNb2RlOwotfTsKLQotaW5saW5lIFNsaWRlclRodW1iRWxlbWVudDo6U2xpZGVyVGh1bWJFbGVt
ZW50KEhUTUxFbGVtZW50KiBzaGFkb3dQYXJlbnQpCi0gICAgOiBTaGFkb3dCbG9ja0VsZW1lbnQo
c2hhZG93UGFyZW50KQotICAgICwgbV9pbkRyYWdNb2RlKGZhbHNlKQotewotfQotCi1pbmxpbmUg
UGFzc1JlZlB0cjxTbGlkZXJUaHVtYkVsZW1lbnQ+IFNsaWRlclRodW1iRWxlbWVudDo6Y3JlYXRl
KEhUTUxFbGVtZW50KiBzaGFkb3dQYXJlbnQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
bGlkZXJUaHVtYkVsZW1lbnQoc2hhZG93UGFyZW50KSk7Ci19Ci0KLXZvaWQgU2xpZGVyVGh1bWJF
bGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKLXsKLSAgICBpZiAoIWV2
ZW50LT5pc01vdXNlRXZlbnQoKSkgewotICAgICAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRlZmF1
bHRFdmVudEhhbmRsZXIoZXZlbnQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgTW91
c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCk7Ci0g
ICAgYm9vbCBpc0xlZnRCdXR0b24gPSBtb3VzZUV2ZW50LT5idXR0b24oKSA9PSBMZWZ0QnV0dG9u
OwotICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlID0gZXZlbnQtPnR5cGUoKTsKLQot
ICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNlZG93bkV2ZW50ICYmIGlzTGVm
dEJ1dHRvbikgewotICAgICAgICBpZiAoZG9jdW1lbnQoKS0+ZnJhbWUoKSAmJiByZW5kZXJlcigp
KSB7Ci0gICAgICAgICAgICBSZW5kZXJTbGlkZXIqIHNsaWRlciA9IHRvUmVuZGVyU2xpZGVyKHJl
bmRlcmVyKCktPnBhcmVudCgpKTsKLSAgICAgICAgICAgIGlmIChzbGlkZXIpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoc2xpZGVyLT5tb3VzZUV2ZW50SXNJblRodW1iKG1vdXNlRXZlbnQpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIC8vIFdlIHNlbGVjdGVkIHRoZSB0aHVtYiwgd2Ugd2FudCB0aGUg
Y3Vyc29yIHRvIGFsd2F5cyBzdGF5IGF0Ci0gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBzYW1l
IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB0aHVtYi4KLSAgICAgICAgICAgICAgICAgICAgbV9v
ZmZzZXRUb1RodW1iID0gc2xpZGVyLT5tb3VzZUV2ZW50T2Zmc2V0VG9UaHVtYihtb3VzZUV2ZW50
KTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAvLyBXZSBh
cmUgb3V0c2lkZSB0aGUgdGh1bWIsIG1vdmUgdGhlIHRodW1iIHRvIHRoZSBwb2ludCB3ZXJlCi0g
ICAgICAgICAgICAgICAgICAgIC8vIHdlIGNsaWNrZWQuIFdlJ2xsIGJlIGV4YWN0bHkgYXQgdGhl
IGNlbnRlciBvZiB0aGUgdGh1bWIuCi0gICAgICAgICAgICAgICAgICAgIG1fb2Zmc2V0VG9UaHVt
Yi5zZXRYKDApOwotICAgICAgICAgICAgICAgICAgICBtX29mZnNldFRvVGh1bWIuc2V0WSgwKTsK
LSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBtX2luRHJhZ01vZGUgPSB0cnVl
OwotICAgICAgICAgICAgICAgIGRvY3VtZW50KCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5z
ZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoc2hhZG93SG9zdCgpKTsKLSAgICAgICAgICAgICAg
ICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkubW91c2V1cEV2ZW50ICYmIGlzTGVmdEJ1dHRvbikgewotICAgICAgICBpZiAobV9p
bkRyYWdNb2RlKSB7Ci0gICAgICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+
ZnJhbWUoKSkKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1
cmluZ01vdXNlRXZlbnRzTm9kZSgwKTsgICAgICAKLSAgICAgICAgICAgIG1faW5EcmFnTW9kZSA9
IGZhbHNlOwotICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQpIHsKLSAgICAgICAgaWYgKG1faW5EcmFnTW9kZSAmJiBy
ZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPnBhcmVudCgpKSB7Ci0gICAgICAgICAgICBSZW5kZXJT
bGlkZXIqIHNsaWRlciA9IHRvUmVuZGVyU2xpZGVyKHJlbmRlcmVyKCktPnBhcmVudCgpKTsKLSAg
ICAgICAgICAgIGlmIChzbGlkZXIpIHsKLSAgICAgICAgICAgICAgICBGbG9hdFBvaW50IGN1clBv
aW50ID0gc2xpZGVyLT5hYnNvbHV0ZVRvTG9jYWwobW91c2VFdmVudC0+YWJzb2x1dGVMb2NhdGlv
bigpLCBmYWxzZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgSW50UG9pbnQgZXZlbnRPZmZzZXQo
Y3VyUG9pbnQueCgpICsgbV9vZmZzZXRUb1RodW1iLngoKSwgY3VyUG9pbnQueSgpICsgbV9vZmZz
ZXRUb1RodW1iLnkoKSk7Ci0gICAgICAgICAgICAgICAgc2xpZGVyLT5zZXRWYWx1ZUZvclBvc2l0
aW9uKHNsaWRlci0+cG9zaXRpb25Gb3JPZmZzZXQoZXZlbnRPZmZzZXQpKTsKLSAgICAgICAgICAg
ICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBTaGFkb3dCbG9ja0VsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOwotfQotCi12b2lkIFNsaWRlclRodW1iRWxl
bWVudDo6ZGV0YWNoKCkKLXsKLSAgICBpZiAobV9pbkRyYWdNb2RlKSB7Ci0gICAgICAgIGlmIChG
cmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpKQotICAgICAgICAgICAgZnJhbWUtPmV2
ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoMCk7ICAgICAgCi0gICAg
fQotICAgIFNoYWRvd0Jsb2NrRWxlbWVudDo6ZGV0YWNoKCk7Ci19Ci0KIFJlbmRlclNsaWRlcjo6
UmVuZGVyU2xpZGVyKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgOiBSZW5kZXJCbG9j
ayhlbGVtZW50KQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76541</attachid>
            <date>2010-12-14 09:09:18 -0800</date>
            <delta_ts>2010-12-14 10:16:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50973-20101214090917.patch</filename>
            <type>text/plain</type>
            <size>22095</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBmNzgwMzEwM2Y0OWUxYTRlNDhlMTIzM2EyZTE0ZmYxODlmNGIzZGIyLi43ZjEzZmZiODdhNzg0
YzAzOTVjOGE1YjAxNzQ2ODJkNjlmYjM1NDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0zNDUsNiArMzQ1LDggQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50
UGFyc2VyLmNwcCBcCiAJaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwIFwKIAlc
CisJaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBcCisJXAogCWxvYWRlci9jYWNo
ZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcCBcCiAJbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3Bw
IFwKIAlsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJiMGVlMzBmMzFj
OGNkMGExNzAzZWE3ZWMxOTM3YWZmODgxYTMwYjAuLjI4ZDBiZmU0YmEyNmU5ZmM3ZTI1M2IwMTQ2
OThmZDg4Yzk2NjVkNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTgsNiArMTgsNyBAQCBTRVQoV2ViQ29yZV9JTkNM
VURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2h0bWwiCiAgICAgIiR7V0VCQ09S
RV9ESVJ9L2h0bWwvY2FudmFzIgogICAgICIke1dFQkNPUkVfRElSfS9odG1sL3BhcnNlciIKKyAg
ICAiJHtXRUJDT1JFX0RJUn0vaHRtbC9zaGFkb3ciCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2luc3Bl
Y3RvciIKICAgICAiJHtXRUJDT1JFX0RJUn0vbG9hZGVyIgogICAgICIke1dFQkNPUkVfRElSfS9s
b2FkZXIvYXBwY2FjaGUiCkBAIC0xMTQyLDYgKzExNDMsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmNwcAogICAgIGh0bWwvcGFyc2Vy
L1RleHRWaWV3U291cmNlUGFyc2VyLmNwcAogCisgICAgaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJF
bGVtZW50LmNwcAorCiAgICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAogICAgIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0
LmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAyZmYyNDMxMTk5Y2MzZTY0MDg4NDViNjYxMzg4ZDAxYWYxNTlmMjZkLi40Y2JhZDc5Mzg5
MGFlNjU3ZjM5YWJhMjI0MjJkYzg1NTBmZDY3MTk1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEwLTEyLTEz
ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBTbGlkZXJUaHVtYkVsZW1l
bnQgaW50byBpdHMgb3duIGZpbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MDk3MworCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvciwgc28g
bm8gdGVzdHMuCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOiBBZGRlZCBTbGlkZXJUaHVtYkVsZW1l
bnQuCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgor
ICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOiBEaXR0bywKKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1l
bnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQu
aDogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHA6IFJlbW92ZWQg
Y29kZSB0aGF0IHdhcyBtb3ZlZCBpbnRvCisgICAgICAgICAgICBTbGlkZXJUaHVtYkVsZW1lbnQu
CisKIDIwMTAtMTItMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oIHdhcyByZW1vdmVkLiBOdWtlIGl0IGZy
b20gdGhlIHByb2plY3QuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA0ZDk1ZGY3Yzk0OWJmNTlkZjI4NGNhMjhmNjJlODli
YzJiZjBkNmQwLi4xY2RkODNkZWY2MjliYzVmNDk1MDMzMTY5MmFhMTM4YzY5M2ExMDQ0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KQEAgLTI0LDYgKzI0LDcgQEAgd2ViY29yZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2Rpcikv
V2ViQ29yZS9odG1sIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2h0bWwvY2FudmFzIFwKIAktSSQo
c3JjZGlyKS9XZWJDb3JlL2h0bWwvcGFyc2VyIFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2h0bWwv
c2hhZG93IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2luc3BlY3RvciBcCiAJLUkkKHNyY2Rpcikv
V2ViQ29yZS9sb2FkZXIgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDUxNTBmMjQ4YjE5NGNkNTU1Y2JlZTc1ZTQyNjc3
ZWUxZjg0ZWExY2YuLjU2ODk1ODAzYWYzZWM0NDUzNTNjYjNlMzc2ZWFmZGFlZjJiNjZlYmUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtMTMzLDYgKzEzMyw3IEBACiAgICAgICAnLi4vaHRt
bCcsCiAgICAgICAnLi4vaHRtbC9jYW52YXMnLAogICAgICAgJy4uL2h0bWwvcGFyc2VyJywKKyAg
ICAgICcuLi9odG1sL3NoYWRvdycsCiAgICAgICAnLi4vaW5zcGVjdG9yJywKICAgICAgICcuLi9s
b2FkZXInLAogICAgICAgJy4uL2xvYWRlci9hcHBjYWNoZScsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDAwZjcxOWI0YTVjZTAx
OTA0ZjZjZDM4NWQ4MmU4YTk3YmJkMDcxZjYuLjcwNjFmZmRlODBkNTA1NTVjZjAzZDdkZDhiYmYx
YWViZTMxMTE0ZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0xOTg5LDYgKzE5ODksOCBAQAogICAgICAgICAgICAgJ2h0bWwv
cGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5oJywKICAgICAgICAgICAgICdodG1sL3BhcnNlci9U
ZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvcGFyc2VyL1RleHRW
aWV3U291cmNlUGFyc2VyLmgnLAorICAgICAgICAgICAgJ2h0bWwvc2hhZG93L1NsaWRlclRodW1i
RWxlbWVudC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVu
dC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCcsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJv
IGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAxMWJmNTE0MTc5NzMwMWJlOGZhODhhNTUzMmIz
ZTc1ZjVhZGM4NWY3Li40NmU5YjBkYTg0ZTQ0Yjg1ZTY4Y2Q5Y2JmZTk4YWY5N2NkMGE5NGY4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8K
QEAgLTIyNyw2ICsyMjcsNyBAQCBXRUJDT1JFX0lOQ0xVREVQQVRIID0gXAogICAgICQkUFdEL2h0
bWwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzIFwKICAgICAkJFBXRC9odG1sL3BhcnNlciBcCisg
ICAgJCRQV0QvaHRtbC9zaGFkb3cgXAogICAgICQkUFdEL2luc3BlY3RvciBcCiAgICAgJCRQV0Qv
bG9hZGVyIFwKICAgICAkJFBXRC9sb2FkZXIvYXBwY2FjaGUgXApAQCAtMTAyMCw2ICsxMDIxLDcg
QEAgU09VUkNFUyArPSBcCiAgICAgaHRtbC9wYXJzZXIvSFRNTFZpZXdTb3VyY2VQYXJzZXIuY3Bw
IFwKICAgICBodG1sL3BhcnNlci9UZXh0RG9jdW1lbnRQYXJzZXIuY3BwIFwKICAgICBodG1sL3Bh
cnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAgXAorICAgIGh0bWwvc2hhZG93L1NsaWRlclRo
dW1iRWxlbWVudC5jcHAgXAogICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgXAogICAg
IGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAgXAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNj
cmlwdEhvc3QuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGMw
NzJkNWIwY2E0ODVjNDlkYjk5NjU3M2ZjMWNiYjc5ODExY2MxYzcuLmUwZGFjMDRlZDc0YTRiOTcy
ZWIyMjE1ZTc0ODMxNzJjMGEyYWQzMzcgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtNTUzMjEsNiArNTUzMjEsMTggQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCTwv
RmlsdGVyPgorCQkJPEZpbHRlcgorCQkJCU5hbWU9InNoYWRvdyIKKwkJCQk+CisJCQkJPEZpbGUK
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xTbGlkZXJUaHVtYkVsZW1lbnQuY3Bw
IgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxzaGFkb3dcU2xpZGVyVGh1bWJFbGVtZW50LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJ
CQk8L0ZpbHRlcj4KIAkJPC9GaWx0ZXI+CiAJCTxGaWx0ZXIKIAkJCU5hbWU9ImJpbmRpbmdzIgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjMjJlZTZkNjk1
ZGUxMGVkOGRiNzZmZjRiYjY4OTBkNzc5ZWMwNjk5Li44OWM4ODk0ZWVjOGJmNjgxOTNlN2YwOWNi
MTdkY2Y3N2Y2MDJjZmJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtOTE5LDYgKzkxOSw4IEBACiAJCTQxMjdENTM3MEY4QUFCMUQwMEU0MjRGNSAvKiBT
Y3JpcHRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTI3RDUzNjBGOEFBQjFEMDBFNDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwICovOyB9Owog
CQk0MTM4RDMzNTEyNDQwNTQ4MDAzMjNEMzMgLyogRXZlbnRDb250ZXh0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4RDMzMzEyNDQwNTQ4MDAzMjNE
MzMgLyogRXZlbnRDb250ZXh0LmggKi87IH07CiAJCTQxMzhEMzM2MTI0NDA1NDgwMDMyM0QzMyAv
KiBFdmVudENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDEzOEQzMzQxMjQ0MDU0ODAwMzIzRDMzIC8qIEV2ZW50Q29udGV4dC5jcHAgKi87
IH07CisJCTQxNTBGOUYxMTJCNkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJUaHVtYkVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNTBGOUVGMTJC
NkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJUaHVtYkVsZW1lbnQuaCAqLzsgfTsKKwkJNDE1MEY5RjIx
MkI2RTBFNzAwMDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTUwRjlGMDEyQjZFMEU3MDAwOEM4NjAg
LyogU2xpZGVyVGh1bWJFbGVtZW50LmNwcCAqLzsgfTsKIAkJNDE2MkE0NTAxMDExNDVBRTAwREZG
M0VEIC8qIERlZGljYXRlZFdvcmtlckNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NEQxMDExNDVBRTAwREZGM0VEIC8qIERlZGlj
YXRlZFdvcmtlckNvbnRleHQuY3BwICovOyB9OwogCQk0MTYyQTQ1MTEwMTE0NUFFMDBERkYzRUQg
LyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NEUxMDExNDVBRTAwREZGM0VEIC8qIERlZGljYXRlZFdv
cmtlckNvbnRleHQuaCAqLzsgfTsKIAkJNDE2MkE0NTQxMDExNDVFMzAwREZGM0VEIC8qIEpTRGVk
aWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ1MzEwMTE0NUUzMDBERkYzRUQgLyogSlNEZWRpY2F0
ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCAqLzsgfTsKQEAgLTcyMjAsNiArNzIyMiw4IEBACiAJ
CTQxMjdENTM2MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxMzhEMzMzMTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRDb250ZXh0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzhEMzM0MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVu
dENvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRD
b250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE1MEY5RUYxMkI2RTBF
NzAwMDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTbGlkZXJUaHVtYkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDE1MEY5RjAxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTbGlkZXJUaHVtYkVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTYyQTQ0RDEwMTE0NUFFMDBERkYz
RUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmNwcDsgcGF0aCA9IHdvcmtlcnMv
RGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxNjJBNDRFMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERlZGljYXRlZFdvcmtlckNvbnRleHQuaDsg
cGF0aCA9IHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTYyQTQ0RjEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2Vy
Q29udGV4dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gRGVkaWNhdGVkV29ya2VyQ29udGV4
dC5pZGw7IHBhdGggPSB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMwMjIsNiArMTMwMjYsMTUgQEAKIAkJCW5hbWUgPSBO
b3RpZmljYXRpb25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDE1MEY5
RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJNDE1MEY5RUYxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRlclRo
dW1iRWxlbWVudC5oICovLAorCQkJCTQxNTBGOUYwMTJCNkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJU
aHVtYkVsZW1lbnQuY3BwICovLAorCQkJKTsKKwkJCXBhdGggPSBzaGFkb3c7CisJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOworCQl9OwogCQk0NDkxOTU5MDBGQkUxNzVCMDBEOUY4MjQgLyogRXhw
b3J0cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0xNTE4
MSw2ICsxNTE5NCw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk0OTQ4NEZBRTEwMkNGMDFFMDAx
ODdERDMgLyogY2FudmFzICovLAogCQkJCTk3QzFGNTUxMTIyODU1ODgwMEVERTYxNiAvKiBwYXJz
ZXIgKi8sCisJCQkJNDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLywKIAkJCQlC
MDE0OUU3OTExQTRCMjE1MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuY3BwICovLAogCQkJ
CUIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICovLAogCQkJ
CTM3OUU2MUM1MTI2Q0E1QzMwMEI2M0U4RCAvKiBCYXNlQnV0dG9uSW5wdXRUeXBlLmNwcCAqLywK
QEAgLTIxNTY4LDYgKzIxNTgyLDcgQEAKIAkJCQlCMkMzREE2NTBEMDA2Q0Q2MDBFRjZGMjYgLyog
U2ltcGxlRm9udERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMzI3RDYwMTFBMzNBMkIwMDRG
OUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUNEMEVGODZE
NDcwMDlEMENBRiAvKiBTa2V3VHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MTUwRjlGMTEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0QjZGQTZGNDBDMzlFNDhDMDAwODcwMTEgLyogU21hcnRSZXBsYWNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFNEFGRDAwQzBEQUYzMzU0MDBGNUY1NUMgLyogU01JTFRpbWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0QUZEMDBFMERBRjMzNTUwMEY1RjU1QyAvKiBTTUlMVGlt
ZUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDMzOSw2ICsyNDM1NCw3IEBACiAJCQkJ
QjJBRkZDN0YwRDAwQTVDMTAwMzAwNzREIC8qIFNpbXBsZUZvbnREYXRhTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTEzMjdENjExMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0OUU5MTFDQzBFRjg2RDQ3MDA5RDBDQUYgLyogU2tld1RyYW5z
Zm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTUwRjlGMjEyQjZFMEU3MDAw
OEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRCNkZB
NkY1MEMzOUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNEI2RkE2RjcwQzM5RTRBMTAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZUNGLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUU0QUZEMDBCMERBRjMzNTQwMEY1RjU1QyAvKiBTTUlMVGltZS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJF
bGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NTMwMWMxNWFiMDZkNGFiYTQ5NmEyNzg0ZGM5YmU2NWEwNzAxN2NjCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3Bw
CkBAIC0wLDAgKzEsMTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4
LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlNsaWRlclRodW1iRWxlbWVudC5oIgorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNp
bmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJSZW5k
ZXJTbGlkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIFNsaWRlclRodW1iRWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCit7CisgICAgaWYgKCFldmVu
dC0+aXNNb3VzZUV2ZW50KCkpIHsKKyAgICAgICAgU2hhZG93QmxvY2tFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKGV2ZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1vdXNl
RXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0aWNfY2FzdDxNb3VzZUV2ZW50Kj4oZXZlbnQpOworICAg
IGJvb2wgaXNMZWZ0QnV0dG9uID0gbW91c2VFdmVudC0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbjsK
KyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSA9IGV2ZW50LT50eXBlKCk7CisKKyAg
ICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCAmJiBpc0xlZnRC
dXR0b24pIHsKKyAgICAgICAgaWYgKGRvY3VtZW50KCktPmZyYW1lKCkgJiYgcmVuZGVyZXIoKSkg
eworICAgICAgICAgICAgUmVuZGVyU2xpZGVyKiBzbGlkZXIgPSB0b1JlbmRlclNsaWRlcihyZW5k
ZXJlcigpLT5wYXJlbnQoKSk7CisgICAgICAgICAgICBpZiAoc2xpZGVyKSB7CisgICAgICAgICAg
ICAgICAgaWYgKHNsaWRlci0+bW91c2VFdmVudElzSW5UaHVtYihtb3VzZUV2ZW50KSkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBXZSBzZWxlY3RlZCB0aGUgdGh1bWIsIHdlIHdhbnQgdGhlIGN1
cnNvciB0byBhbHdheXMgc3RheSBhdAorICAgICAgICAgICAgICAgICAgICAvLyB0aGUgc2FtZSBw
b3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgdGh1bWIuCisgICAgICAgICAgICAgICAgICAgIG1fb2Zm
c2V0VG9UaHVtYiA9IHNsaWRlci0+bW91c2VFdmVudE9mZnNldFRvVGh1bWIobW91c2VFdmVudCk7
CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gV2UgYXJl
IG91dHNpZGUgdGhlIHRodW1iLCBtb3ZlIHRoZSB0aHVtYiB0byB0aGUgcG9pbnQgd2VyZQorICAg
ICAgICAgICAgICAgICAgICAvLyB3ZSBjbGlja2VkLiBXZSdsbCBiZSBleGFjdGx5IGF0IHRoZSBj
ZW50ZXIgb2YgdGhlIHRodW1iLgorICAgICAgICAgICAgICAgICAgICBtX29mZnNldFRvVGh1bWIu
c2V0WCgwKTsKKyAgICAgICAgICAgICAgICAgICAgbV9vZmZzZXRUb1RodW1iLnNldFkoMCk7Cisg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgbV9pbkRyYWdNb2RlID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICBkb2N1bWVudCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+c2V0
Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKHNoYWRvd0hvc3QoKSk7CisgICAgICAgICAgICAgICAg
ZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLm1vdXNldXBFdmVudCAmJiBpc0xlZnRCdXR0b24pIHsKKyAgICAgICAgaWYgKG1faW5E
cmFnTW9kZSkgeworICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZy
YW1lKCkpCisgICAgICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJp
bmdNb3VzZUV2ZW50c05vZGUoMCk7ICAgICAgCisgICAgICAgICAgICBtX2luRHJhZ01vZGUgPSBm
YWxzZTsKKyAgICAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLm1vdXNlbW92ZUV2ZW50KSB7CisgICAgICAgIGlmIChtX2luRHJhZ01vZGUgJiYgcmVu
ZGVyZXIoKSAmJiByZW5kZXJlcigpLT5wYXJlbnQoKSkgeworICAgICAgICAgICAgUmVuZGVyU2xp
ZGVyKiBzbGlkZXIgPSB0b1JlbmRlclNsaWRlcihyZW5kZXJlcigpLT5wYXJlbnQoKSk7CisgICAg
ICAgICAgICBpZiAoc2xpZGVyKSB7CisgICAgICAgICAgICAgICAgRmxvYXRQb2ludCBjdXJQb2lu
dCA9IHNsaWRlci0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZlbnQtPmFic29sdXRlTG9jYXRpb24o
KSwgZmFsc2UsIHRydWUpOworICAgICAgICAgICAgICAgIEludFBvaW50IGV2ZW50T2Zmc2V0KGN1
clBvaW50LngoKSArIG1fb2Zmc2V0VG9UaHVtYi54KCksIGN1clBvaW50LnkoKSArIG1fb2Zmc2V0
VG9UaHVtYi55KCkpOworICAgICAgICAgICAgICAgIHNsaWRlci0+c2V0VmFsdWVGb3JQb3NpdGlv
bihzbGlkZXItPnBvc2l0aW9uRm9yT2Zmc2V0KGV2ZW50T2Zmc2V0KSk7CisgICAgICAgICAgICAg
ICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgU2hhZG93QmxvY2tFbGVtZW50
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKK30KKwordm9pZCBTbGlkZXJUaHVtYkVsZW1l
bnQ6OmRldGFjaCgpCit7CisgICAgaWYgKG1faW5EcmFnTW9kZSkgeworICAgICAgICBpZiAoRnJh
bWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKKyAgICAgICAgICAgIGZyYW1lLT5ldmVu
dEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKDApOyAgICAgIAorICAgIH0K
KyAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRldGFjaCgpOworfQorCit9CisKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDU3NDY2NGMzZWNhZjVk
Yjc0NmZiNGFjYjVmOTk0ZWNkODllM2YKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBTbGlkZXJUaHVtYkVsZW1lbnRfaAorI2RlZmluZSBTbGlkZXJUaHVtYkVsZW1l
bnRfaAorCisjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlNoYWRvd0VsZW1lbnQu
aCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIEhUTUxFbGVtZW50OworY2xhc3MgRXZlbnQ7CitjbGFzcyBGbG9hdFBvaW50OworCitjbGFz
cyBTbGlkZXJUaHVtYkVsZW1lbnQgOiBwdWJsaWMgU2hhZG93QmxvY2tFbGVtZW50IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTbGlkZXJUaHVtYkVsZW1lbnQ+IGNyZWF0ZShIVE1M
RWxlbWVudCogc2hhZG93UGFyZW50KTsKKworICAgIGJvb2wgaW5EcmFnTW9kZSgpIGNvbnN0IHsg
cmV0dXJuIG1faW5EcmFnTW9kZTsgfQorCisgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhh
bmRsZXIoRXZlbnQqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7CisKK3ByaXZhdGU6ICAg
ICAgICAKKyAgICBTbGlkZXJUaHVtYkVsZW1lbnQoSFRNTEVsZW1lbnQqIHNoYWRvd1BhcmVudCk7
CisKKyAgICBGbG9hdFBvaW50IG1fb2Zmc2V0VG9UaHVtYjsKKyAgICBib29sIG1faW5EcmFnTW9k
ZTsKK307CisKK2lubGluZSBTbGlkZXJUaHVtYkVsZW1lbnQ6OlNsaWRlclRodW1iRWxlbWVudChI
VE1MRWxlbWVudCogc2hhZG93UGFyZW50KQorICAgIDogU2hhZG93QmxvY2tFbGVtZW50KHNoYWRv
d1BhcmVudCkKKyAgICAsIG1faW5EcmFnTW9kZShmYWxzZSkKK3sKK30KKworaW5saW5lIFBhc3NS
ZWZQdHI8U2xpZGVyVGh1bWJFbGVtZW50PiBTbGlkZXJUaHVtYkVsZW1lbnQ6OmNyZWF0ZShIVE1M
RWxlbWVudCogc2hhZG93UGFyZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2xpZGVy
VGh1bWJFbGVtZW50KHNoYWRvd1BhcmVudCkpOworfQorCit9CisKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2xpZGVyLmNwcAppbmRleCAxNjE5ZDk0YTcyNDRkODhjYTU3N2Q1OTI4YjU3YjI4
ZmY4OTNiNWY0Li5iNzNhMWFjYWE5ZTYyNGNhMTg2ODZjNzc2ZWI4ODYzNDBjNzAxMmUyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJS
ZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTaGFkb3dF
bGVtZW50LmgiCisjaW5jbHVkZSAiU2xpZGVyVGh1bWJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU3Rl
cFJhbmdlLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtNTIsOTggKzUzLDYg
QEAgc3RhdGljIGRvdWJsZSBzbGlkZXJQb3NpdGlvbihIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50
KQogICAgIHJldHVybiByYW5nZS5wcm9wb3J0aW9uRnJvbVZhbHVlKHJhbmdlLnZhbHVlRnJvbUVs
ZW1lbnQoZWxlbWVudCkpOwogfQogCi1jbGFzcyBTbGlkZXJUaHVtYkVsZW1lbnQgOiBwdWJsaWMg
U2hhZG93QmxvY2tFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTbGlk
ZXJUaHVtYkVsZW1lbnQ+IGNyZWF0ZShIVE1MRWxlbWVudCogc2hhZG93UGFyZW50KTsKLQotICAg
IGJvb2wgaW5EcmFnTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5EcmFnTW9kZTsgfQotCi0gICAg
dmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKLSAgICB2aXJ0dWFsIHZv
aWQgZGV0YWNoKCk7Ci0KLXByaXZhdGU6ICAgICAgICAKLSAgICBTbGlkZXJUaHVtYkVsZW1lbnQo
SFRNTEVsZW1lbnQqIHNoYWRvd1BhcmVudCk7Ci0KLSAgICBGbG9hdFBvaW50IG1fb2Zmc2V0VG9U
aHVtYjsKLSAgICBib29sIG1faW5EcmFnTW9kZTsKLX07Ci0KLWlubGluZSBTbGlkZXJUaHVtYkVs
ZW1lbnQ6OlNsaWRlclRodW1iRWxlbWVudChIVE1MRWxlbWVudCogc2hhZG93UGFyZW50KQotICAg
IDogU2hhZG93QmxvY2tFbGVtZW50KHNoYWRvd1BhcmVudCkKLSAgICAsIG1faW5EcmFnTW9kZShm
YWxzZSkKLXsKLX0KLQotaW5saW5lIFBhc3NSZWZQdHI8U2xpZGVyVGh1bWJFbGVtZW50PiBTbGlk
ZXJUaHVtYkVsZW1lbnQ6OmNyZWF0ZShIVE1MRWxlbWVudCogc2hhZG93UGFyZW50KQotewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU2xpZGVyVGh1bWJFbGVtZW50KHNoYWRvd1BhcmVudCkpOwot
fQotCi12b2lkIFNsaWRlclRodW1iRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCog
ZXZlbnQpCi17Ci0gICAgaWYgKCFldmVudC0+aXNNb3VzZUV2ZW50KCkpIHsKLSAgICAgICAgU2hh
ZG93QmxvY2tFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIE1vdXNlRXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0aWNfY2FzdDxN
b3VzZUV2ZW50Kj4oZXZlbnQpOwotICAgIGJvb2wgaXNMZWZ0QnV0dG9uID0gbW91c2VFdmVudC0+
YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbjsKLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSA9IGV2ZW50LT50eXBlKCk7Ci0KLSAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5t
b3VzZWRvd25FdmVudCAmJiBpc0xlZnRCdXR0b24pIHsKLSAgICAgICAgaWYgKGRvY3VtZW50KCkt
PmZyYW1lKCkgJiYgcmVuZGVyZXIoKSkgewotICAgICAgICAgICAgUmVuZGVyU2xpZGVyKiBzbGlk
ZXIgPSB0b1JlbmRlclNsaWRlcihyZW5kZXJlcigpLT5wYXJlbnQoKSk7Ci0gICAgICAgICAgICBp
ZiAoc2xpZGVyKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNsaWRlci0+bW91c2VFdmVudElzSW5U
aHVtYihtb3VzZUV2ZW50KSkgewotICAgICAgICAgICAgICAgICAgICAvLyBXZSBzZWxlY3RlZCB0
aGUgdGh1bWIsIHdlIHdhbnQgdGhlIGN1cnNvciB0byBhbHdheXMgc3RheSBhdAotICAgICAgICAg
ICAgICAgICAgICAvLyB0aGUgc2FtZSBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgdGh1bWIuCi0g
ICAgICAgICAgICAgICAgICAgIG1fb2Zmc2V0VG9UaHVtYiA9IHNsaWRlci0+bW91c2VFdmVudE9m
ZnNldFRvVGh1bWIobW91c2VFdmVudCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgLy8gV2UgYXJlIG91dHNpZGUgdGhlIHRodW1iLCBtb3ZlIHRoZSB0aHVt
YiB0byB0aGUgcG9pbnQgd2VyZQotICAgICAgICAgICAgICAgICAgICAvLyB3ZSBjbGlja2VkLiBX
ZSdsbCBiZSBleGFjdGx5IGF0IHRoZSBjZW50ZXIgb2YgdGhlIHRodW1iLgotICAgICAgICAgICAg
ICAgICAgICBtX29mZnNldFRvVGh1bWIuc2V0WCgwKTsKLSAgICAgICAgICAgICAgICAgICAgbV9v
ZmZzZXRUb1RodW1iLnNldFkoMCk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAg
ICAgbV9pbkRyYWdNb2RlID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBkb2N1bWVudCgpLT5mcmFt
ZSgpLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKHNoYWRvd0hv
c3QoKSk7Ci0gICAgICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSBlbHNl
IGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNldXBFdmVudCAmJiBpc0xlZnRCdXR0
b24pIHsKLSAgICAgICAgaWYgKG1faW5EcmFnTW9kZSkgewotICAgICAgICAgICAgaWYgKEZyYW1l
KiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpCi0gICAgICAgICAgICAgICAgZnJhbWUtPmV2
ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoMCk7ICAgICAgCi0gICAg
ICAgICAgICBtX2luRHJhZ01vZGUgPSBmYWxzZTsKLSAgICAgICAgICAgIGV2ZW50LT5zZXREZWZh
dWx0SGFuZGxlZCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfSBlbHNl
IGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNlbW92ZUV2ZW50KSB7Ci0gICAgICAg
IGlmIChtX2luRHJhZ01vZGUgJiYgcmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5wYXJlbnQoKSkg
ewotICAgICAgICAgICAgUmVuZGVyU2xpZGVyKiBzbGlkZXIgPSB0b1JlbmRlclNsaWRlcihyZW5k
ZXJlcigpLT5wYXJlbnQoKSk7Ci0gICAgICAgICAgICBpZiAoc2xpZGVyKSB7Ci0gICAgICAgICAg
ICAgICAgRmxvYXRQb2ludCBjdXJQb2ludCA9IHNsaWRlci0+YWJzb2x1dGVUb0xvY2FsKG1vdXNl
RXZlbnQtPmFic29sdXRlTG9jYXRpb24oKSwgZmFsc2UsIHRydWUpOwotICAgICAgICAgICAgICAg
IEludFBvaW50IGV2ZW50T2Zmc2V0KGN1clBvaW50LngoKSArIG1fb2Zmc2V0VG9UaHVtYi54KCks
IGN1clBvaW50LnkoKSArIG1fb2Zmc2V0VG9UaHVtYi55KCkpOwotICAgICAgICAgICAgICAgIHNs
aWRlci0+c2V0VmFsdWVGb3JQb3NpdGlvbihzbGlkZXItPnBvc2l0aW9uRm9yT2Zmc2V0KGV2ZW50
T2Zmc2V0KSk7Ci0gICAgICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgU2hhZG93QmxvY2tFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0K
LQotdm9pZCBTbGlkZXJUaHVtYkVsZW1lbnQ6OmRldGFjaCgpCi17Ci0gICAgaWYgKG1faW5EcmFn
TW9kZSkgewotICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkK
LSAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVu
dHNOb2RlKDApOyAgICAgIAotICAgIH0KLSAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRldGFjaCgp
OwotfQotCiBSZW5kZXJTbGlkZXI6OlJlbmRlclNsaWRlcihIVE1MSW5wdXRFbGVtZW50KiBlbGVt
ZW50KQogICAgIDogUmVuZGVyQmxvY2soZWxlbWVudCkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76544</attachid>
            <date>2010-12-14 10:16:04 -0800</date>
            <delta_ts>2010-12-14 11:06:31 -0800</delta_ts>
            <desc>Hopefully everything builds now.</desc>
            <filename>bug-50973-20101214101603.patch</filename>
            <type>text/plain</type>
            <size>29025</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBmNzgwMzEwM2Y0OWUxYTRlNDhlMTIzM2EyZTE0ZmYxODlmNGIzZGIyLi43ZjEzZmZiODdhNzg0
YzAzOTVjOGE1YjAxNzQ2ODJkNjlmYjM1NDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0zNDUsNiArMzQ1LDggQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50
UGFyc2VyLmNwcCBcCiAJaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwIFwKIAlc
CisJaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBcCisJXAogCWxvYWRlci9jYWNo
ZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcCBcCiAJbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3Bw
IFwKIAlsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJiMGVlMzBmMzFj
OGNkMGExNzAzZWE3ZWMxOTM3YWZmODgxYTMwYjAuLjI4ZDBiZmU0YmEyNmU5ZmM3ZTI1M2IwMTQ2
OThmZDg4Yzk2NjVkNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTgsNiArMTgsNyBAQCBTRVQoV2ViQ29yZV9JTkNM
VURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2h0bWwiCiAgICAgIiR7V0VCQ09S
RV9ESVJ9L2h0bWwvY2FudmFzIgogICAgICIke1dFQkNPUkVfRElSfS9odG1sL3BhcnNlciIKKyAg
ICAiJHtXRUJDT1JFX0RJUn0vaHRtbC9zaGFkb3ciCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2luc3Bl
Y3RvciIKICAgICAiJHtXRUJDT1JFX0RJUn0vbG9hZGVyIgogICAgICIke1dFQkNPUkVfRElSfS9s
b2FkZXIvYXBwY2FjaGUiCkBAIC0xMTQyLDYgKzExNDMsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmNwcAogICAgIGh0bWwvcGFyc2Vy
L1RleHRWaWV3U291cmNlUGFyc2VyLmNwcAogCisgICAgaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJF
bGVtZW50LmNwcAorCiAgICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAogICAgIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0
LmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAyZmYyNDMxMTk5Y2MzZTY0MDg4NDViNjYxMzg4ZDAxYWYxNTlmMjZkLi40Y2JhZDc5Mzg5
MGFlNjU3ZjM5YWJhMjI0MjJkYzg1NTBmZDY3MTk1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEwLTEyLTEz
ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBTbGlkZXJUaHVtYkVsZW1l
bnQgaW50byBpdHMgb3duIGZpbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MDk3MworCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvciwgc28g
bm8gdGVzdHMuCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOiBBZGRlZCBTbGlkZXJUaHVtYkVsZW1l
bnQuCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgor
ICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOiBEaXR0bywKKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1l
bnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQu
aDogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHA6IFJlbW92ZWQg
Y29kZSB0aGF0IHdhcyBtb3ZlZCBpbnRvCisgICAgICAgICAgICBTbGlkZXJUaHVtYkVsZW1lbnQu
CisKIDIwMTAtMTItMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oIHdhcyByZW1vdmVkLiBOdWtlIGl0IGZy
b20gdGhlIHByb2plY3QuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA0ZDk1ZGY3Yzk0OWJmNTlkZjI4NGNhMjhmNjJlODli
YzJiZjBkNmQwLi4xY2RkODNkZWY2MjliYzVmNDk1MDMzMTY5MmFhMTM4YzY5M2ExMDQ0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KQEAgLTI0LDYgKzI0LDcgQEAgd2ViY29yZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2Rpcikv
V2ViQ29yZS9odG1sIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2h0bWwvY2FudmFzIFwKIAktSSQo
c3JjZGlyKS9XZWJDb3JlL2h0bWwvcGFyc2VyIFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2h0bWwv
c2hhZG93IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2luc3BlY3RvciBcCiAJLUkkKHNyY2Rpcikv
V2ViQ29yZS9sb2FkZXIgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDUxNTBmMjQ4YjE5NGNkNTU1Y2JlZTc1ZTQyNjc3
ZWUxZjg0ZWExY2YuLjU2ODk1ODAzYWYzZWM0NDUzNTNjYjNlMzc2ZWFmZGFlZjJiNjZlYmUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtMTMzLDYgKzEzMyw3IEBACiAgICAgICAnLi4vaHRt
bCcsCiAgICAgICAnLi4vaHRtbC9jYW52YXMnLAogICAgICAgJy4uL2h0bWwvcGFyc2VyJywKKyAg
ICAgICcuLi9odG1sL3NoYWRvdycsCiAgICAgICAnLi4vaW5zcGVjdG9yJywKICAgICAgICcuLi9s
b2FkZXInLAogICAgICAgJy4uL2xvYWRlci9hcHBjYWNoZScsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDAwZjcxOWI0YTVjZTAx
OTA0ZjZjZDM4NWQ4MmU4YTk3YmJkMDcxZjYuLjcwNjFmZmRlODBkNTA1NTVjZjAzZDdkZDhiYmYx
YWViZTMxMTE0ZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0xOTg5LDYgKzE5ODksOCBAQAogICAgICAgICAgICAgJ2h0bWwv
cGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5oJywKICAgICAgICAgICAgICdodG1sL3BhcnNlci9U
ZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvcGFyc2VyL1RleHRW
aWV3U291cmNlUGFyc2VyLmgnLAorICAgICAgICAgICAgJ2h0bWwvc2hhZG93L1NsaWRlclRodW1i
RWxlbWVudC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVu
dC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCcsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJv
IGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAxMWJmNTE0MTc5NzMwMWJlOGZhODhhNTUzMmIz
ZTc1ZjVhZGM4NWY3Li40NmU5YjBkYTg0ZTQ0Yjg1ZTY4Y2Q5Y2JmZTk4YWY5N2NkMGE5NGY4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8K
QEAgLTIyNyw2ICsyMjcsNyBAQCBXRUJDT1JFX0lOQ0xVREVQQVRIID0gXAogICAgICQkUFdEL2h0
bWwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzIFwKICAgICAkJFBXRC9odG1sL3BhcnNlciBcCisg
ICAgJCRQV0QvaHRtbC9zaGFkb3cgXAogICAgICQkUFdEL2luc3BlY3RvciBcCiAgICAgJCRQV0Qv
bG9hZGVyIFwKICAgICAkJFBXRC9sb2FkZXIvYXBwY2FjaGUgXApAQCAtMTAyMCw2ICsxMDIxLDcg
QEAgU09VUkNFUyArPSBcCiAgICAgaHRtbC9wYXJzZXIvSFRNTFZpZXdTb3VyY2VQYXJzZXIuY3Bw
IFwKICAgICBodG1sL3BhcnNlci9UZXh0RG9jdW1lbnRQYXJzZXIuY3BwIFwKICAgICBodG1sL3Bh
cnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAgXAorICAgIGh0bWwvc2hhZG93L1NsaWRlclRo
dW1iRWxlbWVudC5jcHAgXAogICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgXAogICAg
IGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAgXAogICAgIGluc3BlY3Rvci9JbmplY3RlZFNj
cmlwdEhvc3QuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGMw
NzJkNWIwY2E0ODVjNDlkYjk5NjU3M2ZjMWNiYjc5ODExY2MxYzcuLmUwZGFjMDRlZDc0YTRiOTcy
ZWIyMjE1ZTc0ODMxNzJjMGEyYWQzMzcgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtNTUzMjEsNiArNTUzMjEsMTggQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCTwv
RmlsdGVyPgorCQkJPEZpbHRlcgorCQkJCU5hbWU9InNoYWRvdyIKKwkJCQk+CisJCQkJPEZpbGUK
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xTbGlkZXJUaHVtYkVsZW1lbnQuY3Bw
IgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxzaGFkb3dcU2xpZGVyVGh1bWJFbGVtZW50LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJ
CQk8L0ZpbHRlcj4KIAkJPC9GaWx0ZXI+CiAJCTxGaWx0ZXIKIAkJCU5hbWU9ImJpbmRpbmdzIgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMg
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9wcwppbmRleCA1YzVj
NDgxZmIwMmI2NmM2M2RjYzdhOTk5OTc5N2QxZWFmMzQ1MzgzLi41MjliMjI4OWVlYjNiMGUwNWE1
NTNkYTYzZmUyZjBkYTk3MmE4N2E4IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmVDb21tb24udnNwcm9wcworKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmVDb21tb24udnNwcm9wcwpAQCAtNyw3ICs3LDcgQEAKIAk+CiAJPFRvb2wKIAkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKLQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQ
cm9qZWN0RGlyKS4uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5JnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5XHdpbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2Vc
YyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlXGpzYyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxlZGl0aW5nJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxmaWxlYXBpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdHlsZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN2ZyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cYmluZGluZ3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdz
XGdlbmVyaWMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqc1xzcGVjaWFsaXphdGlvbiZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb21cZGVm
YXVsdCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caGlzdG9yeSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5caHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxjYW52YXMm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxpbnNwZWN0b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
bG9hZGVyXGFyY2hpdmVcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNo
ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbm90aWZpY2F0
aW9ucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccGFnZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vc
d2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbGF0Zm9ybVxtb2NrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxzcWwm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29yayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cGxhdGZvcm1cbmV0d29ya1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljcyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGUmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHRyYW5zZm9ybXMmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtXHRleHRcdHJhbnNjb2RlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWwmcXVvdDs7
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbHVnaW5zXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGFuaW1hdGlvbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxzdmdccHJvcGVydGllcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3Zn
XGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2ZyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9y
YWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlx3b3JrZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNs
dWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7
JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1
b3Q7JChXZWJLaXRPdXRwdXREaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNE
aXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5j
bHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxp
bmNsdWRlXHNxbGl0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxK
YXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVx6
bGliJnF1b3Q7IgorCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2pl
Y3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxjc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGZpbGVhcGkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJl
bmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN0eWxlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxiaW5kaW5ncyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3NcZ2Vu
ZXJpYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3NcanMmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNwZWNpYWxpemF0aW9uJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGRvbVxkZWZhdWx0
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxoaXN0b3J5JnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXGNhbnZhcyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxwYXJzZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXGh0bWxcc2hhZG93JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxpbnNwZWN0b3Im
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJc
YXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmVcY2YmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXG1hdGhtbCZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbm90aWZpY2F0aW9ucyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxhbmltYXRp
b24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
YW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxtb2NrJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxzcWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
bmV0d29yayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGNmJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGdyYXBoaWNzXHRyYW5zZm9ybXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXHRleHQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNj
b2RlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWwmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zXHdpbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cc3ZnXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdccHJvcGVy
dGllcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
d21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9yYWdlJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3b3JrZXJz
JnF1b3Q7OyZxdW90OyQoV2ViS2l0T3V0cHV0RGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXRE
aXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRPdXRwdXREaXIp
XGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGlu
Y2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZx
dW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3Jp
cHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRz
JnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90Ozsm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90Ozsm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVx6bGliJnF1b3Q7IgogCQlQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz0iX19XSU4zMl9fO0RJU0FCTEVfM0RfUkVOREVSSU5HO1dFQkNPUkVf
Q09OVEVYVF9NRU5VUyIKIAkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiCiAJCVByZWNvbXBpbGVk
SGVhZGVyVGhyb3VnaD0iV2ViQ29yZVByZWZpeC5oIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBjMjJlZTZkNjk1ZGUxMGVkOGRiNzZmZjRiYjY4OTBkNzc5
ZWMwNjk5Li44OWM4ODk0ZWVjOGJmNjgxOTNlN2YwOWNiMTdkY2Y3N2Y2MDJjZmJjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTE5LDYgKzkxOSw4IEBA
CiAJCTQxMjdENTM3MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI3RDUzNjBGOEFBQjFEMDBF
NDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwICovOyB9OwogCQk0MTM4RDMzNTEyNDQwNTQ4MDAzMjNE
MzMgLyogRXZlbnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTM4RDMzMzEyNDQwNTQ4MDAzMjNEMzMgLyogRXZlbnRDb250ZXh0LmggKi87
IH07CiAJCTQxMzhEMzM2MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzOEQzMzQxMjQ0MDU0
ODAwMzIzRDMzIC8qIEV2ZW50Q29udGV4dC5jcHAgKi87IH07CisJCTQxNTBGOUYxMTJCNkUwRTcw
MDA4Qzg2MCAvKiBTbGlkZXJUaHVtYkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNTBGOUVGMTJCNkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJU
aHVtYkVsZW1lbnQuaCAqLzsgfTsKKwkJNDE1MEY5RjIxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRl
clRodW1iRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTUwRjlGMDEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmNw
cCAqLzsgfTsKIAkJNDE2MkE0NTAxMDExNDVBRTAwREZGM0VEIC8qIERlZGljYXRlZFdvcmtlckNv
bnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2MkE0NEQxMDExNDVBRTAwREZGM0VEIC8qIERlZGljYXRlZFdvcmtlckNvbnRleHQuY3BwICov
OyB9OwogCQk0MTYyQTQ1MTEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0
NEUxMDExNDVBRTAwREZGM0VEIC8qIERlZGljYXRlZFdvcmtlckNvbnRleHQuaCAqLzsgfTsKIAkJ
NDE2MkE0NTQxMDExNDVFMzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYy
QTQ1MzEwMTE0NUUzMDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNw
cCAqLzsgfTsKQEAgLTcyMjAsNiArNzIyMiw4IEBACiAJCTQxMjdENTM2MEY4QUFCMUQwMEU0MjRG
NSAvKiBTY3JpcHRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTY3JpcHRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzhEMzMz
MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRXZlbnRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxMzhEMzM0MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDE1MEY5RUYxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRlclRodW1i
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTbGlkZXJUaHVtYkVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE1MEY5RjAxMkI2RTBFNzAw
MDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTbGlkZXJUaHVtYkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTYyQTQ0RDEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29u
dGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0LmNwcDsgcGF0aCA9IHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjJBNDRFMTAxMTQ1QUUwMERGRjNF
RCAvKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERlZGljYXRlZFdvcmtlckNvbnRleHQuaDsgcGF0aCA9IHdvcmtlcnMvRGVkaWNhdGVk
V29ya2VyQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTYyQTQ0RjEw
MTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBuYW1lID0gRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGw7IHBhdGggPSB3b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckNvbnRleHQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMwMjIsNiArMTMwMjYsMTUgQEAKIAkJCW5hbWUgPSBOb3RpZmljYXRpb25zOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNo
YWRvdyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDE1
MEY5RUYxMkI2RTBFNzAwMDhDODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5oICovLAorCQkJCTQx
NTBGOUYwMTJCNkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJUaHVtYkVsZW1lbnQuY3BwICovLAorCQkJ
KTsKKwkJCXBhdGggPSBzaGFkb3c7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
CQk0NDkxOTU5MDBGQkUxNzVCMDBEOUY4MjQgLyogRXhwb3J0cyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0xNTE4MSw2ICsxNTE5NCw3IEBACiAJCQljaGls
ZHJlbiA9ICgKIAkJCQk0OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJ
CTk3QzFGNTUxMTIyODU1ODgwMEVERTYxNiAvKiBwYXJzZXIgKi8sCisJCQkJNDE1MEY5RUQxMkI2
RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLywKIAkJCQlCMDE0OUU3OTExQTRCMjE1MDAxOTZBN0Ig
LyogQXN5bmNJbWFnZVJlc2l6ZXIuY3BwICovLAogCQkJCUIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3
QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICovLAogCQkJCTM3OUU2MUM1MTI2Q0E1QzMwMEI2M0U4
RCAvKiBCYXNlQnV0dG9uSW5wdXRUeXBlLmNwcCAqLywKQEAgLTIxNTY4LDYgKzIxNTgyLDcgQEAK
IAkJCQlCMkMzREE2NTBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxMzI3RDYwMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUNEMEVGODZENDcwMDlEMENBRiAvKiBTa2V3VHJhbnNm
b3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTUwRjlGMTEyQjZFMEU3MDAwOEM4
NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjZGQTZGNDBD
MzlFNDhDMDAwODcwMTEgLyogU21hcnRSZXBsYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEFG
RDAwQzBEQUYzMzU0MDBGNUY1NUMgLyogU01JTFRpbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0
QUZEMDBFMERBRjMzNTUwMEY1RjU1QyAvKiBTTUlMVGltZUNvbnRhaW5lci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNDMzOSw2ICsyNDM1NCw3IEBACiAJCQkJQjJBRkZDN0YwRDAwQTVDMTAwMzAwNzRE
IC8qIFNpbXBsZUZvbnREYXRhTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzMjdENjExMUEz
M0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUU5
MTFDQzBFRjg2RDQ3MDA5RDBDQUYgLyogU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk0MTUwRjlGMjEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1bWJFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRCNkZBNkY1MEMzOUU0OEMwMDA4NzAxMSAvKiBT
bWFydFJlcGxhY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEI2RkE2RjcwQzM5RTRBMTAwMDg3
MDExIC8qIFNtYXJ0UmVwbGFjZUNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0QUZEMDBCMERB
RjMzNTQwMEY1RjU1QyAvKiBTTUlMVGltZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRt
bC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTMwMWMxNWFiMDZk
NGFiYTQ5NmEyNzg0ZGM5YmU2NWEwNzAxN2NjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9o
dG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCkBAIC0wLDAgKzEsMTA5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNsaWRlclRodW1iRWxl
bWVudC5oIgorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1
ZGUgIk1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJTbGlkZXIuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCit2b2lkIFNsaWRlclRodW1iRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxl
cihFdmVudCogZXZlbnQpCit7CisgICAgaWYgKCFldmVudC0+aXNNb3VzZUV2ZW50KCkpIHsKKyAg
ICAgICAgU2hhZG93QmxvY2tFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1vdXNlRXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0
aWNfY2FzdDxNb3VzZUV2ZW50Kj4oZXZlbnQpOworICAgIGJvb2wgaXNMZWZ0QnV0dG9uID0gbW91
c2VFdmVudC0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbjsKKyAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSA9IGV2ZW50LT50eXBlKCk7CisKKyAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50
TmFtZXMoKS5tb3VzZWRvd25FdmVudCAmJiBpc0xlZnRCdXR0b24pIHsKKyAgICAgICAgaWYgKGRv
Y3VtZW50KCktPmZyYW1lKCkgJiYgcmVuZGVyZXIoKSkgeworICAgICAgICAgICAgUmVuZGVyU2xp
ZGVyKiBzbGlkZXIgPSB0b1JlbmRlclNsaWRlcihyZW5kZXJlcigpLT5wYXJlbnQoKSk7CisgICAg
ICAgICAgICBpZiAoc2xpZGVyKSB7CisgICAgICAgICAgICAgICAgaWYgKHNsaWRlci0+bW91c2VF
dmVudElzSW5UaHVtYihtb3VzZUV2ZW50KSkgeworICAgICAgICAgICAgICAgICAgICAvLyBXZSBz
ZWxlY3RlZCB0aGUgdGh1bWIsIHdlIHdhbnQgdGhlIGN1cnNvciB0byBhbHdheXMgc3RheSBhdAor
ICAgICAgICAgICAgICAgICAgICAvLyB0aGUgc2FtZSBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUg
dGh1bWIuCisgICAgICAgICAgICAgICAgICAgIG1fb2Zmc2V0VG9UaHVtYiA9IHNsaWRlci0+bW91
c2VFdmVudE9mZnNldFRvVGh1bWIobW91c2VFdmVudCk7CisgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgLy8gV2UgYXJlIG91dHNpZGUgdGhlIHRodW1iLCBtb3Zl
IHRoZSB0aHVtYiB0byB0aGUgcG9pbnQgd2VyZQorICAgICAgICAgICAgICAgICAgICAvLyB3ZSBj
bGlja2VkLiBXZSdsbCBiZSBleGFjdGx5IGF0IHRoZSBjZW50ZXIgb2YgdGhlIHRodW1iLgorICAg
ICAgICAgICAgICAgICAgICBtX29mZnNldFRvVGh1bWIuc2V0WCgwKTsKKyAgICAgICAgICAgICAg
ICAgICAgbV9vZmZzZXRUb1RodW1iLnNldFkoMCk7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgbV9pbkRyYWdNb2RlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2Rl
KHNoYWRvd0hvc3QoKSk7CisgICAgICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVk
KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfSBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNldXBFdmVudCAmJiBp
c0xlZnRCdXR0b24pIHsKKyAgICAgICAgaWYgKG1faW5EcmFnTW9kZSkgeworICAgICAgICAgICAg
aWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpCisgICAgICAgICAgICAgICAg
ZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoMCk7ICAg
ICAgCisgICAgICAgICAgICBtX2luRHJhZ01vZGUgPSBmYWxzZTsKKyAgICAgICAgICAgIGV2ZW50
LT5zZXREZWZhdWx0SGFuZGxlZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgfSBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNlbW92ZUV2ZW50KSB7
CisgICAgICAgIGlmIChtX2luRHJhZ01vZGUgJiYgcmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5w
YXJlbnQoKSkgeworICAgICAgICAgICAgUmVuZGVyU2xpZGVyKiBzbGlkZXIgPSB0b1JlbmRlclNs
aWRlcihyZW5kZXJlcigpLT5wYXJlbnQoKSk7CisgICAgICAgICAgICBpZiAoc2xpZGVyKSB7Cisg
ICAgICAgICAgICAgICAgRmxvYXRQb2ludCBjdXJQb2ludCA9IHNsaWRlci0+YWJzb2x1dGVUb0xv
Y2FsKG1vdXNlRXZlbnQtPmFic29sdXRlTG9jYXRpb24oKSwgZmFsc2UsIHRydWUpOworICAgICAg
ICAgICAgICAgIEludFBvaW50IGV2ZW50T2Zmc2V0KGN1clBvaW50LngoKSArIG1fb2Zmc2V0VG9U
aHVtYi54KCksIGN1clBvaW50LnkoKSArIG1fb2Zmc2V0VG9UaHVtYi55KCkpOworICAgICAgICAg
ICAgICAgIHNsaWRlci0+c2V0VmFsdWVGb3JQb3NpdGlvbihzbGlkZXItPnBvc2l0aW9uRm9yT2Zm
c2V0KGV2ZW50T2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5k
bGVkKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgU2hhZG93QmxvY2tFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2
ZW50KTsKK30KKwordm9pZCBTbGlkZXJUaHVtYkVsZW1lbnQ6OmRldGFjaCgpCit7CisgICAgaWYg
KG1faW5EcmFnTW9kZSkgeworICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+
ZnJhbWUoKSkKKyAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5n
TW91c2VFdmVudHNOb2RlKDApOyAgICAgIAorICAgIH0KKyAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6
OmRldGFjaCgpOworfQorCit9CisKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xp
ZGVyVGh1bWJFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVu
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDU3NDY2NGMzZWNhZjVkYjc0NmZiNGFjYjVmOTk0ZWNkODllM2YK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVu
dC5oCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIw
MDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTbGlkZXJUaHVtYkVs
ZW1lbnRfaAorI2RlZmluZSBTbGlkZXJUaHVtYkVsZW1lbnRfaAorCisjaW5jbHVkZSAiRmxvYXRQ
b2ludC5oIgorI2luY2x1ZGUgIlNoYWRvd0VsZW1lbnQuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEhUTUxFbGVtZW50OworY2xhc3Mg
RXZlbnQ7CitjbGFzcyBGbG9hdFBvaW50OworCitjbGFzcyBTbGlkZXJUaHVtYkVsZW1lbnQgOiBw
dWJsaWMgU2hhZG93QmxvY2tFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTbGlkZXJUaHVtYkVsZW1lbnQ+IGNyZWF0ZShIVE1MRWxlbWVudCogc2hhZG93UGFyZW50KTsK
KworICAgIGJvb2wgaW5EcmFnTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5EcmFnTW9kZTsgfQor
CisgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGV0YWNoKCk7CisKK3ByaXZhdGU6ICAgICAgICAKKyAgICBTbGlkZXJUaHVtYkVs
ZW1lbnQoSFRNTEVsZW1lbnQqIHNoYWRvd1BhcmVudCk7CisKKyAgICBGbG9hdFBvaW50IG1fb2Zm
c2V0VG9UaHVtYjsKKyAgICBib29sIG1faW5EcmFnTW9kZTsKK307CisKK2lubGluZSBTbGlkZXJU
aHVtYkVsZW1lbnQ6OlNsaWRlclRodW1iRWxlbWVudChIVE1MRWxlbWVudCogc2hhZG93UGFyZW50
KQorICAgIDogU2hhZG93QmxvY2tFbGVtZW50KHNoYWRvd1BhcmVudCkKKyAgICAsIG1faW5EcmFn
TW9kZShmYWxzZSkKK3sKK30KKworaW5saW5lIFBhc3NSZWZQdHI8U2xpZGVyVGh1bWJFbGVtZW50
PiBTbGlkZXJUaHVtYkVsZW1lbnQ6OmNyZWF0ZShIVE1MRWxlbWVudCogc2hhZG93UGFyZW50KQor
eworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2xpZGVyVGh1bWJFbGVtZW50KHNoYWRvd1BhcmVu
dCkpOworfQorCit9CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTbGlkZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcAppbmRl
eCAxNjE5ZDk0YTcyNDRkODhjYTU3N2Q1OTI4YjU3YjI4ZmY4OTNiNWY0Li5iNzNhMWFjYWE5ZTYy
NGNhMTg2ODZjNzc2ZWI4ODYzNDBjNzAxMmUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5j
cHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTaGFkb3dFbGVtZW50LmgiCisjaW5jbHVkZSAiU2xp
ZGVyVGh1bWJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU3RlcFJhbmdlLmgiCiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KIApAQCAtNTIsOTggKzUzLDYgQEAgc3RhdGljIGRvdWJsZSBzbGlkZXJQ
b3NpdGlvbihIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIHJldHVybiByYW5nZS5wcm9w
b3J0aW9uRnJvbVZhbHVlKHJhbmdlLnZhbHVlRnJvbUVsZW1lbnQoZWxlbWVudCkpOwogfQogCi1j
bGFzcyBTbGlkZXJUaHVtYkVsZW1lbnQgOiBwdWJsaWMgU2hhZG93QmxvY2tFbGVtZW50IHsKLXB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTbGlkZXJUaHVtYkVsZW1lbnQ+IGNyZWF0ZShI
VE1MRWxlbWVudCogc2hhZG93UGFyZW50KTsKLQotICAgIGJvb2wgaW5EcmFnTW9kZSgpIGNvbnN0
IHsgcmV0dXJuIG1faW5EcmFnTW9kZTsgfQotCi0gICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVu
dEhhbmRsZXIoRXZlbnQqKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7Ci0KLXByaXZhdGU6
ICAgICAgICAKLSAgICBTbGlkZXJUaHVtYkVsZW1lbnQoSFRNTEVsZW1lbnQqIHNoYWRvd1BhcmVu
dCk7Ci0KLSAgICBGbG9hdFBvaW50IG1fb2Zmc2V0VG9UaHVtYjsKLSAgICBib29sIG1faW5EcmFn
TW9kZTsKLX07Ci0KLWlubGluZSBTbGlkZXJUaHVtYkVsZW1lbnQ6OlNsaWRlclRodW1iRWxlbWVu
dChIVE1MRWxlbWVudCogc2hhZG93UGFyZW50KQotICAgIDogU2hhZG93QmxvY2tFbGVtZW50KHNo
YWRvd1BhcmVudCkKLSAgICAsIG1faW5EcmFnTW9kZShmYWxzZSkKLXsKLX0KLQotaW5saW5lIFBh
c3NSZWZQdHI8U2xpZGVyVGh1bWJFbGVtZW50PiBTbGlkZXJUaHVtYkVsZW1lbnQ6OmNyZWF0ZShI
VE1MRWxlbWVudCogc2hhZG93UGFyZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2xp
ZGVyVGh1bWJFbGVtZW50KHNoYWRvd1BhcmVudCkpOwotfQotCi12b2lkIFNsaWRlclRodW1iRWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCi17Ci0gICAgaWYgKCFldmVu
dC0+aXNNb3VzZUV2ZW50KCkpIHsKLSAgICAgICAgU2hhZG93QmxvY2tFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKGV2ZW50KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIE1vdXNl
RXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0aWNfY2FzdDxNb3VzZUV2ZW50Kj4oZXZlbnQpOwotICAg
IGJvb2wgaXNMZWZ0QnV0dG9uID0gbW91c2VFdmVudC0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbjsK
LSAgICBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSA9IGV2ZW50LT50eXBlKCk7Ci0KLSAg
ICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCAmJiBpc0xlZnRC
dXR0b24pIHsKLSAgICAgICAgaWYgKGRvY3VtZW50KCktPmZyYW1lKCkgJiYgcmVuZGVyZXIoKSkg
ewotICAgICAgICAgICAgUmVuZGVyU2xpZGVyKiBzbGlkZXIgPSB0b1JlbmRlclNsaWRlcihyZW5k
ZXJlcigpLT5wYXJlbnQoKSk7Ci0gICAgICAgICAgICBpZiAoc2xpZGVyKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKHNsaWRlci0+bW91c2VFdmVudElzSW5UaHVtYihtb3VzZUV2ZW50KSkgewotICAg
ICAgICAgICAgICAgICAgICAvLyBXZSBzZWxlY3RlZCB0aGUgdGh1bWIsIHdlIHdhbnQgdGhlIGN1
cnNvciB0byBhbHdheXMgc3RheSBhdAotICAgICAgICAgICAgICAgICAgICAvLyB0aGUgc2FtZSBw
b3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgdGh1bWIuCi0gICAgICAgICAgICAgICAgICAgIG1fb2Zm
c2V0VG9UaHVtYiA9IHNsaWRlci0+bW91c2VFdmVudE9mZnNldFRvVGh1bWIobW91c2VFdmVudCk7
Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gV2UgYXJl
IG91dHNpZGUgdGhlIHRodW1iLCBtb3ZlIHRoZSB0aHVtYiB0byB0aGUgcG9pbnQgd2VyZQotICAg
ICAgICAgICAgICAgICAgICAvLyB3ZSBjbGlja2VkLiBXZSdsbCBiZSBleGFjdGx5IGF0IHRoZSBj
ZW50ZXIgb2YgdGhlIHRodW1iLgotICAgICAgICAgICAgICAgICAgICBtX29mZnNldFRvVGh1bWIu
c2V0WCgwKTsKLSAgICAgICAgICAgICAgICAgICAgbV9vZmZzZXRUb1RodW1iLnNldFkoMCk7Ci0g
ICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgbV9pbkRyYWdNb2RlID0gdHJ1ZTsK
LSAgICAgICAgICAgICAgICBkb2N1bWVudCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+c2V0
Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKHNoYWRvd0hvc3QoKSk7Ci0gICAgICAgICAgICAgICAg
ZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLm1vdXNldXBFdmVudCAmJiBpc0xlZnRCdXR0b24pIHsKLSAgICAgICAgaWYgKG1faW5E
cmFnTW9kZSkgewotICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZy
YW1lKCkpCi0gICAgICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJp
bmdNb3VzZUV2ZW50c05vZGUoMCk7ICAgICAgCi0gICAgICAgICAgICBtX2luRHJhZ01vZGUgPSBm
YWxzZTsKLSAgICAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLm1vdXNlbW92ZUV2ZW50KSB7Ci0gICAgICAgIGlmIChtX2luRHJhZ01vZGUgJiYgcmVu
ZGVyZXIoKSAmJiByZW5kZXJlcigpLT5wYXJlbnQoKSkgewotICAgICAgICAgICAgUmVuZGVyU2xp
ZGVyKiBzbGlkZXIgPSB0b1JlbmRlclNsaWRlcihyZW5kZXJlcigpLT5wYXJlbnQoKSk7Ci0gICAg
ICAgICAgICBpZiAoc2xpZGVyKSB7Ci0gICAgICAgICAgICAgICAgRmxvYXRQb2ludCBjdXJQb2lu
dCA9IHNsaWRlci0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZlbnQtPmFic29sdXRlTG9jYXRpb24o
KSwgZmFsc2UsIHRydWUpOwotICAgICAgICAgICAgICAgIEludFBvaW50IGV2ZW50T2Zmc2V0KGN1
clBvaW50LngoKSArIG1fb2Zmc2V0VG9UaHVtYi54KCksIGN1clBvaW50LnkoKSArIG1fb2Zmc2V0
VG9UaHVtYi55KCkpOwotICAgICAgICAgICAgICAgIHNsaWRlci0+c2V0VmFsdWVGb3JQb3NpdGlv
bihzbGlkZXItPnBvc2l0aW9uRm9yT2Zmc2V0KGV2ZW50T2Zmc2V0KSk7Ci0gICAgICAgICAgICAg
ICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgU2hhZG93QmxvY2tFbGVtZW50
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKLX0KLQotdm9pZCBTbGlkZXJUaHVtYkVsZW1l
bnQ6OmRldGFjaCgpCi17Ci0gICAgaWYgKG1faW5EcmFnTW9kZSkgewotICAgICAgICBpZiAoRnJh
bWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKLSAgICAgICAgICAgIGZyYW1lLT5ldmVu
dEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKDApOyAgICAgIAotICAgIH0K
LSAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRldGFjaCgpOwotfQotCiBSZW5kZXJTbGlkZXI6OlJl
bmRlclNsaWRlcihIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIDogUmVuZGVyQmxvY2so
ZWxlbWVudCkKIHsK
</data>
<flag name="review"
          id="67514"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>