<?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>119464</bug_id>
          
          <creation_ts>2013-08-02 23:52:15 -0700</creation_ts>
          <short_desc>Add srcset support to HTMLPreloadScanner</short_desc>
          <delta_ts>2013-08-04 12:53:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>119360</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Yoav Weiss">yoav</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>yoav</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>914351</commentid>
    <comment_count>0</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2013-08-02 23:52:15 -0700</bug_when>
    <thetext>Add srcset support to HTMLPreloadScanner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914352</commentid>
    <comment_count>1</comment_count>
      <attachid>208058</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2013-08-03 00:14:56 -0700</bug_when>
    <thetext>Created attachment 208058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914353</commentid>
    <comment_count>2</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2013-08-03 00:19:57 -0700</bug_when>
    <thetext>The recently landed srcset support (https://bugs.webkit.org/show_bug.cgi?id=110252) lack a HTMlPreloadScanner support.
That means that for pages with a script tag at the page&apos;s top, images with both &quot;src&quot; and &quot;srcset&quot; attributes will have 2 resources downloaded when only one is needed. (Because the &quot;src&quot; resource is downloaded by the preload scanner).

This patch fixes that by adding srcset support to HTMLPreloadScanner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914355</commentid>
    <comment_count>3</comment_count>
      <attachid>208058</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-08-03 01:28:07 -0700</bug_when>
    <thetext>Comment on attachment 208058
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=208058&amp;action=review

&gt; LayoutTests/fast/hidpi/image-srcset-preload-expected.txt:1
&gt; +WARN: shouldBe() expects string arguments

(Just passing by) Looks like an unexpected use of shouldBe below. You should pass the argument as a string and shouldBeFalse will eval it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914361</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-08-03 04:00:27 -0700</bug_when>
    <thetext>This is a duplicate of Bug 119360 which has a similar patch (that I&apos;m currently reworking).

I&apos;ll merge the two patches.

*** This bug has been marked as a duplicate of bug 119360 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914363</commentid>
    <comment_count>5</comment_count>
      <attachid>208061</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2013-08-03 04:02:25 -0700</bug_when>
    <thetext>Created attachment 208061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914364</commentid>
    <comment_count>6</comment_count>
      <attachid>208058</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-08-03 04:05:26 -0700</bug_when>
    <thetext>Comment on attachment 208058
Patch

Merging with the existing patch and review from 119360. It&apos;s very similar.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208058</attachid>
            <date>2013-08-03 00:14:56 -0700</date>
            <delta_ts>2013-08-03 04:05:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119464-20130803091455.patch</filename>
            <type>text/plain</type>
            <size>18846</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQwNmEwOTFjZDUwNmQz
MDk2NjU4YTZlODU5YTY4Yjk0NzAwYjkyNC4uNWY1NGU4NzZiZjhkMTk5MzgwYjM4ZWE2MjJiNTkx
ZjcxNTYwM2U0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA4LTAyICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBzcmNzZXQgc3VwcG9ydCB0byBI
VE1MUHJlbG9hZFNjYW5uZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExOTQ2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEF2b2lkIGFuIGV4dHJhLCB1c2VsZXNzIGRvd25sb2FkIHdoZW4gYm90aCAic3Jj
IiBhbmQgInNyY3NldCIgYXR0cmlidXRlcyBhcmUgc2V0IG9uIGFuIEltYWdlRWxlbWVudCwgYW5k
IHRoZSBIVE1sUHJlbG9hZFNjYW5uZXIKKyAgICAgICAga2lja2VkIGluLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0LXByZWxvYWQuaHRtbAorCisgICAgICAgICogaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OmRldGVybWluZUJlc3RJbWFnZUZvclNjYWxlRmFjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OmRldGVybWluZUJlc3RGaXRJbWFnZVNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojpjb2xsZWN0SW1hZ2VDYW5kaWRhdGVzRnJvbVNy
Y1NldCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojpjb2xsZWN0SW1hZ2VD
YW5kaWRhdGVGcm9tU3JjKToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpwdW1wVG9rZW5pemVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6aW5zZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxE
b2N1bWVudFBhcnNlcjo6c3RhcnRCYWNrZ3JvdW5kUGFyc2VyKToKKyAgICAgICAgKiBodG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVs
b2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXIpOgorICAgICAgICAo
V2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVhdGVQcmVs
b2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFy
dFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5Q
cmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpzZXRTcmNTZXRWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXI6OnNob3VsZFBy
ZWxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6VG9rZW5QcmVs
b2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpzY2Fu
Q29tbW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxv
YWRTY2FubmVyKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaDoK
KwogMjAxMy0wOC0wMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE1MzYwOC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDMxOWNjN2U4MWIyZDk1MzgzMWM3MjM3NGYz
MGZjNzI4YWIxOGUwYTguLjdjOTFlN2Y2ODI4MWZkMTcyZGM1ODkxZmMzMjY5MmY2YWJlYWFmN2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtMTE3LDM1ICsx
MTcsNDEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MSW1hZ2VFbGVtZW50OjppbWFnZVNvdXJj
ZVVSTCgpIGNvbnN0CiAKIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGV0ZXJtaW5lQmVzdEltYWdl
Rm9yU2NhbGVGYWN0b3IoKQogewotICAgIG1faW1hZ2VzV2l0aFNjYWxlLmNsZWFyKCk7CiAgICAg
bV9iZXN0Rml0SW1hZ2VVUkwgPSBudWxsQXRvbTsKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNy
YyA9IGZhc3RHZXRBdHRyaWJ1dGUoc3JjQXR0cik7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBz
cmNzZXQgPSBmYXN0R2V0QXR0cmlidXRlKHNyY3NldEF0dHIpOworICAgIGZsb2F0IHBhZ2VTY2Fs
ZUZhY3RvciA9IDEuMDsKKyAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCktPnBhZ2UoKSkK
KyAgICAgICAgcGFnZVNjYWxlRmFjdG9yID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKIAot
ICAgIGNvbGxlY3RJbWFnZUNhbmRpZGF0ZXNGcm9tU3JjU2V0KCk7Ci0gICAgY29sbGVjdEltYWdl
Q2FuZGlkYXRlRnJvbVNyYygpOwotICAgIHN0YWJsZV9zb3J0KG1faW1hZ2VzV2l0aFNjYWxlLmJl
Z2luKCksIG1faW1hZ2VzV2l0aFNjYWxlLmVuZCgpLCBjb21wYXJlQnlTY2FsZUZhY3Rvcik7Cisg
ICAgbV9iZXN0Rml0SW1hZ2VVUkwgPSBkZXRlcm1pbmVCZXN0Rml0SW1hZ2VTb3VyY2UocGFnZVNj
YWxlRmFjdG9yLCBzcmMuc3RyaW5nKCksIHNyY3NldC5zdHJpbmcoKSk7Cit9CisKK1N0cmluZyBI
VE1MSW1hZ2VFbGVtZW50OjpkZXRlcm1pbmVCZXN0Rml0SW1hZ2VTb3VyY2UoZmxvYXQgcGFnZVNj
YWxlRmFjdG9yLCBjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgU3RyaW5nJiBzcmNzZXQpCit7Cisg
ICAgVmVjdG9yIDxJbWFnZVdpdGhTY2FsZT4gaW1hZ2VzV2l0aFNjYWxlOworICAgIGNvbGxlY3RJ
bWFnZUNhbmRpZGF0ZXNGcm9tU3JjU2V0KGltYWdlc1dpdGhTY2FsZSwgc3Jjc2V0KTsKKyAgICBj
b2xsZWN0SW1hZ2VDYW5kaWRhdGVGcm9tU3JjKGltYWdlc1dpdGhTY2FsZSwgc3JjKTsKKyAgICBz
dGFibGVfc29ydChpbWFnZXNXaXRoU2NhbGUuYmVnaW4oKSwgaW1hZ2VzV2l0aFNjYWxlLmVuZCgp
LCBjb21wYXJlQnlTY2FsZUZhY3Rvcik7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMTsgaSA8IG1f
aW1hZ2VzV2l0aFNjYWxlLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtX2ltYWdlc1dpdGhT
Y2FsZVtpLTFdLnNjYWxlRmFjdG9yID09IG1faW1hZ2VzV2l0aFNjYWxlW2ldLnNjYWxlRmFjdG9y
KSB7Ci0gICAgICAgICAgICBtX2ltYWdlc1dpdGhTY2FsZS5yZW1vdmUoaSk7CisgICAgZm9yIChz
aXplX3QgaSA9IDE7IGkgPCBpbWFnZXNXaXRoU2NhbGUuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAg
aWYgKGltYWdlc1dpdGhTY2FsZVtpLTFdLnNjYWxlRmFjdG9yID09IGltYWdlc1dpdGhTY2FsZVtp
XS5zY2FsZUZhY3RvcikgeworICAgICAgICAgICAgaW1hZ2VzV2l0aFNjYWxlLnJlbW92ZShpKTsK
ICAgICAgICAgICAgIGktLTsKICAgICAgICAgfQogICAgIH0KIAotICAgIGZsb2F0IHBhZ2VTY2Fs
ZUZhY3RvciA9IDEuMDsKLSAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCktPnBhZ2UoKSkK
LSAgICAgICAgcGFnZVNjYWxlRmFjdG9yID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKLQot
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9pbWFnZXNXaXRoU2NhbGUuc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgaWYgKG1faW1hZ2VzV2l0aFNjYWxlW2ldLnNjYWxlRmFjdG9yID49IHBhZ2VT
Y2FsZUZhY3RvcikgewotICAgICAgICAgICAgbV9iZXN0Rml0SW1hZ2VVUkwgPSBtX2ltYWdlc1dp
dGhTY2FsZVtpXS5pbWFnZVVSTDsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGltYWdlc1dpdGhTY2FsZS5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAo
aW1hZ2VzV2l0aFNjYWxlW2ldLnNjYWxlRmFjdG9yID49IHBhZ2VTY2FsZUZhY3RvcikgeworICAg
ICAgICAgICAgcmV0dXJuIGltYWdlc1dpdGhTY2FsZVtpXS5pbWFnZVVSTDsKICAgICAgICAgfQog
ICAgIH0KKyAgICByZXR1cm4gIiI7CiB9CiAKLXZvaWQgSFRNTEltYWdlRWxlbWVudDo6Y29sbGVj
dEltYWdlQ2FuZGlkYXRlc0Zyb21TcmNTZXQoKQordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpjb2xs
ZWN0SW1hZ2VDYW5kaWRhdGVzRnJvbVNyY1NldChWZWN0b3I8SW1hZ2VXaXRoU2NhbGU+JiBpbWFn
ZXNXaXRoU2NhbGUsIGNvbnN0IFN0cmluZyYgc3Jjc2V0KQogewotICAgIGNvbnN0IFN0cmluZyYg
c3JjU2V0QXR0cmlidXRlVmFsdWUgPSBmYXN0R2V0QXR0cmlidXRlKHNyY3NldEF0dHIpLnN0cmlu
ZygpLnNpbXBsaWZ5V2hpdGVTcGFjZShpc0hUTUxTcGFjZSk7CisgICAgY29uc3QgU3RyaW5nJiBz
cmNTZXRBdHRyaWJ1dGVWYWx1ZSA9IHNyY3NldC5zaW1wbGlmeVdoaXRlU3BhY2UoaXNIVE1MU3Bh
Y2UpOwogICAgIFZlY3RvcjxTdHJpbmc+IHNyY1NldFRva2VuczsKIAogICAgIHNyY1NldEF0dHJp
YnV0ZVZhbHVlLnNwbGl0KCcsJywgc3JjU2V0VG9rZW5zKTsKQEAgLTE3MiwxOCArMTc4LDE3IEBA
IHZvaWQgSFRNTEltYWdlRWxlbWVudDo6Y29sbGVjdEltYWdlQ2FuZGlkYXRlc0Zyb21TcmNTZXQo
KQogICAgICAgICBpbWFnZS5pbWFnZVVSTCA9IGRlY29kZVVSTEVzY2FwZVNlcXVlbmNlcyhkYXRh
WzBdKTsKICAgICAgICAgaW1hZ2Uuc2NhbGVGYWN0b3IgPSBpbWdTY2FsZUZhY3RvcjsKIAotICAg
ICAgICBtX2ltYWdlc1dpdGhTY2FsZS5hcHBlbmQoaW1hZ2UpOworICAgICAgICBpbWFnZXNXaXRo
U2NhbGUuYXBwZW5kKGltYWdlKTsKICAgICB9CiB9CiAKLXZvaWQgSFRNTEltYWdlRWxlbWVudDo6
Y29sbGVjdEltYWdlQ2FuZGlkYXRlRnJvbVNyYygpCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmNv
bGxlY3RJbWFnZUNhbmRpZGF0ZUZyb21TcmMoVmVjdG9yPEltYWdlV2l0aFNjYWxlPiYgaW1hZ2Vz
V2l0aFNjYWxlLCBjb25zdCBTdHJpbmcmIHNyYykKIHsKLSAgICBjb25zdCBBdG9taWNTdHJpbmcm
IHNyYyA9IGZhc3RHZXRBdHRyaWJ1dGUoc3JjQXR0cik7CiAgICAgSW1hZ2VXaXRoU2NhbGUgaW1h
Z2U7CiAgICAgaWYgKCFzcmMuaXNFbXB0eSgpKSB7CiAgICAgICAgIGltYWdlLmltYWdlVVJMID0g
ZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKHNyYyk7CiAgICAgICAgIGltYWdlLnNjYWxlRmFjdG9y
ID0gMS4wOwotICAgICAgICBtX2ltYWdlc1dpdGhTY2FsZS5hcHBlbmQoaW1hZ2UpOworICAgICAg
ICBpbWFnZXNXaXRoU2NhbGUuYXBwZW5kKGltYWdlKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggM2Q0M2I5ZTQ3OWMwZWFjMmU0MTZjYjllZmQ3
YjY2ZTQ0ZWUzMTExZi4uMWU2ZWNkMWM0MGY2ZGU5NTU1YzU4NDFmMmE3OGEyOTU1NmE2ZmIzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTc4LDYgKzc4LDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGltYWdlU291cmNlVVJM
KCkgY29uc3QgT1ZFUlJJREU7CiAKKyAgICBzdGF0aWMgU3RyaW5nIGRldGVybWluZUJlc3RGaXRJ
bWFnZVNvdXJjZShmbG9hdCBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFN0cmluZyYgc3JjLCBjb25z
dCBTdHJpbmcmIHNyY3NldCk7CiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEltYWdlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVsZW1lbnQqID0gMCk7CiAKQEAg
LTEwOSw5ICsxMTAsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXRJdGVtVmFsdWVU
ZXh0KGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBPVkVSUklERTsKICNlbmRpZgogCi0g
ICAgdm9pZCBjb2xsZWN0SW1hZ2VDYW5kaWRhdGVGcm9tU3JjKCk7Ci0gICAgdm9pZCBjb2xsZWN0
SW1hZ2VDYW5kaWRhdGVzRnJvbVNyY1NldCgpOwotICAgIHZvaWQgZGV0ZXJtaW5lQmVzdEltYWdl
Rm9yU2NhbGVGYWN0b3IoKTsKIAogICAgIHN0cnVjdCBJbWFnZVdpdGhTY2FsZSB7CiAgICAgICAg
IFN0cmluZyBpbWFnZVVSTDsKQEAgLTEyMiw2ICsxMjAsMTAgQEAgcHJpdmF0ZToKICAgICAgICAg
fQogICAgIH07CiAKKyAgICBzdGF0aWMgdm9pZCBjb2xsZWN0SW1hZ2VDYW5kaWRhdGVGcm9tU3Jj
KFZlY3RvcjxJbWFnZVdpdGhTY2FsZT4mLCBjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgdm9p
ZCBjb2xsZWN0SW1hZ2VDYW5kaWRhdGVzRnJvbVNyY1NldChWZWN0b3I8SW1hZ2VXaXRoU2NhbGU+
JiwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBkZXRlcm1pbmVCZXN0SW1hZ2VGb3JTY2FsZUZh
Y3RvcigpOworCiAgICAgc3RhdGljIGlubGluZSBib29sIGNvbXBhcmVCeVNjYWxlRmFjdG9yKGNv
bnN0IEltYWdlV2l0aFNjYWxlJiBmaXJzdCwgY29uc3QgSW1hZ2VXaXRoU2NhbGUmIHNlY29uZCkK
ICAgICB7CiAgICAgICAgIHJldHVybiBmaXJzdC5zY2FsZUZhY3RvciA8IHNlY29uZC5zY2FsZUZh
Y3RvcjsKQEAgLTEzMSw3ICsxMzMsNiBAQCBwcml2YXRlOgogICAgIEhUTUxGb3JtRWxlbWVudCog
bV9mb3JtOwogICAgIENvbXBvc2l0ZU9wZXJhdG9yIG1fY29tcG9zaXRlT3BlcmF0b3I7CiAgICAg
QXRvbWljU3RyaW5nIG1fYmVzdEZpdEltYWdlVVJMOwotICAgIFZlY3RvcjxJbWFnZVdpdGhTY2Fs
ZT4gbV9pbWFnZXNXaXRoU2NhbGU7CiB9OwogCiBpbmxpbmUgYm9vbCBpc0hUTUxJbWFnZUVsZW1l
bnQoTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxEb2N1bWVudFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9j
dW1lbnRQYXJzZXIuY3BwCmluZGV4IDdhYjU2Mzc1ODE4YzczMmQ0ZWQxYmEyNDcyYzU4MGU5ODQz
ODQ1MmQuLjZkZWFlNzk1ZGFkZDQxZWRlZGE4ZTNhMDczOTFiMzY0MDczMzMzMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcApAQCAt
NTIyLDYgKzUyMiw5IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwdW1wVG9rZW5pemVyKFN5
bmNocm9ub3VzTW9kZSBtb2RlKQogICAgIEFTU0VSVCghbV9oYXZlQmFja2dyb3VuZFBhcnNlciB8
fCBtb2RlID09IEZvcmNlU3luY2hyb25vdXMpOwogCiAgICAgUHVtcFNlc3Npb24gc2Vzc2lvbiht
X3B1bXBTZXNzaW9uTmVzdGluZ0xldmVsLCBjb250ZXh0Rm9yUGFyc2luZ1Nlc3Npb24oKSk7Cisg
ICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjA7CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBk
b2N1bWVudCgpLT5wYWdlKCkpCisgICAgICAgIGRldmljZVNjYWxlRmFjdG9yID0gcGFnZS0+ZGV2
aWNlU2NhbGVGYWN0b3IoKTsKIAogICAgIC8vIFdlIHRlbGwgdGhlIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbiBhYm91dCBldmVyeSBwdW1wLCBldmVuIGlmIHdlCiAgICAgLy8gZW5kIHVwIHB1bXBp
bmcgbm90aGluZy4gIEl0IGNhbiBmaWx0ZXIgb3V0IGVtcHR5IHB1bXBzIGl0c2VsZi4KQEAgLTU2
NSw3ICs1NjgsNyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFRva2VuaXplcihTeW5j
aHJvbm91c01vZGUgbW9kZSkKICAgICBpZiAoaXNXYWl0aW5nRm9yU2NyaXB0cygpKSB7CiAgICAg
ICAgIEFTU0VSVChtX3Rva2VuaXplci0+c3RhdGUoKSA9PSBIVE1MVG9rZW5pemVyOjpEYXRhU3Rh
dGUpOwogICAgICAgICBpZiAoIW1fcHJlbG9hZFNjYW5uZXIpIHsKLSAgICAgICAgICAgIG1fcHJl
bG9hZFNjYW5uZXIgPSBhZG9wdFB0cihuZXcgSFRNTFByZWxvYWRTY2FubmVyKG1fb3B0aW9ucywg
ZG9jdW1lbnQoKS0+dXJsKCkpKTsKKyAgICAgICAgICAgIG1fcHJlbG9hZFNjYW5uZXIgPSBhZG9w
dFB0cihuZXcgSFRNTFByZWxvYWRTY2FubmVyKG1fb3B0aW9ucywgZG9jdW1lbnQoKS0+dXJsKCks
IGRldmljZVNjYWxlRmFjdG9yKSk7CiAgICAgICAgICAgICBtX3ByZWxvYWRTY2FubmVyLT5hcHBl
bmRUb0VuZChtX2lucHV0LmN1cnJlbnQoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9wcmVsb2Fk
U2Nhbm5lci0+c2NhbihtX3ByZWxvYWRlci5nZXQoKSwgZG9jdW1lbnQoKS0+YmFzZUVsZW1lbnRV
UkwoKSk7CkBAIC02MjQsNiArNjI3LDEwIEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjppbnNl
cnQoY29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpCiAgICAgaWYgKGlzU3RvcHBlZCgpKQog
ICAgICAgICByZXR1cm47CiAKKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IDEuMDsKKyAg
ICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCktPnBhZ2UoKSkKKyAgICAgICAgZGV2aWNlU2Nh
bGVGYWN0b3IgPSBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOworCiAgICAgLy8gcHVtcFRva2Vu
aXplciBjYW4gY2F1c2UgdGhpcyBwYXJzZXIgdG8gYmUgZGV0YWNoZWQgZnJvbSB0aGUgRG9jdW1l
bnQsCiAgICAgLy8gYnV0IHdlIG5lZWQgdG8gZW5zdXJlIGl0IGlzbid0IGRlbGV0ZWQgeWV0Lgog
ICAgIFJlZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IHByb3RlY3QodGhpcyk7CkBAIC02NDYsNyAr
NjUzLDcgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6Omluc2VydChjb25zdCBTZWdtZW50ZWRT
dHJpbmcmIHNvdXJjZSkKICAgICAgICAgLy8gQ2hlY2sgdGhlIGRvY3VtZW50LndyaXRlKCkgb3V0
cHV0IHdpdGggYSBzZXBhcmF0ZSBwcmVsb2FkIHNjYW5uZXIgYXMKICAgICAgICAgLy8gdGhlIG1h
aW4gc2Nhbm5lciBjYW4ndCBkZWFsIHdpdGggaW5zZXJ0aW9ucy4KICAgICAgICAgaWYgKCFtX2lu
c2VydGlvblByZWxvYWRTY2FubmVyKQotICAgICAgICAgICAgbV9pbnNlcnRpb25QcmVsb2FkU2Nh
bm5lciA9IGFkb3B0UHRyKG5ldyBIVE1MUHJlbG9hZFNjYW5uZXIobV9vcHRpb25zLCBkb2N1bWVu
dCgpLT51cmwoKSkpOworICAgICAgICAgICAgbV9pbnNlcnRpb25QcmVsb2FkU2Nhbm5lciA9IGFk
b3B0UHRyKG5ldyBIVE1MUHJlbG9hZFNjYW5uZXIobV9vcHRpb25zLCBkb2N1bWVudCgpLT51cmwo
KSwgZGV2aWNlU2NhbGVGYWN0b3IpKTsKICAgICAgICAgbV9pbnNlcnRpb25QcmVsb2FkU2Nhbm5l
ci0+YXBwZW5kVG9FbmQoc291cmNlKTsKICAgICAgICAgbV9pbnNlcnRpb25QcmVsb2FkU2Nhbm5l
ci0+c2NhbihtX3ByZWxvYWRlci5nZXQoKSwgZG9jdW1lbnQoKS0+YmFzZUVsZW1lbnRVUkwoKSk7
CiAgICAgfQpAQCAtNjYxLDYgKzY2OCw5IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpzdGFy
dEJhY2tncm91bmRQYXJzZXIoKQogICAgIEFTU0VSVChzaG91bGRVc2VUaHJlYWRpbmcoKSk7CiAg
ICAgQVNTRVJUKCFtX2hhdmVCYWNrZ3JvdW5kUGFyc2VyKTsKICAgICBtX2hhdmVCYWNrZ3JvdW5k
UGFyc2VyID0gdHJ1ZTsKKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IDEuMDsKKyAgICBp
ZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCktPnBhZ2UoKSkKKyAgICAgICAgZGV2aWNlU2NhbGVG
YWN0b3IgPSBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOwogCiAgICAgSFRNTElkZW50aWZpZXI6
OmluaXQoKTsKIApAQCAtNjcyLDcgKzY4Miw3IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpz
dGFydEJhY2tncm91bmRQYXJzZXIoKQogICAgIGNvbmZpZy0+cGFyc2VyID0gbV93ZWFrRmFjdG9y
eS5jcmVhdGVXZWFrUHRyKCk7CiAgICAgY29uZmlnLT54c3NBdWRpdG9yID0gYWRvcHRQdHIobmV3
IFhTU0F1ZGl0b3IpOwogICAgIGNvbmZpZy0+eHNzQXVkaXRvci0+aW5pdChkb2N1bWVudCgpLCAm
bV94c3NBdWRpdG9yRGVsZWdhdGUpOwotICAgIGNvbmZpZy0+cHJlbG9hZFNjYW5uZXIgPSBhZG9w
dFB0cihuZXcgVG9rZW5QcmVsb2FkU2Nhbm5lcihkb2N1bWVudCgpLT51cmwoKS5jb3B5KCkpKTsK
KyAgICBjb25maWctPnByZWxvYWRTY2FubmVyID0gYWRvcHRQdHIobmV3IFRva2VuUHJlbG9hZFNj
YW5uZXIoZG9jdW1lbnQoKS0+dXJsKCkuY29weSgpKSwgZGV2aWNlU2NhbGVGYWN0b3IpOwogCiAg
ICAgQVNTRVJUKGNvbmZpZy0+eHNzQXVkaXRvci0+aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFk
KCkpOwogICAgIEFTU0VSVChjb25maWctPnByZWxvYWRTY2FubmVyLT5pc1NhZmVUb1NlbmRUb0Fu
b3RoZXJUaHJlYWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUHJlbG9hZFNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBy
ZWxvYWRTY2FubmVyLmNwcAppbmRleCA5ZGFmNzQzOGE1NTA2MTI5ZDgxYmQwMzg3OGIyZTdjZGRl
YTlkMThhLi42YTg3MWEzMmIwZWI0YzRlNTM5YTJkMzZjOTc2MDkyNDdmOWUzZjcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1MUHJlbG9h
ZFNjYW5uZXIuaCIKIAorI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSFRN
TFBhcnNlck9wdGlvbnMuaCIKQEAgLTEwNywxMSArMTA4LDEyIEBAIFN0cmluZyBUb2tlblByZWxv
YWRTY2FubmVyOjppbml0aWF0b3JGb3IoVGFnSWQgdGFnSWQpCiAKIGNsYXNzIFRva2VuUHJlbG9h
ZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgU3RhcnRU
YWdTY2FubmVyKFRhZ0lkIHRhZ0lkKQorICAgIGV4cGxpY2l0IFN0YXJ0VGFnU2Nhbm5lcihUYWdJ
ZCB0YWdJZCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpCiAgICAgICAgIDogbV90YWdJZCh0YWdJ
ZCkKICAgICAgICAgLCBtX2xpbmtJc1N0eWxlU2hlZXQoZmFsc2UpCiAgICAgICAgICwgbV9saW5r
TWVkaWFBdHRyaWJ1dGVJc1NjcmVlbih0cnVlKQogICAgICAgICAsIG1faW5wdXRJc0ltYWdlKGZh
bHNlKQorICAgICAgICAsIG1fZGV2aWNlU2NhbGVGYWN0b3IoZGV2aWNlU2NhbGVGYWN0b3IpCiAg
ICAgewogICAgIH0KIApAQCAtMTQyLDYgKzE0NCw5IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCFz
aG91bGRQcmVsb2FkKCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgICAgICBp
ZiAoIW1fc3Jjc2V0VmFsdWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgbV91cmxUb0xvYWQgPSBI
VE1MSW1hZ2VFbGVtZW50OjpkZXRlcm1pbmVCZXN0Rml0SW1hZ2VTb3VyY2UobV9kZXZpY2VTY2Fs
ZUZhY3RvciwgbV91cmxUb0xvYWQsIG1fc3Jjc2V0VmFsdWUpOworCiAgICAgICAgIE93blB0cjxQ
cmVsb2FkUmVxdWVzdD4gcmVxdWVzdCA9IFByZWxvYWRSZXF1ZXN0OjpjcmVhdGUoaW5pdGlhdG9y
Rm9yKG1fdGFnSWQpLCBtX3VybFRvTG9hZCwgcHJlZGljdGVkQmFzZVVSTCwgcmVzb3VyY2VUeXBl
KCkpOwogICAgICAgICByZXF1ZXN0LT5zZXRDcm9zc09yaWdpbk1vZGVBbGxvd3NDb29raWVzKGNy
b3NzT3JpZ2luTW9kZUFsbG93c0Nvb2tpZXMoKSk7CiAgICAgICAgIHJlcXVlc3QtPnNldENoYXJz
ZXQoY2hhcnNldCgpKTsKQEAgLTE3MSw2ICsxNzYsOCBAQCBwcml2YXRlOgogICAgICAgICBpZiAo
bV90YWdJZCA9PSBTY3JpcHRUYWdJZCB8fCBtX3RhZ0lkID09IEltZ1RhZ0lkKSB7CiAgICAgICAg
ICAgICBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgc3JjQXR0cikpCiAgICAgICAgICAgICAgICAg
c2V0VXJsVG9Mb2FkKGF0dHJpYnV0ZVZhbHVlKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNo
KGF0dHJpYnV0ZU5hbWUsIHNyY3NldEF0dHIpICYmIG1fdGFnSWQgPT0gSW1nVGFnSWQpCisgICAg
ICAgICAgICAgICAgc2V0U3JjU2V0VmFsdWUoYXR0cmlidXRlVmFsdWUpOwogICAgICAgICAgICAg
ZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgY3Jvc3NvcmlnaW5BdHRyKSAmJiAhYXR0cmli
dXRlVmFsdWUuaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgbV9jcm9zc09yaWdpbk1vZGUgPSBz
dHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmlidXRlVmFsdWUpOwogICAgICAg
ICB9IGVsc2UgaWYgKG1fdGFnSWQgPT0gTGlua1RhZ0lkKSB7CkBAIC0yMTYsNiArMjIzLDExIEBA
IHByaXZhdGU6CiAgICAgICAgIG1fdXJsVG9Mb2FkID0gc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdI
VE1MU3BhY2VzKGF0dHJpYnV0ZVZhbHVlKTsKICAgICB9CiAKKyAgICB2b2lkIHNldFNyY1NldFZh
bHVlKGNvbnN0IFN0cmluZyYgYXR0cmlidXRlVmFsdWUpCisgICAgeworICAgICAgICBtX3NyY3Nl
dFZhbHVlID0gc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGF0dHJpYnV0ZVZhbHVl
KTsKKyAgICB9CisKICAgICBjb25zdCBTdHJpbmcmIGNoYXJzZXQoKSBjb25zdAogICAgIHsKICAg
ICAgICAgLy8gRklYTUU6IEl0cyBub3QgY2xlYXIgdGhhdCB0aGlzIGlmIGlzIG5lZWRlZCwgdGhl
IGxvYWRlciBwcm9iYWJseSBpZ25vcmVzIGNoYXJzZXQgZm9yIGltYWdlIHJlcXVlc3RzIGFueXdh
eS4KQEAgLTIzOCw3ICsyNTAsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBzaG91bGRQcmVsb2Fk
KCkKICAgICB7Ci0gICAgICAgIGlmIChtX3VybFRvTG9hZC5pc0VtcHR5KCkpCisgICAgICAgIGlm
IChtX3VybFRvTG9hZC5pc0VtcHR5KCkgJiYgbV9zcmNzZXRWYWx1ZS5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgaWYgKG1fdGFnSWQgPT0gTGlua1RhZ0lk
ICYmICghbV9saW5rSXNTdHlsZVNoZWV0IHx8ICFtX2xpbmtNZWRpYUF0dHJpYnV0ZUlzU2NyZWVu
KSkKQEAgLTI1NywxNiArMjY5LDE5IEBAIHByaXZhdGU6CiAKICAgICBUYWdJZCBtX3RhZ0lkOwog
ICAgIFN0cmluZyBtX3VybFRvTG9hZDsKKyAgICBTdHJpbmcgbV9zcmNzZXRWYWx1ZTsKICAgICBT
dHJpbmcgbV9jaGFyc2V0OwogICAgIFN0cmluZyBtX2Nyb3NzT3JpZ2luTW9kZTsKICAgICBib29s
IG1fbGlua0lzU3R5bGVTaGVldDsKICAgICBib29sIG1fbGlua01lZGlhQXR0cmlidXRlSXNTY3Jl
ZW47CiAgICAgYm9vbCBtX2lucHV0SXNJbWFnZTsKKyAgICBmbG9hdCBtX2RldmljZVNjYWxlRmFj
dG9yOwogfTsKIAotVG9rZW5QcmVsb2FkU2Nhbm5lcjo6VG9rZW5QcmVsb2FkU2Nhbm5lcihjb25z
dCBLVVJMJiBkb2N1bWVudFVSTCkKK1Rva2VuUHJlbG9hZFNjYW5uZXI6OlRva2VuUHJlbG9hZFNj
YW5uZXIoY29uc3QgS1VSTCYgZG9jdW1lbnRVUkwsIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKQog
ICAgIDogbV9kb2N1bWVudFVSTChkb2N1bWVudFVSTCkKICAgICAsIG1faW5TdHlsZShmYWxzZSkK
KyAgICAsIG1fZGV2aWNlU2NhbGVGYWN0b3IoZGV2aWNlU2NhbGVGYWN0b3IpCiAjaWYgRU5BQkxF
KFRFTVBMQVRFX0VMRU1FTlQpCiAgICAgLCBtX3RlbXBsYXRlQ291bnQoMCkKICNlbmRpZgpAQCAt
MzYzLDcgKzM3OCw3IEBAIHZvaWQgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6c2NhbkNvbW1vbihjb25z
dCBUb2tlbiYgdG9rZW4sIFZlY3RvcjxPd25QdHI8UHJlbG9hZFJlCiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KIAotICAgICAgICBTdGFydFRhZ1NjYW5uZXIgc2Nhbm5lcih0YWdJZCk7
CisgICAgICAgIFN0YXJ0VGFnU2Nhbm5lciBzY2FubmVyKHRhZ0lkLCBtX2RldmljZVNjYWxlRmFj
dG9yKTsKICAgICAgICAgc2Nhbm5lci5wcm9jZXNzQXR0cmlidXRlcyh0b2tlbi5hdHRyaWJ1dGVz
KCkpOwogICAgICAgICBPd25QdHI8UHJlbG9hZFJlcXVlc3Q+IHJlcXVlc3QgPSBzY2FubmVyLmNy
ZWF0ZVByZWxvYWRSZXF1ZXN0KG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwpOwogICAgICAgICBp
ZiAocmVxdWVzdCkKQEAgLTM4NCw4ICszOTksOCBAQCB2b2lkIFRva2VuUHJlbG9hZFNjYW5uZXI6
OnVwZGF0ZVByZWRpY3RlZEJhc2VVUkwoY29uc3QgVG9rZW4mIHRva2VuKQogICAgICAgICBtX3By
ZWRpY3RlZEJhc2VFbGVtZW50VVJMID0gS1VSTChtX2RvY3VtZW50VVJMLCBzdHJpcExlYWRpbmdB
bmRUcmFpbGluZ0hUTUxTcGFjZXMoaHJlZkF0dHJpYnV0ZS0+dmFsdWUpKS5jb3B5KCk7CiB9CiAK
LUhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVyKGNvbnN0IEhUTUxQYXJzZXJP
cHRpb25zJiBvcHRpb25zLCBjb25zdCBLVVJMJiBkb2N1bWVudFVSTCkKLSAgICA6IG1fc2Nhbm5l
cihkb2N1bWVudFVSTCkKK0hUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVyKGNv
bnN0IEhUTUxQYXJzZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBLVVJMJiBkb2N1bWVudFVSTCwg
ZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpCisgICAgOiBtX3NjYW5uZXIoZG9jdW1lbnRVUkwsIGRl
dmljZVNjYWxlRmFjdG9yKQogICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6Y3JlYXRl
KG9wdGlvbnMpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJl
bG9hZFNjYW5uZXIuaAppbmRleCBkMmYyYzExODljMjVmNTBkYjI5MjNmZmIzNGE3MTI2ZTQyN2Ez
YjI5Li4xOGVkZGUwMDdiNGZkNTc2YjA3NDZhMDEwMGY3NWE2OTA4Y2M0N2VhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaApAQCAtNDQsNyAr
NDQsNyBAQCBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiBjbGFzcyBUb2tlblByZWxvYWRTY2FubmVy
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUb2tlblByZWxvYWRTY2FubmVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgVG9rZW5QcmVsb2FkU2Nh
bm5lcihjb25zdCBLVVJMJiBkb2N1bWVudFVSTCk7CisgICAgZXhwbGljaXQgVG9rZW5QcmVsb2Fk
U2Nhbm5lcihjb25zdCBLVVJMJiBkb2N1bWVudFVSTCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3Ip
OwogICAgIH5Ub2tlblByZWxvYWRTY2FubmVyKCk7CiAKICAgICB2b2lkIHNjYW4oY29uc3QgSFRN
TFRva2VuJiwgUHJlbG9hZFJlcXVlc3RTdHJlYW0mIHJlcXVlc3RzKTsKQEAgLTExOCw2ICsxMTgs
NyBAQCBwcml2YXRlOgogICAgIGNvbnN0IEtVUkwgbV9kb2N1bWVudFVSTDsKICAgICBLVVJMIG1f
cHJlZGljdGVkQmFzZUVsZW1lbnRVUkw7CiAgICAgYm9vbCBtX2luU3R5bGU7CisgICAgZmxvYXQg
bV9kZXZpY2VTY2FsZUZhY3RvcjsKIAogI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQogICAg
IHNpemVfdCBtX3RlbXBsYXRlQ291bnQ7CkBAIC0xMjksNyArMTMwLDcgQEAgcHJpdmF0ZToKIGNs
YXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBy
ZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgSFRN
TFByZWxvYWRTY2FubmVyKGNvbnN0IEhUTUxQYXJzZXJPcHRpb25zJiwgY29uc3QgS1VSTCYgZG9j
dW1lbnRVUkwpOworICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihjb25zdCBIVE1MUGFyc2VyT3B0aW9u
cyYsIGNvbnN0IEtVUkwmIGRvY3VtZW50VVJMLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAg
ICAgfkhUTUxQcmVsb2FkU2Nhbm5lcigpOwogCiAgICAgdm9pZCBhcHBlbmRUb0VuZChjb25zdCBT
ZWdtZW50ZWRTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYWNhMzUyMmU5MTEwNjhhZDE4MzAwOWQ4M2YyYzY1
MjkwYWY5Mzc5Li4yNTIyZDFiODg5OWU2ZmYzNGYxY2Q4NjFhMDllZTEyMDUzMDY1YTY5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDgtMDIgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+
CisKKyAgICAgICAgQWRkIHNyY3NldCBzdXBwb3J0IHRvIEhUTUxQcmVsb2FkU2Nhbm5lcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5NDY0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2hpZHBp
L2ltYWdlLXNyY3NldC1wcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9oaWRwaS9pbWFnZS1zcmNzZXQtcHJlbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2hpZHBpL3Jlc291cmNlcy9pbWFnZS1mYWxsYmFjay5wbmc6IEFkZGVkLgorCiAyMDEzLTA4LTAx
ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTUzNjA4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9oaWRwaS9pbWFnZS1zcmNzZXQtcHJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2hpZHBpL2ltYWdlLXNyY3NldC1wcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
M2YxOGMxNDk3MWZiNjczNWYyY2RkODYwMDE5NTVmZmI3YTkzY2YzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtcHJlbG9hZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACitXQVJOOiBzaG91bGRCZSgpIGV4cGVjdHMgc3RyaW5nIGFyZ3Vt
ZW50cworUEFTUyBmYWxzZSBpcyBmYWxzZQorVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgZmFsbGJh
Y2sgaW1hZ2UgKGRlZmluZWQgaW4gdGhlIHNyYyBhdHRyaWJ1dGUpIHdhc24ndCBwcmVsb2FkZWQK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtcHJlbG9h
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtcHJlbG9hZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc5NzBhZmJhYmNiNTRhMjA2NjFkYTUyMTFkMzA1N2VjZWYzNDQ2ZTQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpZHBpL2ltYWdlLXNyY3NldC1wcmVs
b2FkLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvc3Jjc2V0LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgaWQ9
ImJvZHkiPgorICAgIDxkaXY+VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgZmFsbGJhY2sgaW1hZ2Ug
KGRlZmluZWQgaW4gdGhlIHNyYyBhdHRyaWJ1dGUpIHdhc24ndCBwcmVsb2FkZWQ8L2Rpdj4KKyAg
ICA8aW1nIGhlaWdodD0iMTAwIiB3aWR0aD0iMTAwIiBzcmM9InJlc291cmNlcy9pbWFnZS1mYWxs
YmFjay5wbmciIHNyY3NldD0icmVzb3VyY2VzL2ltYWdlLXNldC0xeC5wbmcgMXgsIHJlc291cmNl
cy9kZWxldGVCdXR0b24ucG5nIDN4LCByZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyAyeCI+PC9p
bWc+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKGludGVybmFscykKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZUZhbHNlKGludGVybmFscy5pc1ByZWxvYWRlZCgicmVzb3VyY2Vz
L2ltYWdlLWZhbGxiYWNrLnBuZyIpKQorICAgICAgICB9LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpZHBpL3Jl
c291cmNlcy9pbWFnZS1mYWxsYmFjay5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L2hpZHBpL3Jlc291
cmNlcy9pbWFnZS1mYWxsYmFjay5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTgxYzRkZjNlYWY3OGQ1ZDQyMDI5
YmQ5MWIwNWVkMDQ1MTk5N2FiMwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjkyCnpjbWVBU0BO
PyhvbEh5YHVWQnEhaWEwdnBeREltPGoxU0oxQUZmandFKlBicXBBcio3cFVVMXwrcHVsano7bFNm
Rgp5TzAxQHZIfCNxeCQocSZveCF3NSh2ckRaWF9AQ2gjYFk/e1loaVBOe3pRZHNLVkROUEhiNk13
PCY7JFNpM1VKSzsKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
</data>
<flag name="review"
          id="229928"
          type_id="1"
          status="-"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208061</attachid>
            <date>2013-08-03 04:02:25 -0700</date>
            <delta_ts>2013-08-04 12:53:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119464-20130803130224.patch</filename>
            <type>text/plain</type>
            <size>18919</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYxMThmYmVhZDRmZDky
NWNhZWZjOGRkNjNkYTQ4YmU5ZTgzYTM2Yi4uYjgwZjA1YWY4ZTUyNWU2YWM4ZGFmYzAyZmFjZWM4
N2JiZGIwNWFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA4LTAzICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBzcmNzZXQgc3VwcG9ydCB0byBI
VE1MUHJlbG9hZFNjYW5uZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExOTQ2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEF2b2lkIGFuIGV4dHJhLCB1c2VsZXNzIGRvd25sb2FkIHdoZW4gYm90aCAic3Jj
IiBhbmQgInNyY3NldCIgYXR0cmlidXRlcyBhcmUgc2V0IG9uIGFuIEltYWdlRWxlbWVudCwgYW5k
IHRoZSBIVE1sUHJlbG9hZFNjYW5uZXIKKyAgICAgICAga2lja2VkIGluLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0LXByZWxvYWQuaHRtbAorCisgICAgICAgICogaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OmRldGVybWluZUJlc3RJbWFnZUZvclNjYWxlRmFjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQ6OmRldGVybWluZUJlc3RGaXRJbWFnZVNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojpjb2xsZWN0SW1hZ2VDYW5kaWRhdGVzRnJvbVNy
Y1NldCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojpjb2xsZWN0SW1hZ2VD
YW5kaWRhdGVGcm9tU3JjKToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpwdW1wVG9rZW5pemVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6aW5zZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxE
b2N1bWVudFBhcnNlcjo6c3RhcnRCYWNrZ3JvdW5kUGFyc2VyKToKKyAgICAgICAgKiBodG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVs
b2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXIpOgorICAgICAgICAo
V2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVhdGVQcmVs
b2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFy
dFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5Q
cmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpzZXRTcmNTZXRWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXI6OnNob3VsZFBy
ZWxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6VG9rZW5QcmVs
b2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpzY2Fu
Q29tbW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxv
YWRTY2FubmVyKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaDoK
KwogMjAxMy0wOC0wMiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgog
CiAgICAgICAgIEludHJvZHVjZSB0b1NWR01hc2tFbGVtZW50KCksIGFuZCB1c2UgaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDMxOWNjN2U4MWIyZDk1Mzgz
MWM3MjM3NGYzMGZjNzI4YWIxOGUwYTguLjdjOTFlN2Y2ODI4MWZkMTcyZGM1ODkxZmMzMjY5MmY2
YWJlYWFmN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAt
MTE3LDM1ICsxMTcsNDEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MSW1hZ2VFbGVtZW50Ojpp
bWFnZVNvdXJjZVVSTCgpIGNvbnN0CiAKIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGV0ZXJtaW5l
QmVzdEltYWdlRm9yU2NhbGVGYWN0b3IoKQogewotICAgIG1faW1hZ2VzV2l0aFNjYWxlLmNsZWFy
KCk7CiAgICAgbV9iZXN0Rml0SW1hZ2VVUkwgPSBudWxsQXRvbTsKKyAgICBjb25zdCBBdG9taWNT
dHJpbmcmIHNyYyA9IGZhc3RHZXRBdHRyaWJ1dGUoc3JjQXR0cik7CisgICAgY29uc3QgQXRvbWlj
U3RyaW5nJiBzcmNzZXQgPSBmYXN0R2V0QXR0cmlidXRlKHNyY3NldEF0dHIpOworICAgIGZsb2F0
IHBhZ2VTY2FsZUZhY3RvciA9IDEuMDsKKyAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCkt
PnBhZ2UoKSkKKyAgICAgICAgcGFnZVNjYWxlRmFjdG9yID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0
b3IoKTsKIAotICAgIGNvbGxlY3RJbWFnZUNhbmRpZGF0ZXNGcm9tU3JjU2V0KCk7Ci0gICAgY29s
bGVjdEltYWdlQ2FuZGlkYXRlRnJvbVNyYygpOwotICAgIHN0YWJsZV9zb3J0KG1faW1hZ2VzV2l0
aFNjYWxlLmJlZ2luKCksIG1faW1hZ2VzV2l0aFNjYWxlLmVuZCgpLCBjb21wYXJlQnlTY2FsZUZh
Y3Rvcik7CisgICAgbV9iZXN0Rml0SW1hZ2VVUkwgPSBkZXRlcm1pbmVCZXN0Rml0SW1hZ2VTb3Vy
Y2UocGFnZVNjYWxlRmFjdG9yLCBzcmMuc3RyaW5nKCksIHNyY3NldC5zdHJpbmcoKSk7Cit9CisK
K1N0cmluZyBIVE1MSW1hZ2VFbGVtZW50OjpkZXRlcm1pbmVCZXN0Rml0SW1hZ2VTb3VyY2UoZmxv
YXQgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBTdHJpbmcmIHNyYywgY29uc3QgU3RyaW5nJiBzcmNz
ZXQpCit7CisgICAgVmVjdG9yIDxJbWFnZVdpdGhTY2FsZT4gaW1hZ2VzV2l0aFNjYWxlOworICAg
IGNvbGxlY3RJbWFnZUNhbmRpZGF0ZXNGcm9tU3JjU2V0KGltYWdlc1dpdGhTY2FsZSwgc3Jjc2V0
KTsKKyAgICBjb2xsZWN0SW1hZ2VDYW5kaWRhdGVGcm9tU3JjKGltYWdlc1dpdGhTY2FsZSwgc3Jj
KTsKKyAgICBzdGFibGVfc29ydChpbWFnZXNXaXRoU2NhbGUuYmVnaW4oKSwgaW1hZ2VzV2l0aFNj
YWxlLmVuZCgpLCBjb21wYXJlQnlTY2FsZUZhY3Rvcik7CiAKLSAgICBmb3IgKHNpemVfdCBpID0g
MTsgaSA8IG1faW1hZ2VzV2l0aFNjYWxlLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtX2lt
YWdlc1dpdGhTY2FsZVtpLTFdLnNjYWxlRmFjdG9yID09IG1faW1hZ2VzV2l0aFNjYWxlW2ldLnNj
YWxlRmFjdG9yKSB7Ci0gICAgICAgICAgICBtX2ltYWdlc1dpdGhTY2FsZS5yZW1vdmUoaSk7Cisg
ICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBpbWFnZXNXaXRoU2NhbGUuc2l6ZSgpOyArK2kpIHsK
KyAgICAgICAgaWYgKGltYWdlc1dpdGhTY2FsZVtpLTFdLnNjYWxlRmFjdG9yID09IGltYWdlc1dp
dGhTY2FsZVtpXS5zY2FsZUZhY3RvcikgeworICAgICAgICAgICAgaW1hZ2VzV2l0aFNjYWxlLnJl
bW92ZShpKTsKICAgICAgICAgICAgIGktLTsKICAgICAgICAgfQogICAgIH0KIAotICAgIGZsb2F0
IHBhZ2VTY2FsZUZhY3RvciA9IDEuMDsKLSAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCkt
PnBhZ2UoKSkKLSAgICAgICAgcGFnZVNjYWxlRmFjdG9yID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0
b3IoKTsKLQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9pbWFnZXNXaXRoU2NhbGUuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1faW1hZ2VzV2l0aFNjYWxlW2ldLnNjYWxlRmFjdG9y
ID49IHBhZ2VTY2FsZUZhY3RvcikgewotICAgICAgICAgICAgbV9iZXN0Rml0SW1hZ2VVUkwgPSBt
X2ltYWdlc1dpdGhTY2FsZVtpXS5pbWFnZVVSTDsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGltYWdlc1dpdGhTY2FsZS5zaXplKCk7ICsraSkgeworICAg
ICAgICBpZiAoaW1hZ2VzV2l0aFNjYWxlW2ldLnNjYWxlRmFjdG9yID49IHBhZ2VTY2FsZUZhY3Rv
cikgeworICAgICAgICAgICAgcmV0dXJuIGltYWdlc1dpdGhTY2FsZVtpXS5pbWFnZVVSTDsKICAg
ICAgICAgfQogICAgIH0KKyAgICByZXR1cm4gIiI7CiB9CiAKLXZvaWQgSFRNTEltYWdlRWxlbWVu
dDo6Y29sbGVjdEltYWdlQ2FuZGlkYXRlc0Zyb21TcmNTZXQoKQordm9pZCBIVE1MSW1hZ2VFbGVt
ZW50Ojpjb2xsZWN0SW1hZ2VDYW5kaWRhdGVzRnJvbVNyY1NldChWZWN0b3I8SW1hZ2VXaXRoU2Nh
bGU+JiBpbWFnZXNXaXRoU2NhbGUsIGNvbnN0IFN0cmluZyYgc3Jjc2V0KQogewotICAgIGNvbnN0
IFN0cmluZyYgc3JjU2V0QXR0cmlidXRlVmFsdWUgPSBmYXN0R2V0QXR0cmlidXRlKHNyY3NldEF0
dHIpLnN0cmluZygpLnNpbXBsaWZ5V2hpdGVTcGFjZShpc0hUTUxTcGFjZSk7CisgICAgY29uc3Qg
U3RyaW5nJiBzcmNTZXRBdHRyaWJ1dGVWYWx1ZSA9IHNyY3NldC5zaW1wbGlmeVdoaXRlU3BhY2Uo
aXNIVE1MU3BhY2UpOwogICAgIFZlY3RvcjxTdHJpbmc+IHNyY1NldFRva2VuczsKIAogICAgIHNy
Y1NldEF0dHJpYnV0ZVZhbHVlLnNwbGl0KCcsJywgc3JjU2V0VG9rZW5zKTsKQEAgLTE3MiwxOCAr
MTc4LDE3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6Y29sbGVjdEltYWdlQ2FuZGlkYXRlc0Zy
b21TcmNTZXQoKQogICAgICAgICBpbWFnZS5pbWFnZVVSTCA9IGRlY29kZVVSTEVzY2FwZVNlcXVl
bmNlcyhkYXRhWzBdKTsKICAgICAgICAgaW1hZ2Uuc2NhbGVGYWN0b3IgPSBpbWdTY2FsZUZhY3Rv
cjsKIAotICAgICAgICBtX2ltYWdlc1dpdGhTY2FsZS5hcHBlbmQoaW1hZ2UpOworICAgICAgICBp
bWFnZXNXaXRoU2NhbGUuYXBwZW5kKGltYWdlKTsKICAgICB9CiB9CiAKLXZvaWQgSFRNTEltYWdl
RWxlbWVudDo6Y29sbGVjdEltYWdlQ2FuZGlkYXRlRnJvbVNyYygpCit2b2lkIEhUTUxJbWFnZUVs
ZW1lbnQ6OmNvbGxlY3RJbWFnZUNhbmRpZGF0ZUZyb21TcmMoVmVjdG9yPEltYWdlV2l0aFNjYWxl
PiYgaW1hZ2VzV2l0aFNjYWxlLCBjb25zdCBTdHJpbmcmIHNyYykKIHsKLSAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIHNyYyA9IGZhc3RHZXRBdHRyaWJ1dGUoc3JjQXR0cik7CiAgICAgSW1hZ2VXaXRo
U2NhbGUgaW1hZ2U7CiAgICAgaWYgKCFzcmMuaXNFbXB0eSgpKSB7CiAgICAgICAgIGltYWdlLmlt
YWdlVVJMID0gZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKHNyYyk7CiAgICAgICAgIGltYWdlLnNj
YWxlRmFjdG9yID0gMS4wOwotICAgICAgICBtX2ltYWdlc1dpdGhTY2FsZS5hcHBlbmQoaW1hZ2Up
OworICAgICAgICBpbWFnZXNXaXRoU2NhbGUuYXBwZW5kKGltYWdlKTsKICAgICB9CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggM2Q0M2I5ZTQ3OWMwZWFjMmU0
MTZjYjllZmQ3YjY2ZTQ0ZWUzMTExZi4uMWU2ZWNkMWM0MGY2ZGU5NTU1YzU4NDFmMmE3OGEyOTU1
NmE2ZmIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTc4LDYg
Kzc4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGltYWdl
U291cmNlVVJMKCkgY29uc3QgT1ZFUlJJREU7CiAKKyAgICBzdGF0aWMgU3RyaW5nIGRldGVybWlu
ZUJlc3RGaXRJbWFnZVNvdXJjZShmbG9hdCBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFN0cmluZyYg
c3JjLCBjb25zdCBTdHJpbmcmIHNyY3NldCk7CiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEltYWdlRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVsZW1lbnQqID0g
MCk7CiAKQEAgLTEwOSw5ICsxMTAsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXRJ
dGVtVmFsdWVUZXh0KGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBPVkVSUklERTsKICNl
bmRpZgogCi0gICAgdm9pZCBjb2xsZWN0SW1hZ2VDYW5kaWRhdGVGcm9tU3JjKCk7Ci0gICAgdm9p
ZCBjb2xsZWN0SW1hZ2VDYW5kaWRhdGVzRnJvbVNyY1NldCgpOwotICAgIHZvaWQgZGV0ZXJtaW5l
QmVzdEltYWdlRm9yU2NhbGVGYWN0b3IoKTsKIAogICAgIHN0cnVjdCBJbWFnZVdpdGhTY2FsZSB7
CiAgICAgICAgIFN0cmluZyBpbWFnZVVSTDsKQEAgLTEyMiw2ICsxMjAsMTAgQEAgcHJpdmF0ZToK
ICAgICAgICAgfQogICAgIH07CiAKKyAgICBzdGF0aWMgdm9pZCBjb2xsZWN0SW1hZ2VDYW5kaWRh
dGVGcm9tU3JjKFZlY3RvcjxJbWFnZVdpdGhTY2FsZT4mLCBjb25zdCBTdHJpbmcmKTsKKyAgICBz
dGF0aWMgdm9pZCBjb2xsZWN0SW1hZ2VDYW5kaWRhdGVzRnJvbVNyY1NldChWZWN0b3I8SW1hZ2VX
aXRoU2NhbGU+JiwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBkZXRlcm1pbmVCZXN0SW1hZ2VG
b3JTY2FsZUZhY3RvcigpOworCiAgICAgc3RhdGljIGlubGluZSBib29sIGNvbXBhcmVCeVNjYWxl
RmFjdG9yKGNvbnN0IEltYWdlV2l0aFNjYWxlJiBmaXJzdCwgY29uc3QgSW1hZ2VXaXRoU2NhbGUm
IHNlY29uZCkKICAgICB7CiAgICAgICAgIHJldHVybiBmaXJzdC5zY2FsZUZhY3RvciA8IHNlY29u
ZC5zY2FsZUZhY3RvcjsKQEAgLTEzMSw3ICsxMzMsNiBAQCBwcml2YXRlOgogICAgIEhUTUxGb3Jt
RWxlbWVudCogbV9mb3JtOwogICAgIENvbXBvc2l0ZU9wZXJhdG9yIG1fY29tcG9zaXRlT3BlcmF0
b3I7CiAgICAgQXRvbWljU3RyaW5nIG1fYmVzdEZpdEltYWdlVVJMOwotICAgIFZlY3RvcjxJbWFn
ZVdpdGhTY2FsZT4gbV9pbWFnZXNXaXRoU2NhbGU7CiB9OwogCiBpbmxpbmUgYm9vbCBpc0hUTUxJ
bWFnZUVsZW1lbnQoTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCmluZGV4IDdhYjU2Mzc1ODE4YzczMmQ0ZWQxYmEyNDcy
YzU4MGU5ODQzODQ1MmQuLjZkZWFlNzk1ZGFkZDQxZWRlZGE4ZTNhMDczOTFiMzY0MDczMzMzMWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2Vy
LmNwcApAQCAtNTIyLDYgKzUyMiw5IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwdW1wVG9r
ZW5pemVyKFN5bmNocm9ub3VzTW9kZSBtb2RlKQogICAgIEFTU0VSVCghbV9oYXZlQmFja2dyb3Vu
ZFBhcnNlciB8fCBtb2RlID09IEZvcmNlU3luY2hyb25vdXMpOwogCiAgICAgUHVtcFNlc3Npb24g
c2Vzc2lvbihtX3B1bXBTZXNzaW9uTmVzdGluZ0xldmVsLCBjb250ZXh0Rm9yUGFyc2luZ1Nlc3Np
b24oKSk7CisgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjA7CisgICAgaWYgKFBhZ2Uq
IHBhZ2UgPSBkb2N1bWVudCgpLT5wYWdlKCkpCisgICAgICAgIGRldmljZVNjYWxlRmFjdG9yID0g
cGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKIAogICAgIC8vIFdlIHRlbGwgdGhlIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbiBhYm91dCBldmVyeSBwdW1wLCBldmVuIGlmIHdlCiAgICAgLy8gZW5k
IHVwIHB1bXBpbmcgbm90aGluZy4gIEl0IGNhbiBmaWx0ZXIgb3V0IGVtcHR5IHB1bXBzIGl0c2Vs
Zi4KQEAgLTU2NSw3ICs1NjgsNyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFRva2Vu
aXplcihTeW5jaHJvbm91c01vZGUgbW9kZSkKICAgICBpZiAoaXNXYWl0aW5nRm9yU2NyaXB0cygp
KSB7CiAgICAgICAgIEFTU0VSVChtX3Rva2VuaXplci0+c3RhdGUoKSA9PSBIVE1MVG9rZW5pemVy
OjpEYXRhU3RhdGUpOwogICAgICAgICBpZiAoIW1fcHJlbG9hZFNjYW5uZXIpIHsKLSAgICAgICAg
ICAgIG1fcHJlbG9hZFNjYW5uZXIgPSBhZG9wdFB0cihuZXcgSFRNTFByZWxvYWRTY2FubmVyKG1f
b3B0aW9ucywgZG9jdW1lbnQoKS0+dXJsKCkpKTsKKyAgICAgICAgICAgIG1fcHJlbG9hZFNjYW5u
ZXIgPSBhZG9wdFB0cihuZXcgSFRNTFByZWxvYWRTY2FubmVyKG1fb3B0aW9ucywgZG9jdW1lbnQo
KS0+dXJsKCksIGRldmljZVNjYWxlRmFjdG9yKSk7CiAgICAgICAgICAgICBtX3ByZWxvYWRTY2Fu
bmVyLT5hcHBlbmRUb0VuZChtX2lucHV0LmN1cnJlbnQoKSk7CiAgICAgICAgIH0KICAgICAgICAg
bV9wcmVsb2FkU2Nhbm5lci0+c2NhbihtX3ByZWxvYWRlci5nZXQoKSwgZG9jdW1lbnQoKS0+YmFz
ZUVsZW1lbnRVUkwoKSk7CkBAIC02MjQsNiArNjI3LDEwIEBAIHZvaWQgSFRNTERvY3VtZW50UGFy
c2VyOjppbnNlcnQoY29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpCiAgICAgaWYgKGlzU3Rv
cHBlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9
IDEuMDsKKyAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCktPnBhZ2UoKSkKKyAgICAgICAg
ZGV2aWNlU2NhbGVGYWN0b3IgPSBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOworCiAgICAgLy8g
cHVtcFRva2VuaXplciBjYW4gY2F1c2UgdGhpcyBwYXJzZXIgdG8gYmUgZGV0YWNoZWQgZnJvbSB0
aGUgRG9jdW1lbnQsCiAgICAgLy8gYnV0IHdlIG5lZWQgdG8gZW5zdXJlIGl0IGlzbid0IGRlbGV0
ZWQgeWV0LgogICAgIFJlZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IHByb3RlY3QodGhpcyk7CkBA
IC02NDYsNyArNjUzLDcgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6Omluc2VydChjb25zdCBT
ZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSkKICAgICAgICAgLy8gQ2hlY2sgdGhlIGRvY3VtZW50Lndy
aXRlKCkgb3V0cHV0IHdpdGggYSBzZXBhcmF0ZSBwcmVsb2FkIHNjYW5uZXIgYXMKICAgICAgICAg
Ly8gdGhlIG1haW4gc2Nhbm5lciBjYW4ndCBkZWFsIHdpdGggaW5zZXJ0aW9ucy4KICAgICAgICAg
aWYgKCFtX2luc2VydGlvblByZWxvYWRTY2FubmVyKQotICAgICAgICAgICAgbV9pbnNlcnRpb25Q
cmVsb2FkU2Nhbm5lciA9IGFkb3B0UHRyKG5ldyBIVE1MUHJlbG9hZFNjYW5uZXIobV9vcHRpb25z
LCBkb2N1bWVudCgpLT51cmwoKSkpOworICAgICAgICAgICAgbV9pbnNlcnRpb25QcmVsb2FkU2Nh
bm5lciA9IGFkb3B0UHRyKG5ldyBIVE1MUHJlbG9hZFNjYW5uZXIobV9vcHRpb25zLCBkb2N1bWVu
dCgpLT51cmwoKSwgZGV2aWNlU2NhbGVGYWN0b3IpKTsKICAgICAgICAgbV9pbnNlcnRpb25QcmVs
b2FkU2Nhbm5lci0+YXBwZW5kVG9FbmQoc291cmNlKTsKICAgICAgICAgbV9pbnNlcnRpb25QcmVs
b2FkU2Nhbm5lci0+c2NhbihtX3ByZWxvYWRlci5nZXQoKSwgZG9jdW1lbnQoKS0+YmFzZUVsZW1l
bnRVUkwoKSk7CiAgICAgfQpAQCAtNjYxLDYgKzY2OCw5IEBAIHZvaWQgSFRNTERvY3VtZW50UGFy
c2VyOjpzdGFydEJhY2tncm91bmRQYXJzZXIoKQogICAgIEFTU0VSVChzaG91bGRVc2VUaHJlYWRp
bmcoKSk7CiAgICAgQVNTRVJUKCFtX2hhdmVCYWNrZ3JvdW5kUGFyc2VyKTsKICAgICBtX2hhdmVC
YWNrZ3JvdW5kUGFyc2VyID0gdHJ1ZTsKKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IDEu
MDsKKyAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCktPnBhZ2UoKSkKKyAgICAgICAgZGV2
aWNlU2NhbGVGYWN0b3IgPSBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOwogCiAgICAgSFRNTElk
ZW50aWZpZXI6OmluaXQoKTsKIApAQCAtNjcyLDcgKzY4Miw3IEBAIHZvaWQgSFRNTERvY3VtZW50
UGFyc2VyOjpzdGFydEJhY2tncm91bmRQYXJzZXIoKQogICAgIGNvbmZpZy0+cGFyc2VyID0gbV93
ZWFrRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7CiAgICAgY29uZmlnLT54c3NBdWRpdG9yID0gYWRv
cHRQdHIobmV3IFhTU0F1ZGl0b3IpOwogICAgIGNvbmZpZy0+eHNzQXVkaXRvci0+aW5pdChkb2N1
bWVudCgpLCAmbV94c3NBdWRpdG9yRGVsZWdhdGUpOwotICAgIGNvbmZpZy0+cHJlbG9hZFNjYW5u
ZXIgPSBhZG9wdFB0cihuZXcgVG9rZW5QcmVsb2FkU2Nhbm5lcihkb2N1bWVudCgpLT51cmwoKS5j
b3B5KCkpKTsKKyAgICBjb25maWctPnByZWxvYWRTY2FubmVyID0gYWRvcHRQdHIobmV3IFRva2Vu
UHJlbG9hZFNjYW5uZXIoZG9jdW1lbnQoKS0+dXJsKCkuY29weSgpKSwgZGV2aWNlU2NhbGVGYWN0
b3IpOwogCiAgICAgQVNTRVJUKGNvbmZpZy0+eHNzQXVkaXRvci0+aXNTYWZlVG9TZW5kVG9Bbm90
aGVyVGhyZWFkKCkpOwogICAgIEFTU0VSVChjb25maWctPnByZWxvYWRTY2FubmVyLT5pc1NhZmVU
b1NlbmRUb0Fub3RoZXJUaHJlYWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAppbmRleCA5ZGFmNzQzOGE1NTA2MTI5ZDgxYmQwMzg3
OGIyZTdjZGRlYTlkMThhLi42YTg3MWEzMmIwZWI0YzRlNTM5YTJkMzZjOTc2MDkyNDdmOWUzZjcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5l
ci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJI
VE1MUHJlbG9hZFNjYW5uZXIuaCIKIAorI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5j
bHVkZSAiSFRNTFBhcnNlck9wdGlvbnMuaCIKQEAgLTEwNywxMSArMTA4LDEyIEBAIFN0cmluZyBU
b2tlblByZWxvYWRTY2FubmVyOjppbml0aWF0b3JGb3IoVGFnSWQgdGFnSWQpCiAKIGNsYXNzIFRv
a2VuUHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lciB7CiBwdWJsaWM6Ci0gICAgZXhwbGlj
aXQgU3RhcnRUYWdTY2FubmVyKFRhZ0lkIHRhZ0lkKQorICAgIGV4cGxpY2l0IFN0YXJ0VGFnU2Nh
bm5lcihUYWdJZCB0YWdJZCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpCiAgICAgICAgIDogbV90
YWdJZCh0YWdJZCkKICAgICAgICAgLCBtX2xpbmtJc1N0eWxlU2hlZXQoZmFsc2UpCiAgICAgICAg
ICwgbV9saW5rTWVkaWFBdHRyaWJ1dGVJc1NjcmVlbih0cnVlKQogICAgICAgICAsIG1faW5wdXRJ
c0ltYWdlKGZhbHNlKQorICAgICAgICAsIG1fZGV2aWNlU2NhbGVGYWN0b3IoZGV2aWNlU2NhbGVG
YWN0b3IpCiAgICAgewogICAgIH0KIApAQCAtMTQyLDYgKzE0NCw5IEBAIHB1YmxpYzoKICAgICAg
ICAgaWYgKCFzaG91bGRQcmVsb2FkKCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAor
ICAgICAgICBpZiAoIW1fc3Jjc2V0VmFsdWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgbV91cmxU
b0xvYWQgPSBIVE1MSW1hZ2VFbGVtZW50OjpkZXRlcm1pbmVCZXN0Rml0SW1hZ2VTb3VyY2UobV9k
ZXZpY2VTY2FsZUZhY3RvciwgbV91cmxUb0xvYWQsIG1fc3Jjc2V0VmFsdWUpOworCiAgICAgICAg
IE93blB0cjxQcmVsb2FkUmVxdWVzdD4gcmVxdWVzdCA9IFByZWxvYWRSZXF1ZXN0OjpjcmVhdGUo
aW5pdGlhdG9yRm9yKG1fdGFnSWQpLCBtX3VybFRvTG9hZCwgcHJlZGljdGVkQmFzZVVSTCwgcmVz
b3VyY2VUeXBlKCkpOwogICAgICAgICByZXF1ZXN0LT5zZXRDcm9zc09yaWdpbk1vZGVBbGxvd3ND
b29raWVzKGNyb3NzT3JpZ2luTW9kZUFsbG93c0Nvb2tpZXMoKSk7CiAgICAgICAgIHJlcXVlc3Qt
PnNldENoYXJzZXQoY2hhcnNldCgpKTsKQEAgLTE3MSw2ICsxNzYsOCBAQCBwcml2YXRlOgogICAg
ICAgICBpZiAobV90YWdJZCA9PSBTY3JpcHRUYWdJZCB8fCBtX3RhZ0lkID09IEltZ1RhZ0lkKSB7
CiAgICAgICAgICAgICBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgc3JjQXR0cikpCiAgICAgICAg
ICAgICAgICAgc2V0VXJsVG9Mb2FkKGF0dHJpYnV0ZVZhbHVlKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIHNyY3NldEF0dHIpICYmIG1fdGFnSWQgPT0gSW1nVGFn
SWQpCisgICAgICAgICAgICAgICAgc2V0U3JjU2V0VmFsdWUoYXR0cmlidXRlVmFsdWUpOwogICAg
ICAgICAgICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgY3Jvc3NvcmlnaW5BdHRyKSAm
JiAhYXR0cmlidXRlVmFsdWUuaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgbV9jcm9zc09yaWdp
bk1vZGUgPSBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmlidXRlVmFsdWUp
OwogICAgICAgICB9IGVsc2UgaWYgKG1fdGFnSWQgPT0gTGlua1RhZ0lkKSB7CkBAIC0yMTYsNiAr
MjIzLDExIEBAIHByaXZhdGU6CiAgICAgICAgIG1fdXJsVG9Mb2FkID0gc3RyaXBMZWFkaW5nQW5k
VHJhaWxpbmdIVE1MU3BhY2VzKGF0dHJpYnV0ZVZhbHVlKTsKICAgICB9CiAKKyAgICB2b2lkIHNl
dFNyY1NldFZhbHVlKGNvbnN0IFN0cmluZyYgYXR0cmlidXRlVmFsdWUpCisgICAgeworICAgICAg
ICBtX3NyY3NldFZhbHVlID0gc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGF0dHJp
YnV0ZVZhbHVlKTsKKyAgICB9CisKICAgICBjb25zdCBTdHJpbmcmIGNoYXJzZXQoKSBjb25zdAog
ICAgIHsKICAgICAgICAgLy8gRklYTUU6IEl0cyBub3QgY2xlYXIgdGhhdCB0aGlzIGlmIGlzIG5l
ZWRlZCwgdGhlIGxvYWRlciBwcm9iYWJseSBpZ25vcmVzIGNoYXJzZXQgZm9yIGltYWdlIHJlcXVl
c3RzIGFueXdheS4KQEAgLTIzOCw3ICsyNTAsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBzaG91
bGRQcmVsb2FkKCkKICAgICB7Ci0gICAgICAgIGlmIChtX3VybFRvTG9hZC5pc0VtcHR5KCkpCisg
ICAgICAgIGlmIChtX3VybFRvTG9hZC5pc0VtcHR5KCkgJiYgbV9zcmNzZXRWYWx1ZS5pc0VtcHR5
KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgaWYgKG1fdGFnSWQgPT0g
TGlua1RhZ0lkICYmICghbV9saW5rSXNTdHlsZVNoZWV0IHx8ICFtX2xpbmtNZWRpYUF0dHJpYnV0
ZUlzU2NyZWVuKSkKQEAgLTI1NywxNiArMjY5LDE5IEBAIHByaXZhdGU6CiAKICAgICBUYWdJZCBt
X3RhZ0lkOwogICAgIFN0cmluZyBtX3VybFRvTG9hZDsKKyAgICBTdHJpbmcgbV9zcmNzZXRWYWx1
ZTsKICAgICBTdHJpbmcgbV9jaGFyc2V0OwogICAgIFN0cmluZyBtX2Nyb3NzT3JpZ2luTW9kZTsK
ICAgICBib29sIG1fbGlua0lzU3R5bGVTaGVldDsKICAgICBib29sIG1fbGlua01lZGlhQXR0cmli
dXRlSXNTY3JlZW47CiAgICAgYm9vbCBtX2lucHV0SXNJbWFnZTsKKyAgICBmbG9hdCBtX2Rldmlj
ZVNjYWxlRmFjdG9yOwogfTsKIAotVG9rZW5QcmVsb2FkU2Nhbm5lcjo6VG9rZW5QcmVsb2FkU2Nh
bm5lcihjb25zdCBLVVJMJiBkb2N1bWVudFVSTCkKK1Rva2VuUHJlbG9hZFNjYW5uZXI6OlRva2Vu
UHJlbG9hZFNjYW5uZXIoY29uc3QgS1VSTCYgZG9jdW1lbnRVUkwsIGZsb2F0IGRldmljZVNjYWxl
RmFjdG9yKQogICAgIDogbV9kb2N1bWVudFVSTChkb2N1bWVudFVSTCkKICAgICAsIG1faW5TdHls
ZShmYWxzZSkKKyAgICAsIG1fZGV2aWNlU2NhbGVGYWN0b3IoZGV2aWNlU2NhbGVGYWN0b3IpCiAj
aWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCiAgICAgLCBtX3RlbXBsYXRlQ291bnQoMCkKICNl
bmRpZgpAQCAtMzYzLDcgKzM3OCw3IEBAIHZvaWQgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6c2NhbkNv
bW1vbihjb25zdCBUb2tlbiYgdG9rZW4sIFZlY3RvcjxPd25QdHI8UHJlbG9hZFJlCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBTdGFydFRhZ1NjYW5uZXIgc2Nhbm5l
cih0YWdJZCk7CisgICAgICAgIFN0YXJ0VGFnU2Nhbm5lciBzY2FubmVyKHRhZ0lkLCBtX2Rldmlj
ZVNjYWxlRmFjdG9yKTsKICAgICAgICAgc2Nhbm5lci5wcm9jZXNzQXR0cmlidXRlcyh0b2tlbi5h
dHRyaWJ1dGVzKCkpOwogICAgICAgICBPd25QdHI8UHJlbG9hZFJlcXVlc3Q+IHJlcXVlc3QgPSBz
Y2FubmVyLmNyZWF0ZVByZWxvYWRSZXF1ZXN0KG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwpOwog
ICAgICAgICBpZiAocmVxdWVzdCkKQEAgLTM4NCw4ICszOTksOCBAQCB2b2lkIFRva2VuUHJlbG9h
ZFNjYW5uZXI6OnVwZGF0ZVByZWRpY3RlZEJhc2VVUkwoY29uc3QgVG9rZW4mIHRva2VuKQogICAg
ICAgICBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMID0gS1VSTChtX2RvY3VtZW50VVJMLCBzdHJp
cExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoaHJlZkF0dHJpYnV0ZS0+dmFsdWUpKS5jb3B5
KCk7CiB9CiAKLUhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVyKGNvbnN0IEhU
TUxQYXJzZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBLVVJMJiBkb2N1bWVudFVSTCkKLSAgICA6
IG1fc2Nhbm5lcihkb2N1bWVudFVSTCkKK0hUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRT
Y2FubmVyKGNvbnN0IEhUTUxQYXJzZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBLVVJMJiBkb2N1
bWVudFVSTCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpCisgICAgOiBtX3NjYW5uZXIoZG9jdW1l
bnRVUkwsIGRldmljZVNjYWxlRmFjdG9yKQogICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXpl
cjo6Y3JlYXRlKG9wdGlvbnMpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUHJlbG9hZFNjYW5uZXIuaAppbmRleCBkMmYyYzExODljMjVmNTBkYjI5MjNmZmIzNGE3
MTI2ZTQyN2EzYjI5Li4xOGVkZGUwMDdiNGZkNTc2YjA3NDZhMDEwMGY3NWE2OTA4Y2M0N2VhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaApA
QCAtNDQsNyArNDQsNyBAQCBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiBjbGFzcyBUb2tlblByZWxv
YWRTY2FubmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUb2tlblByZWxvYWRTY2FubmVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgVG9rZW5Q
cmVsb2FkU2Nhbm5lcihjb25zdCBLVVJMJiBkb2N1bWVudFVSTCk7CisgICAgZXhwbGljaXQgVG9r
ZW5QcmVsb2FkU2Nhbm5lcihjb25zdCBLVVJMJiBkb2N1bWVudFVSTCwgZmxvYXQgZGV2aWNlU2Nh
bGVGYWN0b3IpOwogICAgIH5Ub2tlblByZWxvYWRTY2FubmVyKCk7CiAKICAgICB2b2lkIHNjYW4o
Y29uc3QgSFRNTFRva2VuJiwgUHJlbG9hZFJlcXVlc3RTdHJlYW0mIHJlcXVlc3RzKTsKQEAgLTEx
OCw2ICsxMTgsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IEtVUkwgbV9kb2N1bWVudFVSTDsKICAg
ICBLVVJMIG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkw7CiAgICAgYm9vbCBtX2luU3R5bGU7Cisg
ICAgZmxvYXQgbV9kZXZpY2VTY2FsZUZhY3RvcjsKIAogI2lmIEVOQUJMRShURU1QTEFURV9FTEVN
RU5UKQogICAgIHNpemVfdCBtX3RlbXBsYXRlQ291bnQ7CkBAIC0xMjksNyArMTMwLDcgQEAgcHJp
dmF0ZToKIGNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
Ci0gICAgSFRNTFByZWxvYWRTY2FubmVyKGNvbnN0IEhUTUxQYXJzZXJPcHRpb25zJiwgY29uc3Qg
S1VSTCYgZG9jdW1lbnRVUkwpOworICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihjb25zdCBIVE1MUGFy
c2VyT3B0aW9ucyYsIGNvbnN0IEtVUkwmIGRvY3VtZW50VVJMLCBmbG9hdCBkZXZpY2VTY2FsZUZh
Y3Rvcik7CiAgICAgfkhUTUxQcmVsb2FkU2Nhbm5lcigpOwogCiAgICAgdm9pZCBhcHBlbmRUb0Vu
ZChjb25zdCBTZWdtZW50ZWRTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NGY4M2I5NDlkMDM0NDNlNjQ4YWNj
NTk2YzQwMzI2YTE5YjU2MTUxLi5lNTBkNzhjNWI2MjYwOTIzYTVmMjJkOGQwZTRmOWI5NTAyODNi
M2MzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDgtMDMgIFlvYXYgV2Vpc3MgIDx5b2F2
QHlvYXYud3M+CisKKyAgICAgICAgQWRkIHNyY3NldCBzdXBwb3J0IHRvIEhUTUxQcmVsb2FkU2Nh
bm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5
NDY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L2hpZHBpL2ltYWdlLXNyY3NldC1wcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtcHJlbG9hZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2hpZHBpL3Jlc291cmNlcy9pbWFnZS1mYWxsYmFjay5wbmc6IEFkZGVkLgorCiAy
MDEzLTA4LTAyICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT04gKHIxNTMwMDUpOiBDcmFzaCBpbiBTcGFjZVNwbGl0U3RyaW5nOjpzcGFj
ZVNwbGl0U3RyaW5nQ29udGFpbnNWYWx1ZSBvbiBGYWNlYm9vawpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtcHJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2hpZHBpL2ltYWdlLXNyY3NldC1wcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41MjFhZmZiZjVjNzJmNjNiYTBjOTgwNTA3MDNiNTY4ZWI1ZGVjZWY2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtcHJlbG9hZC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgi
cmVzb3VyY2VzL2ltYWdlLWZhbGxiYWNrLnBuZyIpIGlzIGZhbHNlCitUaGlzIHRlc3QgcGFzc2Vz
IGlmIHRoZSBmYWxsYmFjayBpbWFnZSAoZGVmaW5lZCBpbiB0aGUgc3JjIGF0dHJpYnV0ZSkgd2Fz
bid0IHByZWxvYWRlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpZHBpL2ltYWdl
LXNyY3NldC1wcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpZHBpL2ltYWdlLXNyY3Nl
dC1wcmVsb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJjNTBhYTUzYjUwY2ZiMDgyZjkxMDRiN2FlNjY1
YzNmOGMwYWNiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlkcGkvaW1h
Z2Utc3Jjc2V0LXByZWxvYWQuaHRtbApAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9zcmNzZXQtaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorCis8Ym9keSBpZD0iYm9keSI+CisgICAgPGRpdj5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBm
YWxsYmFjayBpbWFnZSAoZGVmaW5lZCBpbiB0aGUgc3JjIGF0dHJpYnV0ZSkgd2Fzbid0IHByZWxv
YWRlZDwvZGl2PgorICAgIDxpbWcgaGVpZ2h0PSIxMDAiIHdpZHRoPSIxMDAiIHNyYz0icmVzb3Vy
Y2VzL2ltYWdlLWZhbGxiYWNrLnBuZyIgc3Jjc2V0PSJyZXNvdXJjZXMvaW1hZ2Utc2V0LTF4LnBu
ZyAxeCwgcmVzb3VyY2VzL2RlbGV0ZUJ1dHRvbi5wbmcgM3gsIHJlc291cmNlcy9pbWFnZS1zZXQt
MngucG5nIDJ4Ij48L2ltZz4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBpZiAoaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2ludGVybmFscy5pc1ByZWxv
YWRlZCgicmVzb3VyY2VzL2ltYWdlLWZhbGxiYWNrLnBuZyIpJykKKyAgICAgICAgfSwgZmFsc2Up
OworICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9oaWRwaS9yZXNvdXJjZXMvaW1hZ2UtZmFsbGJhY2sucG5nIGIvTGF5b3V0VGVzdHMv
ZmFzdC9oaWRwaS9yZXNvdXJjZXMvaW1hZ2UtZmFsbGJhY2sucG5nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4MWM0
ZGYzZWFmNzhkNWQ0MjAyOWJkOTFiMDVlZDA0NTE5OTdhYjMKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDI5Mgp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXkRJbTxqMVNKMUFGZmp3RSpQYnFwQXIq
N3BVVTF8K3B1bGp6O2xTZkYKeU8wMUB2SHwjcXgkKHEmb3ghdzUodnJEWlhfQENoI2BZP3tZaGlQ
Tnt6UWRzS1ZETlBIYjZNdzwmOyRTaTNVSks7CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>